web-dev-qa-db-ja.com

proguard-Android.txtとproguard-rules.proの違いは何ですか? -Android

私のbuildTypeには次のように表示されます:

buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
}

いくつか質問があります:

  1. なぜ2つのファイルがあるのですか?
  2. それらの違いは何ですか?
  3. ルールはどこに書くべきですか?
28
MBH

getDefaultProguardFile('proguard-Android.txt')メソッドは、Android SDK tools/proguard/フォルダーからデフォルトのProGuard設定を取得します。proguard-Android-optimize.txtファイルは、このAndroid SDKフォルダーは同じルールですが、最適化が有効になっています。ProGuardの最適化は、メソッドの内部およびメソッド全体でバイトコードレベルで分析を実行し、アプリの小型化と高速化に役立ちます。Android Studioはproguard-rules.proファイルをモジュールのルートに追加するため、現在のモジュールに固有のカスタムProGuardルールを簡単に追加することもできます。

これを参照してください: https://developer.Android.com/studio/build/shrink-code

つまり、カスタムプロガードファイルをproguard-rules.proに追加する必要があることを意味します。いくつかのルールを多くのファイルに分割する場合は、それを実行し、この後に宣言できます。

proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
35
starkshang

getDefaultProguardFile('proguard-Android.txt')は、Android SDKtools/proguardに保存されているProGuard設定を取得します

proguard-rules.proは、モジュールのルートにあるファイルです。目的は、モジュールに固有のカスタムルール(ProGuard)を追加できるようにすることです。

詳細 情報

4
miqdadamirali