项目打包apk到达50M(加入高德地图和视频播放的SDK),之前打包才20M多。如何减少apk的大小:
Android studio有个分析apk的功能,可以查看apk的结构

选择apk文件

可以看到apk中的文件的大小所占的比例

apk大小主要取决于lib、assets、res和.dex文件的大小。所以减小apk大小就是如何减小lib、assets、res和.dex文件的大小。
展示lib的所有文件,看到了针对各种CPU架构的文件(里面就是.so文件)

对于lib,可以限制支持的cpu架构,来减小lib的大小
//app.gradle
defaultConfig {
...
ndk {//设置支持的cpu架构
abiFilters "armeabi", "armeabi-v7a"//, "x86", "arm64-v8a", "x86_64"
}
}
我只设置两个最常用cpu架构(覆盖绝大部分手机),再次打包,并对apk进行分析

这时,lib文件只包含了两个cpu架构的.so文件,大小减小超过了一半。
对于如何减小assets、res和.dex文件,这需要细致的操作了(打包开启压缩代码、移除无用资源)