今回はresのパスをGradleで変更する方法を説明します
まずは、フレーバーを追加します。今回は「first」と「second」を追加しました。
プロジェクトに対して下記のようにディレクトリを作成する。
- 「srcディレクトリ」に新しく「flavorsディレクトリ」を作成する。
- 「flavorsディレクトリ」に新しく「resディレクトリ」を作成する。
- 「resディレクトリ」の下に「firstディレクトリ」と「secondディレクトリ」を作成する。
- 「firstディレクトリ」と「secondディレクトリ」の下にそれぞれ「drawablesディレクトリ」を作成する。
続いて、「androidブロック」の下に「sourceSetsブロック」を追加し、フレーバーと同名のブロックを追加します。
最後にres.srcDirsに上記で作成したパスともともとのresの位置を指定します。
android {
productFlavors{
first{
}
second{
}
}
sourceSets{
first{
res.srcDirs = ['src/res' , 'src/flavors/res/first']
}
second{
res.srcDirs = ['src/res' , 'src/flavors/res/second']
}
}
}
このように使うとフレーバー毎にresの内容を変更することができます。