28
19

More than 5 years have passed since last update.

gradleで特定のbuild variantを作成しないようにする方法

Posted at

build.gradleでflavourを分けていると、特定のbuild variantは作成したくない時があります。
例えば、staging、developmentのflavourではreleaseビルドしないのでdebugビルドだけやりたい、みたいな場合です。

これを実現するには variantFilterを使います。

build.gradle
    productFlavors {
        development {
            //(略)
        }
        staging {
            //(略)
        }
        production {
            //(略)
        }
    }

    //(略)

    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);
            }
        }
    }

なんでこんなことをするかというと、ビルド高速化のためです。
例えば assembleStagingDebugのようにした場合でも、なんだかReleaseビルドもやってるような動きをします。それだと無駄に時間がかかるので、ちょっとでも速くしようと、必要ないbuild variantは作らない方がいいと思った次第です。

これをやった結果、ビルドがちょっと速くなった気がします。

参考 : Exclude specific build variants

28
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
19