現在の Android Gradle プラグイン (v1.0+) および Dexguard プラグイン (6.1.+) に対する zatziky の回答からの更新
dexguard プラグイン スイッチを作成するには、次の手順を実行します。
ルートbuild.gradle
にプロパティを追加しますext
(または、まだ作成していない場合は作成します。なぜそれを行うのかについては、こちらを参照してください)
ext {
enableDexGuardPlugin = false
....
}
アプリ build.gradle で、次のようにプラグインを追加します。
apply plugin: 'com.android.application'
if(rootProject.ext.enableDexGuardPlugin) {
apply plugin: 'dexguard'
}
ライブラリプロジェクトがある場合は、このようにします
apply plugin: 'com.android.library'
if(rootProject.ext.enableDexGuardPlugin) {
apply plugin: 'dexguard'
}
getDefaultDexGuardFile('dexguard-release.pro')
必要がない場合は、デバッグビルドタイプ (特に) からすべてのプロガード構成を削除します。残念なことに、少なくとも lib プロジェクトでは、すべてのビルド タイプが assembleDebug でもビルドされるため、zatzikyが言ったgetDefaultDexGuardFile
ようにスタブを提供する必要があります。
private File getDefaultDexGuardFile(String name) { new File(name) }
これをルートに追加して、build.gradle
すべてのスクリプトに含めることができます。
これにより大きなパフォーマンス上の利点を期待していた場合は、がっかりするかもしれません。minifyEnabled
前に述べたように、現在gradle androidはダムであり、すべてのビルドタイプを(少なくともライブラリで)ビルドするため、デバッグビルドですべてを無効にすることが重要です。上記のプロパティを使用できます。enableDexGuardPlugin
release {
...
minifyEnabled rootProject.ext.enableDexGuardPlugin
...
}