我在安卓应用程序大小方面遇到了问题。
情况是这样的,
我在Android Studio 2.0中开发了我的安卓应用程序,apk的大小为23 MB。
之后,我将我的IDE升级到了Android Studio 2.2,做了一点代码修改,然后apk的大小就变成了51 MB。
我尝试过使用prorogued和Lint,但没有什么优势。
有人能帮我解决这个问题吗?
我在安卓应用程序大小方面遇到了问题。
情况是这样的,
我在Android Studio 2.0中开发了我的安卓应用程序,apk的大小为23 MB。
之后,我将我的IDE升级到了Android Studio 2.2,做了一点代码修改,然后apk的大小就变成了51 MB。
我尝试过使用prorogued和Lint,但没有什么优势。
有人能帮我解决这个问题吗?
1) 将所有图片和图标替换为矢量可绘制对象。
2) 像以下方式打开pro guard,在build.gradle应用级别中添加以下行:
**shrinkResources true
minifyEnabled true**
3) 删除未使用的类、可绘制对象、方法和字符串,并使用LINT的私有方法分析器来减少方法数。
4) 在Android Studio 2.2及以上版本中,他们在Build菜单中添加了apk分析工具。使用该工具分析APK。
5) 如果应用程序大小超过100MB,请使用名为split apk的功能。有两种方法可以拆分APK:ABI和密度拆分。
减小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
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/topic/performance/reduce-apk-size.html
android {
// Other settings
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
shrinkResources true
会在最终的apk中不包含你使用的资源图片。
希望这可以帮到你!