2016-01-01 2 views
11

В моей buildType я вижу это:В чем разница между proguard-android.txt и proguard-rules.pro? - Android

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

У меня есть несколько вопросов:

  1. Почему Есть два файла?
  2. В чем разница между ними?
  3. Где я должен писать свои правила?
+0

вы имели в виду проект-android.txt? В вашем вопросе. – miqdadamirali

+1

@miqdadamirali да, я исправился – MBH

ответ

10

getDefaultProguardFile('proguard-android.txt') метод получает настройки Proguard по умолчанию из tools/proguard/ папку Android SDK. Файл proguard-android-optimize.txt также доступен в этой папке Android SDK с теми же правилами, но с оптимизацией включен. Оптимизации ProGuard выполняют анализ на уровне байт-кода , внутри и между методами, чтобы помочь уменьшить ваше приложение и запустить быстрее. Android Studio добавляет файл proguard-rules.pro к корню модуля, поэтому вы также можете легко добавить собственные правила ProGuard , относящиеся к текущему модулю.

Пожалуйста, обратитесь это: http://developer.android.com/intl/es/tools/help/proguard.html

Это означает, что вы должны добавить свой собственный файл Proguard в proguard-rules.pro, если вы хотите отделить некоторые правила для многих файлов, вы можете сделать это, и объявить их после этого:

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
2

getDefaultProguardFile('proguard-android.txt') восстановит настройки Proguard, которые хранятся в Android SDK в tools/proguard

Файл proguard-rules.pro - это файл, который находится в корне модуля. Цель состоит в том, чтобы вы могли добавлять пользовательские правила (ProGuard), которые являются специфическими для модуля.

Для более Information

Смежные вопросы