优化Android 编译超长时间问题

优化Android编译超长时间问题


前言:本来在Android studio下编译速度尚可,约1min可以编译完成,但是过了个周末,再次编译时发现编译不通过,或者用时超长,达到1h或30min,明显不属于可开发状态。本次编译主要是利用gradlew assembleRelease进行编译。

步骤一

发现在下载maven时采用地址为“http://maven.aliyun.com/nexus/content/groups/public/”,经过查找发现该地址为老版地址,阿里云提供了新地址“https://maven.aliyun.com/repository/public”,改动后,发现该处编译通过。

记录:通过结果来看,具有一定效果,但是用时很长,且并不能判断一定就是老版仓库有问题。具有一定意义

步骤二

老版仓库改为新版仓库后,编译继续,但是用时可达30min以上,且不一定每次都会完成。故考虑是否为编译环境资源问题。
执行方案:编译时在D:\项目\android\gradle.properties中添加各类限制

rg.gradle.jvmargs=-Xmx8192m
android.enableD8=true
org.gradle.daemon=true

记录:修改jvm大小具有一定意义,而其他含义不明,且效果不明,最终对编译速度没有明显提升

步骤三

在编译过程中发现基本上每次都需要下载gradle,理论上来说不需要每次下载,只要一次就可以。故执行gradle本地下载,防止在“项目path\android\gradle\wrapper\dists”中

记录:该方案是将gradle下载,编译时避免远程下载,可减少部分编译时间。

步骤四

查找编译时耗时位置为 :app:preReleaseBuild;
从网上资料查询可知设备理论上应该只用2ms左右即可通过该项,但实际上可达到15min以上。目标是需要进行快速编译,而该处可以在初次编译之后,实际不用再次编译,只需执行“gradlew assembleRelease -offline”即可,经过时间验证后,编译时间约30s。

总结

采用“gradlew assembleRelease -offline”实际上是离线编译模式,并没有实际解决问题,只能算一种方案或者优化。不过,在实际使用中,并不需要每次编译都从远处仓库中更新,所以该方案在编译时有良好的使用体验。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值