Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Exclude jniLibs folder from Production APK

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?

like image 210
John D. Avatar asked Jun 12 '15 02:06

John D.


1 Answers

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.

like image 64
Alan Zhiliang Feng Avatar answered Sep 24 '22 08:09

Alan Zhiliang Feng