【发布时间】:2013-06-10 19:32:53
【问题描述】:
我有一个 android 应用程序,我想有不同的口味。具体来说,我希望有 2 种风味,每种风味使用不同的字符串(不同的 strings.xml 文件),并且可能有一些不同的图标。
我尝试在项目的根文件夹中创建两个文件夹:flav1 和 flav2,并使用了以下build.gradle
android {
compileSdkVersion "Google Inc.:Google APIs:15"
buildToolsVersion "17.0.0"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
instrumentTest.setRoot('tests')
}
productFlavors {
flav1 {
packageName "com.ic.flav1"
}
flav2 {
packageName "com.ic.flav2"
}
}
android.sourceSets.flav2 {
res {
srcDir 'flav2'
}
resources {
srcDir 'flav2'
}
}
android.sourceSets.flav1 {
res {
srcDir 'flav1'
}
resources {
srcDir 'flav1'
}
}
}
这样做的结果是没有一个字符串被识别,出现以下类型的多个错误:
构建失败:
错误:错误:找不到与给定名称匹配的资源(在 'contentDescription' 的值为 '@string/txt_addr')。
我错过了什么吗? build.gradle应该是怎样的?
谢谢
【问题讨论】:
标签: android build gradle android-resources