首页 > 解决方案 > Android:不要打包原生库

问题描述

我想构建但不打包我的本机库。从文档中它说:

但是,如果您想控制 Gradle 应该构建的内容,而与您希望它打包到 APK 中的内容无关,请在 defaultConfig.externalNativeBuild.cmake 块(或 defaultConfig.externalNativeBuild.ndkBuild 块)中配置另一个 abiFilters 标志。Gradle 构建这些 ABI 配置,但仅打包您在 defaultConfig.ndk 块中指定的配置。

所以我试着这样做:

android {
    defaultConfig {
        externalNativeBuild {
            cmake {
                abiFilters 'armeabi-v7a', 'arm64-v8a'
            }
        }

        ndk {
            abiFilters.clear()
        }
    }
}

但是 APK 仍然包含 lib 文件夹,其中包含所有 *.so 文件。我还尝试使用以下也不起作用的代码段:

android {
    packagingOptions {
        exclude 'lib' // same for lib/** and lib/*/*.so
    }
}

有什么方法可以为每个 ABI 中指定的库构建库,android.defaultConfig.externalNativeBuild.cmake.abiFilters但不要将它们中的任何一个包含在构建的 APK 中?

标签: androidgradleandroid-gradle-plugin

解决方案


推荐阅读