We are trying to use some '.so' prebuilt libraries for our android project. These are:
mpeg.so
& lib_arch.so
When gradle's debuggable
flag is true, our '.so' files are visible in '.apk' file(confirmed using ApkAnalyzer) and they are, also, available in /data/app/<package-name>-jekswbj/lib
folder when app is installed.
When debuggable
flag is set to false, our '.so' files are visible in '.apk' file(confirmed using ApkAnalyzer). But, mpeg.so
is not stored on device when app is installed. Only lib_arch.so
is found.
Following are snippets from my build.gradle
file
// buildTypes: debug {}
debug {
debuggable false
minifyEnabled false
ext.enableCrashlytics = false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
// splits: abi
splits {
abi {
enable true
reset()
include 'x86', 'x86_64', 'arm64-v8a', 'armeabi-v7a'
universalApk true
}
}
Our '.so' files are stored in <module-name>/libs/<abi-name>
folder according to their abi(s). But, they appear in jniLibs
folder as in following image in Android Studio.
So, the mpeg.so
file is found when debuggable
is true, but it is missing when debuggable
is false. What is causing this issue? I can provide more information if you need it.