【问题标题】:Google Play Services makes android apk file too bigGoogle Play Services 使 android apk 文件太大
【发布时间】:2018-11-13 22:55:00
【问题描述】:

我已经阅读了各种减小 APK 大小的方法,我已经应用了 ProGaurd 并启用了 minify - true、shrinkResources-true 等……但问题是 Google gsm 文件夹占用了大部分 APK 大小,我需要 GCM,分析、身份验证和广告。我为每个要求分别添加了依赖项。请告诉我更多以减小此 GSM 文件夹大小。会有很大的帮助。

【问题讨论】:

  • 尝试生成release APK并检查是否仍然获得相同大小的APK。
  • @snj 是的,它确实减少了 1 MB,但我认为这是因为在发布构建期间后端进行了一些优化!我的实际代码是 1.4 MB,其余的都被库占用了。有什么办法可以找到图书馆的大小
  • 我无法在评论中写出所有减小 APK 大小的方法,所以我已经发布了减小 APK 大小的答案。检查它们中的任何一个是否适合您。也可以查看this的答案。
  • 想分享我关于“减少 apk 大小”的演讲speakerdeck.com/pareshmayani/…

标签: android android-studio proguard


【解决方案1】:

首先,作为优化 APK 大小的一部分,不能删除依赖于 android 库的代码。您仍然可以使用以下方法来减小 APK 大小:

  1. 尝试使用 proguard-android-optimize.txt 而不是 proguard-android.txt。根据您项目中使用的库(对我有用),它可以减少更多 KB 的 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 个补丁图像。使用this方法

  5. 尽可能使用vector drawable
  6. 转换WebP中的图片
  7. 尝试减小较大的 PNG 图片尺寸或使用this 站点
  8. 仅添加特定于特定应用风格的库。例如仅免费使用广告库。见this
    dependencies {
            freeImplementation 'com.google.firebase:firebase-ads:9.8.0'
        }
  9. 为您的应用添加动态功能模块。这些模块包含您可以决定在用户​​首次下载和安装您的应用程序时不包含的功能和资产。检查this
  10. 尝试解决给定here的资源缩减问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-21
    • 2019-09-26
    • 1970-01-01
    • 2014-12-04
    • 2013-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多