作者: | 来源:互联网 | 2023-07-24 10:27
Android项目编译时间一直是开发过程中一个绕不过去的坎。拿到一个新项目先完全清理干净。编译相关版本如下:AndroidStudioBb2021.1.1cla
Android 项目编译时间一直是开发过程中一个绕不过去的坎。拿到一个新项目先完全清理干净。
编译相关版本如下:
Android Studio Bb 2021.1.1
classpath "com.android.tools.build:gradle:7.1.2"
编译debug版本并统计编译耗时
gradlew assembleDebug build --profile
由于项目不太大,目前是2m左右的样子,生成的apk 40M左右。
添加祖传的 gradle 相关编译优化配置
# 组件化开关,true 表示开启组件化,false 表示关闭组件化
componentization=false
# debug包允许安装
android.injected.testOnly=false#使用旧版本合并排序
-Djava.util.Arrays.useLegacyMergeSort=true#优化kapt
# Decrease gradle builds time
kapt.use.worker.api=true#增量编译 kapt1.3.30版本以上支持
kapt.incremental.apt=true
#kapt avoiding 如果用kapt依赖的内容没有变化,会完全重用编译内容,省掉最上图中的:app:kaptGenerateStubsDebugKotlin的时间
kapt.include.compile.classpath=false
# Enable android.databinding.annotationprocessor.ProcessDataBinding (DYNAMIC)
android.databinding.incremental=true#不需要每次启动gradle进程(JVM实例),减少了初始化相关的工作
#daemon可以缓存项目结构,文件,task等,尽可能复用之前的编译成果,缩短编译过程
org.gradle.daemon=true#并行构建
org.gradle.parallel=true
#开启Gradle构建缓存,Gradle3.5以上支持
org.gradle.caching=true
org.gradle.caching.debug=true
android.enableBuildCache=true#开启R8
android.enableR8=true
android.enableR8.libraries=true#编译时为所有构建版本停用firebase性能监控插件。
firebasePerformanceInstrumentationEnabled=false
clean 一次编译