Сервисы Google Play делают Android APK-файл слишком большим - PullRequest
0 голосов
/ 12 ноября 2018

enter image description here

Я читал различные подходы, чтобы уменьшить размер APK, я применил ProGaurd и включил минимизацию - true, shrinkResources-true и т. Д ... но проблема в том,Папка Google gsm занимает большую часть размера APK, мне нужны GCM, Analytics, auth и ads.Я добавил зависимость отдельно для каждого требования.Пожалуйста, скажите мне больше, чтобы уменьшить этот размер папки GSM.будет большая помощь.

1 Ответ

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

Во-первых, зависимый от Android-библиотеки код нельзя удалить как часть оптимизации размера APK. Тем не менее, вы можете использовать следующие способы уменьшить размер APK:

  1. Попробуйте использовать proguard-android-optimize.txt вместо proguard-android.txt. Это может уменьшить еще несколько КБ размера APK в зависимости от библиотек, используемых в вашем проекте (работал для меня).

    release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), "proguard-rules.pro"
            //Other useful parameters
            debuggable false
            jniDebuggable false
            renderscriptDebuggable false
            pseudoLocalesEnabled false
            zipAlignEnabled true
        } 
  2. Сокращение ресурсов, используя следующие

    release {
            ...
            shrinkResources true
            ...
        } 
  3. Удалить локализованные ресурсы, если какая-либо библиотека имеет это

    defaultConfig {
               ...
               resConfigs "en", "fr"
               ...
         }
  4. Попробуйте использовать 9 патч-изображений, если это возможно. Используйте этот метод

  5. Использование векторной графики везде, где возможно
  6. Преобразование изображений в WebP
  7. Попробуйте уменьшить размер PNG-изображения или используйте этот сайт
  8. Добавлять библиотеки, относящиеся только к конкретному виду приложения. Например, Используйте библиотеку объявлений только для бесплатной рекламы. См это
    dependencies {
            freeImplementation 'com.google.firebase:firebase-ads:9.8.0'
        }
  9. Добавление модулей динамических функций в ваше приложение. Эти модули содержат функции и ресурсы, которые вы можете не включать, когда пользователи впервые загружают и устанавливают ваше приложение. Отметьте это
  10. Попробуйте решить проблему сокращения ресурсов, как указано здесь
...