减小Android应用程序的大小

5

我在安卓应用程序大小方面遇到了问题。

情况是这样的,

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

之后,我将我的IDE升级到了Android Studio 2.2,做了一点代码修改,然后apk的大小就变成了51 MB。

我尝试过使用prorogued和Lint,但没有什么优势。

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


3
使用Android Studio 2.2中的APK分析器来确定你的空间去了哪里。由于我们没有你的APK,因此其他人无法帮助你。 - CommonsWare
检查您的资源,如果不需要,请删除,然后使用https://tinypng.com/压缩您的资源。 - Nikunj Paradva
4个回答

3

1) 将所有图片和图标替换为矢量可绘制对象。

2) 像以下方式打开pro guard,在build.gradle应用级别中添加以下行:

**shrinkResources true

minifyEnabled true**

3) 删除未使用的类、可绘制对象、方法和字符串,并使用LINT的私有方法分析器来减少方法数。

JAVA的隐藏成本

4) 在Android Studio 2.2及以上版本中,他们在Build菜单中添加了apk分析工具。使用该工具分析APK。

5) 如果应用程序大小超过100MB,请使用名为split apk的功能。有两种方法可以拆分APK:ABI和密度拆分。


1

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

1
在您的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文件夹的大小。
建议使用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


0
android {
    // Other settings

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

shrinkResources true会在最终的apk中不包含你使用的资源图片。

希望这可以帮到你!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接