Android Shriking R8 не отражает каких-либо изменений в размере APK - PullRequest
0 голосов
/ 01 апреля 2019

Когда я добавляю R8, чтобы уменьшить размер андроида, он не работает. Я добавил следующую строку:

gradle.properties:

android.enableR8=true

Когда я попытался проанализировать мой код, я не смог найти никакой разницы в размере моего apk. Мне чего-то не хватает?

Должен ли я добавить какие-либо правила proguard и включить progaurd, добавив следующие строки:

build.gradle

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

1 Ответ

3 голосов
/ 15 апреля 2019

Как предложил 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 file.

(Вам все равно нужно использовать android.enableR8=true в своем файле gradle.properties, чтобы включить R8 вместо ProGuard, если вы используете версию Android Gradle Plugin / Android Studio до 3.4)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...