我是 gradle 新手,想使用带有风味、构建类型和自定义源集的 gradle android 插件。使用风味和构建类型构建作品可以找到。不幸的是,我有一个遗留项目目录结构,所以我必须为 buildtypes 自定义 res 目录。
不知何故,构建类型的附加资源(基本上是一些字符串配置值)似乎没有合并到构建中,也没有替换主树中的资源键。
之前有人问过这个问题,我知道有 Gradle productflavors 源集和旧项目结构 , 我如何指定每个风味 buildType 源集?
我想从第一篇文章中引用 Xavier:“您需要先声明您的风味,然后自定义 sourceSets。”
我了解风味配置会自动创建源集,并且之后需要对其进行修改。这就是我在下面的 build.gradle 中尝试的,但是我为每个 buildtype 添加的“res.srcDirs”似乎被忽略了,我不知道为什么。
在第二篇文章中(最后一条评论带有指向 github 的链接),我在 build.gradle 中看到了复杂的源集修改。还有更简单的方法吗?(见这里:https ://github.com/shakalaca/learning_gradle_android/blob/master/07_tricks/app/build.gradle )
这是我的 gradle android 插件的构建配置:
android {
compileSdkVersion 18
buildToolsVersion "18.0.1"
defaultConfig {
minSdkVersion 9
targetSdkVersion 17
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
productFlavors {
normal {
}
proguard {
proguardFile file("proguard-project.txt")
}
}
buildTypes {
dev {
packageNameSuffix ".dev"
debuggable true
signingConfig android.signingConfigs.debug
}
beta {
packageNameSuffix ".beta"
debuggable true
signingConfig android.signingConfigs.debug
}
live {
packageNameSuffix ".live"
debuggable true
signingConfig android.signingConfigs.debug
}
}
sourceSets.dev.res.srcDirs = ['variations/dev']
sourceSets.beta.res.srcDirs = ['variations/staging']
sourceSets.live.res.srcDirs = ['variations/live']
}