2017-03-23 7 views
0

私はDexGuardを使用し、2種類のビルドタイプ(リリースとデバッグ)に対して4種類の製品フレーバー(prod、qa、dev、mock)を持っていますが、デバッグビルドにDexGuardを有効にしません。 4つの変種(dexguardProdRelease ... dexguardMockRelease)しかし、私はdevと模擬フレーバーのためのDexGuardを有効にしたくありません。特定の製品のフレーバーでのみDexGuardを無効にする

Gradleが提供するvariantFilterについて知りましたが、この場合はプラグインDexGuardとの関連でこのコマンドを使用する方法がわかりません。

答えて

1

私はそうのように解決することができました:

//added to filter dexguard for these flavors 
variantFilter { variant -> 
    def names = variant.flavors*.name 

    if(names.contains("mock") && variant.buildType.name == "release") { 
     variant.ignore = true 
    } else if (names.contains("dev") && variant.buildType.name == "release") { 
     variant.ignore = true 
    } 
} 

そして今、GradleのはdexguardMockReleasedexguardDevReleaseなどのタスクを表示しません。

私は特定のフレーバーを削除するのではなく、DexGuardのフィルタリングを見て間違ってこの問題に近づいていました。私のbuild.gradleの関連部分は以下の通りです:

関連する問題