Удаление неиспользуемых ресурсов требует включения сжатия неиспользуемого кода - PullRequest
0 голосов
/ 13 сентября 2018

Я готовлюсь выпустить приложение в производство. Итак, я сгенерировал подписанный apk. После генерации подписанного apk у меня возникла проблема. Размер моего apk-файла немного велик, и я попытался уменьшить размер apk. Я уже попробовал

app -> Refactor -> Удалить неиспользуемые ресурсы

и это не так уж и мало. Итак, я добавил shrinkResources true в свой build.gradle (приложение)

 buildTypes {
        release {
            minifyEnabled false
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

После добавления shrinkResources true и я получил ошибку ниже, когда я перестроил. У меня вопрос, как мне сначала включить уменьшение неиспользуемого кода? Спасибо и ценим.

enter image description here

Ответы [ 3 ]

0 голосов
/ 13 сентября 2018

Возможно, вы захотите обратиться к документации Android, чтобы уменьшить ваш код и ресурсы:

Сократить ваш код и ресурсы

Как уже упоминалось в комментарии, ресурссжатие работает только тогда, когда вы использовали сжатие кода.Чтобы включить shrinkResources в файле build.gradle, сначала необходимо установить minifyEnabled на true

0 голосов
/ 03 июня 2019
android {
    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
        }
    }
}
0 голосов
/ 13 сентября 2018

Сокращение ресурсов работает только в сочетании с сокращением кода.После того, как средство сжатия кода удаляет весь неиспользуемый код, средство сжатия ресурсов может определить, какие ресурсы приложение еще использует.Это особенно верно, когда вы добавляете библиотеки кода, которые включают ресурсы - вы должны удалить неиспользуемый библиотечный код, чтобы ресурсы библиотеки стали не связанными и, таким образом, удаляемыми средством сжатия ресурсов

Чтобы включить сжатие ресурсов, установите для свойства shrinkResources значениеЗначение true в вашем файле build.gradle (наряду с minifyEnabled для сжатия кода).Например:

android {
...
buildTypes {
    release {
        shrinkResources true
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'),
                'proguard-rules.pro'
    }
}

}

ссылка

...