构建所有ABI但仅打包子集

时间:2018-04-04 17:49:23

标签: android gradle android-ndk

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

在#34;指定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

1 个答案:

答案 0 :(得分:2)

你在寻找什么,由分裂控制。

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