Я работаю с Android studio 1.0.1 & Gradle 1.0.0.Android Studio/Gradle - Конфигурация для специфичных для Flavor Jni libs
Я пытаюсь использовать специфические для JNI библиотеки, имеющие одно и то же имя (и те же точки входа, только внутренний код отличается).
У меня есть два аромата «полный» и «lite», которые на данный момент все еще указывают на тот же jni lib «my-lib.so».
У меня есть следующий проект дерево:
app\
src\
main\
jniLibs\
armeabi-v7a\
my-lib.so
full\
lite\
Я хочу иметь другой «my-lib.so» Библиотека для каждого аромата. Все изменения между вкусами являются внутренними для библиотеки.
Я пытался сделать что-то вроде:
app\
src\
main\
jniLibs\
armeabi-v7a\
my-lib.so
full\
jniLibs\
armeabi-v7a\
my-lib.so
lite\
jniLibs\
armeabi-v7a\
my-lib.so
Но возникает следующее сообщение об ошибке:
Ошибка: дубликаты файлов во время упаковки% пути APK% \ приложение \ построить \ выходы \ APK \ app-lite-debug-unaligned.apk Путь в архиве: lib/armeabi-v7a/my-lib.so Происхождение 1:% путь% \ app \ src \ main \ jniLibs \ armeabi-v7a \ my-lib.so Происхождение 2:% путь% \ приложение \ src \ lite \ jniLibs \ armeabi-v7a \ my-lib.so
я получил следующее Gradle сборки:
apply plugin: 'com.android.application'
android {
compileSdkVersion 19
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "xxxxxxxxx"
minSdkVersion 15
targetSdkVersion 19
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
productFlavors {
lite {
applicationId "xxxxxxxxxxLite"
minSdkVersion 16
targetSdkVersion 19
ndk {
abiFilter "armeabi-v7a"
}
}
full {
applicationId "xxxxxxxxxxxFull"
minSdkVersion 18
targetSdkVersion 19
ndk {
abiFilter "armeabi-v7a"
}
}
}
}
этот вид вещи можно с Gradle? Я пропустил что-то важное? Спасибо за вашу помощь :-)