Поиск…


замечания

Чтобы файл 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"
}


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow