我需要更新Play商店上的现有应用。因此,自8月份以来,Google还要求提供64位版本。
我已将build.gradle应用程序中提供的说明包括如下:
compileSdkVersion 28
defaultConfig {
applicationId "com..."
minSdkVersion 24
targetSdkVersion 28
versionCode 10
versionName "1.5"
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
ndk {
abiFilters 'arm64-v8a','x86_64','armeabi-v7a','x86'
}
}
和:
拆分{abi {启用true重启()包括'arm64-v8a','x86_64','armeabi-v7a','x86'UniversalApk是}}
我能够按预期生成APK,但不幸的是,arm64-v8a和x86_64版本均不包含任何64位代码。
[当APK armeabi-v7a包含lib / libarm_arch.so时,在Android Studio中分析APK时没有lib目录。
注意,编译过程中不会显示错误消息。
依赖关系会导致此问题,为什么Android Studio无法显示错误消息?
我如何确定为什么不生成64位版本?
我正在使用Android Studio for 3.5。
搜索libarm_arch.so库后,我发现它已链接到FFMPEG。但是我的Gradle依赖项中未引用FFMPEG,而且我仍然找不到如何告诉Android Studio嵌入库的arm68-v8a版本。
感谢您的帮助。
我如何确定为什么不生成64位版本?
来自https://developer.android.com/distribute/best-practices/develop/64-bit#64-bit-libraries
In a typical case, an APK or bundle that's built for both 32-bit and 64-bit architectures will have folders for both ABIs, each with a corresponding set of native libraries. If there's no support for 64-bit, you'll likely see a 32-bit ABI folder but *not a 64-bit folder*.
编辑:如果您只读一个相同的链接https://developer.android.com/distribute/best-practices/develop/64-bit#port-32-to-64您将确认您是否真的在对代码进行任何更改以能够将32移植到64您可能在gradle上做了正确的一步,但在代码中却没有。如果您不提供样品,我无话可说如果您将代码保持在32位并尝试构建到64位,则Android Studio没有什么可抱怨的,它只是将64个文件夹的构建结果保留为空,这是我的第一个回应[]
希望对您有帮助:)