Android Shriking R8 не отражает каких-либо изменений в размере APK
Когда я добавляю R8, чтобы уменьшить размер Android dex, он не работает. Я добавил следующую строку:
gradle.properties:
android.enableR8=true
Когда я попытался проанализировать мой код, я не смог найти никакой разницы в размере моего apk. Я скучаю по чему-то еще?
Должен ли я добавить какие-либо правила proguard и включить progaurd, добавив следующие строки:
build.gradle
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
1 ответ
Как предложил sgjesse в своем комментарии, вам нужно включить минификацию для всех типов сборки, на которых вы хотите запустить R8.
Например, если вы хотите, чтобы R8 запускался во всех сборках релиза, используйте minifyEnabled
вот так в вашем уровне приложения build.gradle:
android {
buildTypes {
release {
minifyEnabled true
}
}
}
Если вы хотите, чтобы R8 также работал на ваших отладочных сборках, вам нужно будет использовать minifyEnabled
для отладки.
Вы разместили эту строку как часть вашего вопроса:
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
С помощью proguardFiles
это необходимо только в том случае, если у вас есть свои собственные правила, которые вы хотели бы применить в дополнение к правилам по умолчанию proguard-android.txt
файл.
(Вам все еще нужно использовать android.enableR8=true
в вашем файле gradle.properties включить R8 вместо ProGuard, если вы используете версию Android Gradle Plugin/Android Studio до 3.4)