0.使用最新版本的 Android Gradle 插件
找到项目跟目录的build.gradle
1.避免激活旧版的 Multidex
minSdkVersion 21(或大于21)(21 之前的 API 级别并没有原生的支持 multidex)
2.禁用 Multiple APK 构建
if (project.hasProperty('devBuild')) {
splits.abi.enable = false
splits.density.enable = false
//禁用 PNG 压缩
aaptOptions.cruncherEnabled = false
}
3.最小化使用资源文件
...
minSdkVersion 21
resConfigs("en", "xxhdpi")
...
4.禁用 PNG 压缩(方法合并到第2条)
5.使用 Apply Changes
6.避免被动的改动
applicationVariants.all { variant ->
variant.outputs.all { output ->
// 删除unaligned apk
if (output.zipAlign != null) {
output.zipAlign.doLast {
output.zipAlign.inputFile.delete()
}
}
/*时间相关的不要加
String time = appBuildTime as String
if (null == time || time.isEmpty()) {
time = getTime()
}
def versionName = VERSION_NAME*/
output.outputFileName = "app_${appBuildTypes}.apk"
}
}
7.不使用动态版本标识
8.Gradle 内存分配调优(合并到第9条)
9.开启 Gradle 构建缓存
# Default value: -Xmx1024m -XX:MaxPermSize=256m
org.gradle.jvmargs=-Xmx5120m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
#守护进程
org.gradle.daemon=true
#并行编译
org.gradle.parallel=true
#开启缓存:
android.enableBuildCache=true
#开启孵化模式:
org.gradle.configureondemand=true
#开启gradle缓存
org.gradle.caching=true
10.设置java版本(直接全局配置)
allprojects {
repositories {
jcenter()
...
}
tasks.withType(JavaCompile) {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
参考资料:
https://blog.csdn.net/devilnov/article/details/53321164