Android Studioの3.5アップデート以降、アプリのビルド時に次の警告が表示されます:
DSL要素「useProguard」は廃止され、間もなく削除されます。 gradle.propertiesで「Android.enableR8」を使用して、R8とProguardを切り替えます。
R8をgradle.propertiesファイルで有効にする:
Android.enableR8=true
そして、「useProguard」をbuild.gradleに削除します:
release {
minifyEnabled true
//useProguard true
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
問題を修正しました。
プロジェクトのgradle.propertiesファイルに以下を設定します
Android.enableR8=true
R8には、Proguardと直接互換性のないフルモードもあります。それを試すために、gradle.propertiesファイルに以下を追加設定することができます
Android.enableR8.fullMode=true
これにより、より多くの最適化が有効になり、アプリのサイズをさらに削減できます。ただし、機能させるためにいくつかの追加の保持ルールが必要になる場合があります。
一目で、 Android Gradleプラグイン3.4. 以上を使用してプロジェクトをビルドすると、プラグインはProGuardを使用してコンパイル時のコード最適化を実行しなくなります。代わりに、プラグインはデフォルトでR8コンパイラーと連携して、アプリの縮小、難読化、最適化を処理します。ただし、特定のタスクを無効にしたり、ProGuardルールファイルを使用してR8の動作をカスタマイズしたりできます。
実際、R8は既存のすべてのProGuardルールファイルで機能するため、R = 8を使用するようにAndroid Gradleプラグインを更新しても、既存のルールを変更する必要はありません。
Android Studio 3.4またはAndroid Gradle plugin 3.4.0以降を使用する場合、R8はプロジェクトのJava Androidプラットフォームで実行されるDEX形式へのバイトコード。ただし、Android Studioを使用して新しいプロジェクトを作成すると、圧縮、難読化、およびコードの最適化はデフォルトでは有効になっていません。以下のコードを使用して有効にできます-
Android {
buildTypes {
release {
// Enables code shrinking, obfuscation, and optimization for only
// your project's release build type.
minifyEnabled true
// Enables resource shrinking, which is performed by the
// Android Gradle plugin.
shrinkResources true
// Includes the default ProGuard rules files that are packaged with
// the Android Gradle plugin. To learn more, go to the section about
// R8 configuration files.
proguardFiles getDefaultProguardFile(
'proguard-Android-optimize.txt'),
'proguard-rules.pro'
}
}
...
}
より冒険的な人のために、R8にはフルモードもあります。それを試すために、gradle.properties
file.3
Android.enableR8.fullMode=true
これにより、より多くの最適化が有効になり、アプリのサイズをさらに削減できます。ただし、機能させるためにいくつかの追加の保持ルールが必要になる場合があります。詳細はこちら- https://youtu.be/uQ_yK8kRCaA