product flavorを開発環境・テスト環境・本番環境などで分けることはよくあると思うが、 その場合開発環境・テスト環境版はreleaseビルドさせたくないだろう。
そういう場合にbuild variantの一部をビルド対象としないようにするにはvariantFilterを使う。
android {
productFlavors {
production {
...
}
staging {
...
}
development {
...
}
}
// ステージング環境・開発環境用モジュールはdebugビルドのみとする
variantFilter { variant ->
if(variant.buildType.name.equals('release')) {
if (variant.getFlavors().get(0).name.contains('staging') || variant.getFlavors().get(0).name.contains('development')) {
variant.setIgnore(true);
}
}
}
}
参考: