减少安卓apk大小

Posted

技术标签:

【中文标题】减少安卓apk大小【英文标题】:Reduce apk size android 【发布时间】:2017-03-02 10:39:40 【问题描述】:

我在 android 中遇到了应用大小的问题。

场景是,

我在 Android Studio 2.0 中开发了我的 android 应用,apk 的大小为 23 MB。

之后,我将我的 IDE 升级到了 android studio 2.2,几乎没有修改代码,apk 的大小就增加到了 51 MB。

我尝试使用 prorogued 和 Lint 但没有优势。

谁能帮我解决这个问题。

【问题讨论】:

使用 Android Studio 2.2 中的 APK Analyzer 来确定您的空间去向。没有其他人可以帮助您,因为我们没有您的 APK。 检查您的资源并在不需要时删除,然后使用 tinypng.com 缩小您的资源 【参考方案1】:

1) 将所有的Images,Icons替换为vector drawable

2) 像下面这样打开 pro Guard 转到 build.gradleapp 级别

并把这些行

**shrinkResources 真

minifyEnabled 真**

3) 删除未使用的类、drawable 以及方法和字符串 并使用 LINT 的私有方法分析器来减少方法计数

JAVA's Hidden cost

4) 在 android studio 2.2 及更高版本中,他们在 Build 菜单中添加了 apk analyser 工具。用它来分析APk

5) 如果应用程序大小超过 100mb,请使用称为拆分 apk 的功能。 有两种拆分apk的方法 ABI 和密度分割

【讨论】:

【参考方案2】:

在您的 build.gradle(Module:app) 文件中进行此更改。它减少了 apk 大小几乎 (40-50)%。

android 
// Other settings

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

它减小了classes.dex 文件和res folder 的大小。

建议您使用webp 文件格式而不是BMP, JPG, PNG 以获得更好的压缩效果。

供参考,您可以使用:https://developer.android.com/studio/write/convert-webp.html

更多关于apk压缩的细节可以参考:

https://developer.android.com/topic/performance/reduce-apk-size.html

https://medium.com/how-you-can-decrease-application-size

【讨论】:

【参考方案3】:

减小 APK 大小的要点:

Make sure to do it

1. Use vector drawable
2. Use xml drawable to create simple view
3. Rotate images using xml drawable to reuse (eg. in case of arrow buttons)
4. Create drawable through code
5. Use aaptOptions  cruncherEnabled = false  to compress images
6. Use webP format for large images
7. Avoid enumerations and use @IntDef annotation
8. Use shrinkResources true in gradle to remove unused resources
9. Use resConfig “en” in gradle to remove other localization

【讨论】:

以上是关于减少安卓apk大小的主要内容,如果未能解决你的问题,请参考以下文章

安卓计算APK的应用大小数据大小缓存大小等。

Android减包 - 减少APK大小

IONIC Android Apk 文件大小太大了!如何减小安卓应用程序的大小?

[RN] React Native 打包时 减少 Apk 的大小

您需要将 APK 文件大小减少到 100MB 或使用 APK 扩展文件 [重复]

通过修剪 OpenCV 库来减少 android apk 的大小