目的
编译出尽可能小的apk.
操作步骤- 创建工程时,语言选择Java,而不是Kotlin.
- 精简res资源
- 从mipmap-xxhdpi复制ic_launcher.png到drawable目录
- 删除res下的所有mipmap目录
- 删除drawable-v24目录
- 精简依赖
- 删除
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
- 修改xml文件布局类型,从ConstraintLayout改成LinearLayout
- 修改build.gradle文件,在release版本中启用minifyEnabled、zipAlignEnabled,禁用debuggable. 大致的build.gradle文件内容如下:
android {
...
signingConfigs {
release {
storeFile file("../xxx.keystore")
storePassword "xxxxxx"
keyAlias "xxxxxx"
keyPassword "xxxxxx"
}
}
buildTypes {
release {
minifyEnabled true
zipAlignEnabled true
debuggable false
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
}
效果
经过上述处理后,编译出来的apk约870k,原始release版本apk大小约1.4M.