Android アプリケーションがあり、さまざまなフレーバーが必要です。具体的には、2 つのフレーバーを用意し、フレーバーごとに異なる文字列 (異なるstrings.xml
ファイル) を使用し、いくつかのアイコンを異なるものにしたいと考えています。
プロジェクトのルート フォルダーに 2 つのフォルダーを作成しようとしまし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 はどうあるべきですか?
ありがとう