Proguard разрабатывается и поддерживается GuardSquare, а R8 разрабатывается и поддерживается командой Android, что означает, что это два разных продукта, хотя R8 совместим с Proguard.
Как видно отсюда https://www.guardsquare.com/en/blog/proguard-and-r8
Совместимость ProGuard и R8
Хорошая новость для разработчиков заключается в том, что R8обратно совместим с ProGuard.Если у вас есть рабочая конфигурация ProGuard (возможно, эклектически скопированная из Stackoverflow), вы можете перенести ее на R8.В настоящее время он по-прежнему игнорирует некоторые параметры.Примечательно, что R8 не реализует опции -whyareyoukeeping и -addconfigurationdebugging, которые мы считаем необходимыми для быстрого перехода к рабочей конфигурации, как мы объясняли в предыдущем блоге.
Да, android.enableR8 = true
включит функцию R8.
Также обратите внимание, что R8 в настоящее время (на момент выпуска Android Studio 3.2.1) не поддерживает проекты Android Archive Library (AAR).Он используется только при сборке APK-файлов.
Edit # 1
From @ Archie , если вы используете версию плагина Gradle 3.4.0 и выше, R8 - это на по умолчанию.
См .: https://developer.android.com/studio/releases#r8-default
Edit # 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