Android gradleで特定のvariantのみで処理を行う

以下のようなflavorやbuildTypeがある場合にproductReleaseでのみ処理を行いたい場合などがある

flavor

  • develop
  • product

buildType

  • debug
  • release

以下のようにbuild.gradleでflavorやbuildTypeが何なのかを見て特定のvariantを抽出する
抽出したvariantを使って行いたい処理を行うと良い

android {
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    productFlavors{
        develop{}
        product{}
    }

    variantFilter { variant ->
        def names = variant.flavors*.name

        if (names.contains("product") && variant.buildType.name == "release") {
            // do something
            // ex. variant.ignore = true
        }
    }
}