Tôi đang cố gắng xây dựng phổ quát apk cho tất cả các kiến trúc. Dưới đây là cấu trúc dự án của tôi:Android gradle, libs gốc cho các kiến trúc khác nhau
-App
-appModule
-libraryModule
-libs
-armeabi
-lib.so
-src
-java
-jni
Đây là tập tin gradle tôi cho 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'])
}
Như bạn có thể thấy đường dẫn cho thư viện được hardcoded. Và ngay bây giờ nó hoạt động trên bộ vi xử lý arm-v7. Nhưng tôi cần phải thêm hỗ trợ của x86 mà không cần thêm một hương vị
Tôi đã thử biến thể yuor, nó không hoạt động đối với tôi. libresolver.so là một thư viện bên ngoài, vì vậy tôi không nghĩ rằng nó phải có cùng tên với mô-đun. Tôi có mô-đun - ProxyResolver yêu cầu thư viện libresolver.so – Vetalll