我正在尝试为我的项目构建所有ABI,但只希望将其中的一部分打包到我的应用程序中。例如,我想构建“x86”,“x86_64”,“armeabi-v7a”和“arm64-v8a”,但仅打包“x86”(例如)。

阅读“指定ABI”部分下的此文档(https://developer.android.com/studio/projects/gradle-external-native-builds.html#jniLibs),似乎很有可能使用它们提供的摘录作为示例。但是,这似乎不适用于我。

我的代码段如下。

android {
    defaultConfig {
        ndk {
            abiFilters 'armeabi-v7a'
        }
        externalNativeBuild {
            cmake {
                abiFilters 'armeabi-v7a', 'x86'
            }
        }
    }
    externalNativeBuild {
        cmake {
            path "CMakeLists.txt"
        }
    }
}

在上面的代码段中,根据我对文档的理解,它应该同时构建armeabi-v7a和x86,但只能在我的APK中打包armeabi-v7a。虽然这不起作用。

我正在使用Android插件3.1.0和NDK 16.1.4479499

最佳答案

您要查找的内容由拆分控制。

splits {
    abi {
        enable true
        reset()
        include 'armeabi-v7a'
        universalApk false //don't generate an additional APK that contains all the ABIs
    }
}

07-28 02:03