Android Gradle - 全面加速 Gradle Build 编译

不知道你有没有发现每次运行项目的时候build时间都格外长,浪费了很多时间?如果你是为了解决这样的问题,那么该篇应该蛮适合你~

Gradle 相关

提示:不论以何种方式优化编译速度,都需要我们重启As才会生效

AndroidStudio 内置操作

提示:配或不配均可,因为后续我们会统一进行配置

查看执行内存、分配内存

这里写图片描述

放大图(方便查看)

这里写图片描述

如无法查看,请根据下图进行设置

这里写图片描述


Gradle 提速方式

关于Gradle的提速方式可能有很多,但是在我目前已有的认知中主要有提升As内存分配、配置Gradle熟悉、使用Gradle离线缓存、采用国内镜像下载方面

As内存分配

内配分配的大小取决于你电脑配置,一般的电脑配置都可以进行如下设置

步骤:

  • 修改AndroidStudio的内存分配

这里写图片描述

  • 修改 studio64.exe.vmoptions 文件内数据(友情提示:可重命名文件后缀以满足修改需要,改完之后记得改回来!)

参数介绍

-Xms1024m //JVM启动的起始堆内存
-Xmx4096m //AndroidStudio能使用的最大heap内存
-XX:MaxPermSize=1024m //最大的Permanent generation大小。存放的事类本身(不是对象),以及方法,一些固定的字符串等等。
-XX:ReservedCodeCacheSize=512m //设置JIT java compiler在compile的时候的最大代码缓存
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=300

此为修改后的参数图


修改后的参数代码

-Xms1024m
-Xmx2048m
-XX:ReservedCodeCacheSize=1024m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djna.nosys=true
-Djna.boot.library.path=

-da
可能遇到的问题

注意事项 - 如按照上图修改且重启As之后编译速度没有改善,那么请按照下图看是否进行如此操作!

主要目的是查看你是否下载过多个版本的 AndroidStudio,导致配置和运行的不统一,从而导致看起来的设置失败~

  • 用户目录,查看对应版本的As

这里写图片描述

  • 查看是否有此文件,如有则修改~

这里写图片描述

Gradle配置

小课堂:gradle.properties中允许我们进行各种配置, 具体配置需要针对自身进行选择,随意配置大内存可能会出现oom,以下是一些常见的配置设置 ~

功能设置
配置内存org.gradle.jvmargs=-Xmx2048m -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.properties 加入配置

 org.gradle.parallel=true
 org.gradle.daemon=true

如图所示
这里写图片描述

离线编译

注意:离线编译的使用建立在你当前没有新的依赖,如果你项目属于开发的繁忙阶段,个人不建议进行此项设置!!!

如果项目相对平稳,没有新的三方库需要引用,那么可以用离线编译 这种优化方式去提升编译速度

  • Stttings - Gradle 进行设置

这里写图片描述

国内镜像

关于国内镜像的配置,我觉得每个项目中应该都有,这个主要作用在我们编辑项目时下载远端资源太慢的场景,关于镜像的使用借鉴了此处~

使用国内阿里云镜像依赖包下载地址替换为Google依赖包下载地址,可以提高非Offline模式下快速下载项目依赖的包,使得编译项目达到秒级

示例图

这里写图片描述

build.gradle(Project)

  • repositories 加入以下Code
  //阿里云地址
  maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
  maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }
  • allprojects 加入以下Code
  //阿里云地址
  maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
  maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }
  maven { url "https://jitpack.io" }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

远方那座山

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值