web-dev-qa-db-fra.com

Quelle est la différence entre proguard-Android.txt et proguard-rules.pro? - Android

Dans mon buildType je vois ceci:

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

J'ai quelques questions:

  1. Pourquoi il y a deux fichiers?
  2. Quelle est la différence entre eux?
  3. Où dois-je écrire mes règles?
28
MBH

La méthode getDefaultProguardFile('proguard-Android.txt') obtient les paramètres ProGuard par défaut à partir du Android SDK tools/proguard/ dossier. Le proguard-Android-optimize.txt le fichier est également disponible dans ce dossier Android SDK avec les mêmes règles mais avec les optimisations activées. Les optimisations ProGuard effectuent une analyse au niveau du bytecode, à l'intérieur et entre les méthodes pour aider à réduire la taille et l'exécution de votre application plus rapide. Android Studio ajoute le proguard-rules.pro fichier à la racine du module, vous pouvez donc facilement ajouter des règles ProGuard personnalisées spécifiques au module actuel.

Veuillez vous référer à ceci: https://developer.Android.com/studio/build/shrink-code

Cela signifie que vous devez ajouter votre fichier proguard personnalisé dans proguard-rules.pro, si vous souhaitez séparer certaines règles en plusieurs fichiers, vous pouvez le faire et les déclarer après ceci:

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

La getDefaultProguardFile('proguard-Android.txt') récupérera les paramètres ProGuard qui sont stockés dans le Android SDK dans tools/proguard

Le proguard-rules.pro est un fichier situé à la racine du module. Le but est de vous permettre d'ajouter des règles personnalisées (ProGuard) spécifiques au module.

Pour plus Informations

4
miqdadamirali