提问者:小点点

减少apk大小android


我在android中面临应用程序大小的问题。

情况是,

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

之后,我升级我的IDE到android工作室2.2和小代码改造apk的大小提升到51MB。

我尝试了prorogued和Lint,但没有优势。

有人能帮我解决这个问题吗?


共3个答案

匿名用户

1)将所有图像、图标替换为矢量可绘制

2)像遵循goto build. gradleapp级别一样打开专业卫士

并把这些线

收缩资源真

小飞启用真**

3)删除未使用的类、可绘制和方法以及字符串,并使用LINT的私有方法分析器,从而减少方法数量

JAVA的隐藏成本

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

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

匿名用户

在您的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'
      }
  }
}

它减少了类. dex文件和res文件夹的大小。

建议您使用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

匿名用户

减少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