flavor1 と flavor2 という 2 つの productFlavor があり、flavor ごとに名前が同じで値の異なる変数を使いたいとき、flavor1 向けの変数を定義した flavor1.gradleと flavor2 向けの変数を定義した flavor2.gradleを用意したとして、どのように apply from で読み込むファイルを切り替えるか。
flavor1.gradle
ext {
versionMajor = 1
versionMinor = 2
}
flavor2.gradle
ext {
versionMajor = 1
versionMinor = 2
}
versionCode や versionName は productFlavor ごとに変えられて、flavor1 や flavor2 といった flavor のなかで apply from が効くので次のようにします。
android {
productFlavors {
flavor1 {
apply from: 'flavor1.gradle'
versionCode = versionMajor * 100 + versionMinor
versionName = "${versionMajor}.${versionMinor}"
}
flavor2 {
apply from: 'flavor2.gradle'
versionCode = versionMajor * 100 + versionMinor
versionName = "${versionMajor}.${versionMinor}"
}
}
}
変数にしたのにそれぞれの productFlavor で versionCode と versionName を入れてやらないといけないのは冗長ですが仕方がない。。。