问题
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