ProGuardからR8に移行/移行する方法を知りたい。
GradleファイルからProguard関連の行を削除し、代わりにAndroid.enableR8 = true
行を追加するだけですか?
ありがとう。
ProguardはGuardSquareによって開発および保守され、R8はAndroidチームによって開発および保守されます。つまり、R8はProguardと互換性がありますが、2つの異なる製品です。
ここから見られるように https://www.guardsquare.com/en/blog/proguard-and-r8
ProGuardとR8の互換性
開発者にとって朗報は、R8がProGuardと下位互換性があることです。正常に機能するProGuard構成(Stackoverflowから折copied的にコピーされている場合)がある場合、R8に引き継ぐことができます。現在、まだいくつかのオプションを無視しています。特に、R8はオプション-whyareyoukeepingと-addconfigurationdebuggingを実装していません。これらは、前のブログで説明したように、動作する構成にすばやく到達するために不可欠であると考えています。
はい、Android.enableR8 = true
はR8機能を有効にします。
また、R8は現在(Android Studio 3.2.1の時点で)Android Archive Library(AAR)プロジェクトをサポートしていないことに注意してください。 APKファイルを作成する場合にのみ使用されます。
#1を編集
@ Archie から、Gradleプラグインバージョン3.4.0以上を使用している場合、R8は、デフォルトではonです。
参照: https://developer.Android.com/studio/releases#r8-default
#2を編集
ProguardからR8への移行については、以下の手順を実行できます。
1。 Proguardを無効にする
buildTypes { }
構成を更新して、Proguardを無効にします。 release
ビルドタイプの場合:
Android {
...
buildTypes {
release {
useProguard false // <-- disable proguard
minifyEnabled true // <-- enable minification
proguardFiles getDefaultProguardFile('proguard-Android-optimize.txt'), 'proguard-rules.pro'
}
}
...
}
Android Studio 3.4では、useProguard
はデフォルトでfalse
です。また、R8はデフォルトで有効になっています。
2。 (オプション)完全なR8構成レポートファイルの設定
以下の行をproguard-rules.pro
に追加して、プロジェクトをビルドするときにR8が適用するすべてのルールの完全なレポートを出力します。
// You can specify any path and filename.
-printconfiguration <your-path>/full-r8-config.txt
3。難読化されたアプリを生成します。
./gradlew assembleRelease
4。 (オプション)微調整とトラブルシューティング
<your-path>/full-r8-config.txt
を見つけて、構成を微調整するか、トラブルシューティングを行います(ある場合)。
参照:
https://developer.Android.com/studio/build/shrink-code.html#configuration-files