从生产 APK 中排除 jniLibs 文件夹

Exclude jniLibs folder from Production APK

我的应用具有 Gradle 中定义的开发和生产风格。在我的生产风格中,我希望生成的 APK 文件不包含我的 x86 jniLibs 二进制文件。我只将它们用于 genymotion 中的测试,其中一些很大,所以我真的需要 space.

我能让它有点工作的唯一方法是手动删除我的 src/main/jniLibs/x86 文件夹然后构建,但我每次构建时都必须这样做,然后稍后恢复库。有没有更简单的方法使用 gradle/proguard/something?

将库从 app/src/main/jniLibs/x86 移动到 app/src/debug/jniLibs/x86

这是为 RELEASE 构建变体排除 x86 SO 文件的配置:

android {
    buildTypes {
        release {
            ndk {
                abiFilters "armeabi-v7a", "armeabi" // includes ARM SO files only, so no x86 SO file
            }
        }
    }
}

而且,"debug" 构建变体输出中有 x86 SO,因为没有设置过滤器。