android-gradle
Усадочный код и ресурсы
Поиск…
замечания
Чтобы файл APK был как можно меньше, вы должны включить сокращение, чтобы удалить неиспользуемый код и ресурсы в вашей версии сборки.
Сжатие кода с помощью ProGuard
Чтобы включить сокращение кода с помощью ProGuard, добавьте minifyEnabled
true в соответствующий тип сборки в файле build.gradle
.
android {
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile(‘proguard-android.txt'),
'proguard-rules.pro'
}
}
}
где:
-
minifyEnabled true
: включить сокращение кода - Метод
getDefaultProguardFile('proguard-android.txt')
получает настройки ProGuard по умолчанию из Android SDK - Файл
proguard-rules.pro
- это то, где вы можете добавить пользовательские правила ProGuard
Уменьшить ресурсы
Чтобы включить сокращение ресурсов, установите для свойства shrinkResources
значение true в файле build.gradle
.
android {
...
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
Обратите внимание, поскольку сокращение ресурсов работает только в сочетании с сокращением кода .
Вы можете настроить, какие ресурсы хранить или отбрасывать создание XML-файла следующим образом:
<?xml version=1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
tools:keep="@layout/mylayout,@layout/custom_*"
tools:discard="@layout/unused" />
Сохраните этот файл в папке res/raw
.
Удалить неиспользуемые альтернативные ресурсы
Все библиотеки поставляются с ресурсами, которые не являются полезными для вашего приложения. Например, Google Play Services поставляется с переводами на языки, которые ваше собственное приложение даже не поддерживает.
Вы можете настроить файл build.gradle, чтобы указать, какой ресурс вы хотите сохранить.
Например:
defaultConfig {
// ...
resConfigs "en", "de", "it"
resConfigs "nodpi", "xhdpi", "xxhdpi", "xxxhdpi"
}