Exclude jniLibs folder from Production APK

安稳与你 提交于 2019-12-07 05:55:41

问题


My app has a dev and production flavor defined in Gradle. In my production flavor, I would like the resulting APK file to NOT have my x86 jniLibs binaries. I only use them for testing in genymotion, and some of them are large so I really need the space.

The only way I can get this to kinda work is by manually deleting my src/main/jniLibs/x86 folder then building, but I then have to do this every time I build, and then restore the libs later. Is there a simpler way using gradle/proguard/something?


回答1:


Here is the configuration to exclude x86 SO file for RELEASE build variant:

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

And, there is x86 SO in the "debug" build variant output since no filter is set.




回答2:


Move the lib from app/src/main/jniLibs/x86 to app/src/debug/jniLibs/x86



来源:https://stackoverflow.com/questions/30794584/exclude-jnilibs-folder-from-production-apk

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!