我使用Android Studio构建了带有多个ABI armeabi-v7a和x86的外部原生构建库。问题是,当我建立了项目库,在这些文件夹:Android Studio将外部原生构建库从多个ABI复制到jniLibs
App/.externalNativeBuild/cmake/debug/armeabi-v7a/libs/armeabi-v7a/libApp.so
App/.externalNativeBuild/cmake/debug/x86/libs/x86/libApp.so
,他们应该是在这些位置内,以正确的设备上找到:
App/src/main/jniLibs/armeabi-v7a/libApp.so
App/src/main/jniLibs/x86/libApp.so
有一种可以生成或直接构建到jniLib中的方法?目前我手工完成了符号链接,但是我希望有自动化的方式来处理不同的ABI和不同的配置。 这是我目前gradle这个脚本:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.org.app"
minSdkVersion 19
targetSdkVersion 19
ndk {
abiFilters 'armeabi-v7a', 'x86'
stl = "c++_static"
}
externalNativeBuild {
cmake {
arguments "-DCMAKE_BUILD_TYPE=Release"
}
}
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt')
}
}
externalNativeBuild {
cmake {
path '../../../CMakeLists.txt'
}
}
sourceSets.main {
jni.srcDirs = []
jniLibs.srcDir 'src/main/jniLibs'
}
}