我有一个 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'
}
}
}
这样做的结果是没有一个字符串被识别,出现以下类型的多个错误:
build FAILED :
error: Error: No resource found that matches the given name (at 'contentDescription' with value '@string/txt_addr').
我错过了什么吗? build.gradle应该是怎样的?
谢谢
最佳答案
解决办法是添加目录
values
在每个对应的res文件夹下,所有的字符串都被识别出来了。
关于android - 使用 gradle 为不同的应用程序风格使用不同的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17103601/