Sto provando a creare apk universale per tutte le architetture. Qui è la mia struttura del progetto:Gradle Android, librerie native per diverse architetture
-App
-appModule
-libraryModule
-libs
-armeabi
-lib.so
-src
-java
-jni
Ecco il mio file Gradle per libraryModule:
apply plugin: 'com.android.library'
// http://stackoverflow.com/questions/28485309/how-to-build-single-apk-with-andoid-ndk-and-gradle
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
ndk {
moduleName "ProxyResolver" // <-- This is the name of AndroidProxy native module
stl "gnustl_shared"
cFlags "-std=c++11"
abiFilters = ['armeabi']
ldLibs (projectDir.absolutePath + "/libs/armeabi/libresolver.so")
}
}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
Come si può vedere il percorso per la libreria è hardcoded. E in questo momento è funziona su processori arm-v7. Ma ho bisogno di aggiungere il supporto di x86 senza l'aggiunta di un sapore
Ho provato la tua variante, non funziona per me. libresolver.so è una libreria esterna, quindi non penso che dovrebbe essere con lo stesso nome del modulo. Ho un modulo - ProxyResolver che richiede così libreria libresolver.so – Vetalll