优化项目编译速度

今天记录一下针对于各个项目的通用的一些优化项目编译速度的手段:

1.

针对于项目根目录的gradle.properties文件,可以打开下面的一些配置项:

# 开启守护进程
org.gradle.daemon=true
# 开启并行
org.gradle.parallel=true
org.gradle.configureondemand=true
#目前插件版本默认enableAapt2开关为开
android.enableAapt2=true
org.gradle.caching=true

2.

对于项目的app module,可以针对于debug版本进行如下配置:

buildTypes {
        debug {
            ......
            ext.enableCrashlytics = false
            ext.alwaysUpdateBuildId = false
            crunchPngs false
        }
}

3.

针对于开发阶段,debug模式下我们还可以进行如下配置
项目根build.gradle下可以增加判断是否是debug相关task运行:

def isDebug() {
    def taskNames = gradle.startParameter.taskNames
    for (name in taskNames) {
        if( (name.contains("install") || name.contains("assemble")) && name.contains("De")) {  //简单匹配,类似于assembleDe即认定是debug模式
            return true
        }
    }
    return false
}

然后在app module的android块中进行debug模式判断:

android {
   if (isDebug()){
        // 针对于debug打包进一步作出部分编译优化
        splits.abi.enable = false
        splits.density.enable = false
        aaptOptions.cruncherEnabled = false
        compileOptions.incremental = true
    }

4.如果说项目中使用到了kotlin,在使用了kapt的build.gradle文件加入:

kapt {
    useBuildCache = true
}

在根目录的gradle.properties加入:

kapt.use.worker.api=true 
kapt.incremental.apt=true  
kapt.include.compile.classpath=false

5. 可以对dexOptions进行配置:

android{
......
 dexOptions {
     preDexLibraries true
     maxProcessCount 8
   }
}

另外加大studio的内存情况:
Android Studio 菜单栏Help -> Edit Custom VM Options,配置为-Xmx8g(电脑运存的一半)


image.png

最后附上官方推荐优化项目构建速度

经过上面三个步骤,没有进行过编译优化的项目,其编译速度已经可以有比较多的提升了

其它的我们应当保证及时升级gradle插件以及gradle版本以得到更好的性能提升,针对于debug开发阶段还可以在apt以及transform阶段进行优化,但是这部分不同项目的优化点差异性比较大,就不在此进行记录讨论了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容