Gradle swap jniLibs ресурсы, основанные на сборке
Я пытаюсь обменять некоторые ресурсы вres/raw
папка иjniLibs/armeabi
папка на основе ли егоrelease buildType
илиdebug buildType
, У меня в настоящее время также есть два продукта.
Файл build.gradle:
apply plugin: 'com.android.application'
android {
dexOptions {
preDexLibraries = false
}
compileSdkVersion 21
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.example.test"
minSdkVersion 17
targetSdkVersion 22
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
productFlavors{
phone{
applicationId "com.example.testPhone"
}
tablet{
applicationId "com.example.testTablet"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
sourceSets{
release{
res.srcDirs = ['androidRelease/res/raw']
}
}
}
dependencies {
compile project(':facebook')
}
ИспользуетsourceSet
правильный способ сделать это? Если это так, какую папку следует создать, чтобы она поменялась соответствующими ресурсами на основеbuildType
только и независимо отproductFlavors
?
РЕДАКТИРОВАТЬ: возможно ли даже поменятьсяjniLibs
а такжеraw
ресурсы папки?
Структура папки:
src/main/jniLibs/armeabi
phoneRelease/jniLibs/armeabi
tabletRelease/jniLibs/armeabi
Структура папок правильная?
РЕДАКТИРОВАТЬ 2: Основываясь на ответе Ксавьера, должен ли ученик выглядеть так:
android {
sourcesets {
phone {
jniLibs.srcDirs = ['phoneRelease/jniLibs/']
res.srcDirs = ['androidRelease/res/raw']
}
tablet {
jniLibs.srcDirs = ['tabletRelease/jniLibs/']
res.srcDirs = ['androidRelease/res/raw']
}
}
}
Я продолжаю читать много противоречивых ответов, некоторые из них упоминают, что вам просто нужны отдельные папки в зависимости от варианта сборки, а некоторые упоминают о необходимости использованияsourceSet
? Спасибо!