怎样将Gradle构建速度提升90%

一、第一个最有效的办法

检查你使用的Gradle插件版本,是不是最新的。如果不是最新的,请升级到Gradle插件的最新版本。

Gradle在升级过程中一直对构建速度做了优化,升级到Gradle最新版本后,能将构建速度提升80%,这是最有效的办法。

二、Gradle的一些配置项

1、Gradle Daemon

开启Gradle的守护进程来构建项目:

org.gradle.daemon=true

2、Parallel Project Execution

如果你要构建一个多Module并且依赖关系比较复杂的项目,那么你可以使用并行项目执行:

org.gradle.parallel=true

3、Global gradle.properties

在Gradle主目录中配置的属性优先级高于在项目中配置的属性。当你并不想一个个项目的去改动配置时,可以定义一份常用的Gradle配置文件放在Gradle的主目录下,它的路径如下:

/Users/用户名/.gradle/gradle.properties

#Enable daemon
org.gradle.daemon=true

# Try and findout the best heap size for your project build.
org.gradle.jvmargs=-Xmx5120m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

# Modularise your project and enable parallel build
org.gradle.parallel=true

# Enable configure on demand.
org.gradle.configureondemand=true

三、去掉耗时任务

在项目的Terminal下运行如下命令:

gradle build -profile

可以获取构建报告,它是以HTML的形式展示的。

基于上述的优化,我们看一下当前的构建报告:

第一次执行

由于第一次没有构建缓存,因此第一次比较慢,用时5分11秒。

第二次执行

相比较第一次,已经有了很大的进步了,用时1分26秒左右。我们再来看一下这一分26秒是用在哪里了:


在Task Execution(任务执行)中,可以看到每一个项目中耗时最长的竟然是lint任务。lint任务就是静态代码检测,不管你有没有用到lint,默认都会执行这个任务。

由于我们项目中并没有用到lint,所以我们将lint任务去掉,也就是在执行build命令时加上-x lint这个参数,即

gradle build -x lint

第三次执行

可以看到将lint任务去掉后,构建时间只用了26秒,这个时间还是可以接受的。

经过上面的优化后,Gradle构建速度从以往平均4分钟,减少到了26秒,优化率达到了89%。

Tips:使用Android Studio任务栏直接点击运行按钮是不能去掉lint任务的,所以为了方便构建后安装应用,可以使用 gradle installDebug -x lint 命令。

四、结论

Gradle的插件版本对Gradle的构建速度相差很大,由于Gradle版本升级一直致力于提升构建速度,所以强烈推荐升级Gradle版本,以获取最大限度的构建速度,再经过Gradle的一些配置和减少耗时任务,完全可以在40秒之内构建好一个项目。

你可能感兴趣的:(怎样将Gradle构建速度提升90%)