首先,不要建议我official documentation或this。当我们使用预定义的textview从Android Studio构建应用程序时,只显示" hello world",它会生成一个超过1.2MB的APK。但是Playstore上的一些应用程序可以在500KB以下获得,具有很多功能。我已经应用了Android Studio的所有功能,如proguard,minifyEnabled等,但这没有用。那么,我怎样才能达到这种压缩水平呢?
答案 0 :(得分:8)
减少APK尺寸的要点:
1.使用矢量绘图
2.使用xml drawable创建简单视图
3.使用xml drawable旋转图像以重复使用(例如,在箭头按钮的情况下)
4.通过代码创建drawable
5.使用aaptOptions {cruncherEnabled = false}压缩图像
6.对大图像使用webP格式
7.避免枚举并使用@IntDef注释
8.在gradle中使用shrinkResources true删除未使用的资源
9.在gradle中使用resConfig“en”删除其他本地化
答案 1 :(得分:6)
问题可能出在support library。将com.android.support:appcompat-v7:27.0.2
添加到空项目会将APK大小从80 KB增加到1.3 MB。因此,如果你的minSDK足够高并且你不需要它的辅助类,你就可以摆脱它。
您可以使用APK Analyzer查看实际占用空间的内容。
答案 2 :(得分:6)
从Android Studio创建新项目时,IDE会自动为项目添加一些依赖项。
dependencies {
// ...
implementation fileTree(dir: 'libs', include: ['*.jar'])
// implementation 'com.android.support:appcompat-v7:26.1.0'
// implementation 'com.android.support.constraint:constraint-layout:1.0.2'
// ...
}
如果您捆绑support library
和constraint layout library
,即使您不添加任何代码,您的发布版本也会迅速增加。
如果删除支持库和约束布局库,只需使用所有系统API,就可以得到一个非常小的apk。
删除支持库后,您应该
使用Activity
而不是AppCompatActivity
,YourActivity extends Activity
请勿在{{1}}
使用AndroidManifest.xml
替换布局中的FrameLayout
答案 3 :(得分:-2)
感谢您发布alijandro,makovkastar和Sanjay Manjoka个人。在阅读了你的答案并在互联网上挣扎之后,我发现: