更新到Gradle插件3.0.0 beta 4后,我们的构建失败并显示以下消息:
buildTypeMatching已被删除.使用buildTypes.<name> .fallbacks
我们的库有release和debug buildTypes,但我们的应用程序还有两个附加buildType的:'releaseWithLogs'和'debugMinified'.
我们的应用程序 Gradle文件的片段:
android {
// ...
buildTypeMatching 'releaseWithLogs', 'release'
buildTypeMatching 'debugMinified', 'debug'
buildTypes {
debug {
// ...
}
debugMinified {
// ...
}
release {
// ...
}
releaseWithLogs {
// ...
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用RecyclerViewwith AsyncListDiffer(计算和动画旧项目和新项目之间的差异,全部在后台线程上)。
我有一个按钮可以对列表进行排序。在我对其进行排序并将其重新设置为RecyclerView使用后,mDiffer.submitList(items);我还调用了recyclerView.scrollToPosition(0)或 ( smoothScrollToPosition(0)),但它没有任何效果。
我认为这种行为是意料之中的,因为AsyncListDiffer在scrollToPosition(0)调用时可能仍在计算差异,因此它没有任何影响。此外,默认情况下AsyncListDiffer不会滚动回顶部,而是将 RecyclerView 保持在相同的状态。
但是如何RecyclerView在AsyncListDiffer完成后告诉滚动到顶部并更新它?
android android-recyclerview android-asynclistdiffer android-diffutils
我用 NDK 开发了 Android 应用程序。我更新了 Android Studio cur.ver。2.2.2 运行应用程序。应用程序已安装在设备中。但是现在它没有在 Marshmallow 设备中更新,否则工作正常。在运行控制台中出现以下错误。当android:extractNativeLibs="false"在AndroidManifest.xml中。如果android:extractNativeLibs="true"然后应用程序正在设备中更新。
$ adb shell pm install -r "/data/local/tmp/"
pkg:/data/local/tmp/ 失败 [INSTALL_FAILED_INVALID_APK]
为什么会发生这种情况?谁能给我解释一下?
android android-ndk android-manifest android-studio android-6.0-marshmallow
在尝试将 admob 和 api 级别更新为 API 28 后,我收到了以下 Lint 警告:
Missing permissions required by MobileAds.initialize: android.permission.INTERNET
Run Code Online (Sandbox Code Playgroud)
调用这些函数时:
MobileAds.initialize(context, context.getString(R.string.app_id));
mInterstitialAd.loadAd(new AdRequest.Builder().build());
Run Code Online (Sandbox Code Playgroud)
这怎么可能?
我记得android.permission.INTERNET很多年前就不需要了。应用程序无需使用该权限即可访问 Internet。即使在这个应用程序中,我也有一些 Internet 连接并且它们运行成功。我正在检索数据并且它正在工作,甚至还在显示广告。所有这些都未经清单上声明的许可。
为什么 Lint 会显示该警告?