Project structure:
App project --> depends on Library project
Library Project has a folder for the compiled jni libs
jniLibs.srcDirs = [\'li
I'm working with Android Studio 2.1, and I found that adding the sources or sourceSets entry to my build.gradle had no apparent effect. Instead I found that I needed the following:
android {
defaultConfig {
ndk {
moduleName "libmp3lame"
}
}
In the end I didnt need to use product flavours.
For the library project I added the following:
android {
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}
The libs folder had a folder inside called "armeabi-v7a" and as this is my only target it worked a treat.
The ndk files (.so) are propagated into the android project that is using the android library project.
According to this thread:
https://groups.google.com/forum/#!topic/adt-dev/nQobKd2Gl_8
not being able to add .so files to library projects was a bug that was fixed in v0.8 of the plugin.
Example with new android experimental gradle plugin.
Requirements:
1) You could simply put all shared native libraries in the main / jniLibs folder, by default.
Project structure
root folder / android project
root folder / android_project / app / src / main / jniLibs / x86
root folder / android_project / app / src / main / jniLibs / armeabi-v7a
root folder / android_project / app / src / main / jniLibs / ...
Gradle will automatically upload them to the device.
Then you could load the library in an application.
static {
System.loadLibrary("mylibrary");
}
2) You could also put all shared native libraries in the custom location.
Example with a path to the bin / android / Debug directory.
In that case you should manually set the libraries location in the build.gradle file.
Project structure
root folder / android project
root folder / bin / android / Debug / jniLibs / x86
root folder / bin / android / Debug / jniLibs / armeabi-v7a
root folder / bin / android / Debug / jniLibs / ...
root folder / android_project / app / build.gradle
apply plugin: 'com.android.model.application'
model {
android {
sources {
main {
jni {
source {
srcDirs = []
}
}
jniLibs {
source {
srcDirs "/../../bin/android/Debug/jniLibs"
}
}
}
}
}
}