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.
