无法在Android Studio中创建具有64位lib的APK

问题描述 投票:-1回答:1

我需要更新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版本。

感谢您的帮助。

android android-studio 32bit-64bit android-ffmpeg
1个回答
-1
投票

我如何确定为什么不生成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个文件夹的构建结果保留为空,这是我的第一个回应[]

希望对您有帮助:)

© www.soinside.com 2019 - 2024. All rights reserved.