加快AS的Gradle Build速度

随着项目的代码以及依赖库的日益增多,构建的速度倒是愈来愈慢,Android Studio2.0 以后提供了Instant Run貌似福利来了,但通过一段时间的使用发现不尽如人意,最大的吐槽点是首次编译的速度真是慢的让人抓狂,编译当前的项目就得5分钟左右。。。html

因此,我对Instant Run的目前选择是从入门到放弃。。。转而寻求其余方法,将构建耗时从5分钟减小到1分钟多,在此分享给感兴趣的同窗。java

1、建立配置文件

打开Mac用户名下的.gradle文件夹,在如下目录中: 
/Users/username/.gradle/ 
这里写图片描述android

新建一个gradle.properties文件,并在里面添加如下内容android-studio

 
 
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
# Project-wide Gradle settings.# IDE (e.g. Android Studio) users:# Settings specified in this file will override any Gradle settings# configured through the IDE.# For more details on how to configure your build environment visit# http://www.gradle.org/docs/current/userguide/build_environment.html# The Gradle daemon aims to improve the startup and execution time of Gradle.# When set to true the Gradle daemon is to run the build.# TODO: disable daemon on CI, since builds should be clean and reliable on servers org.gradle.daemon=true# Specifies the JVM arguments used for the daemon process.# The setting is particularly useful for tweaking memory settings.# Default value: -Xmx10248m -XX:MaxPermSize=256m org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8# When configured, Gradle will run in incubating parallel mode.# This option should only be used with decoupled projects. More details, visit# http://www.gradle.org/docs/current/userguide/multi_project_builds.html #sec:decoupled_projects org.gradle.parallel=true# Enables new incubating mode that makes Gradle selective when configuring projects.# Only relevant projects are configured which results in faster builds for large multi-projects.# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:configuration_on_demand org.gradle.configureondemand=true

上面的这些参数也能够配置到前面的用户目录下的gradle.properties文件里,那样就不是针对一个项目生效,而是针对全部项目生效。 
上面的配置文件主要就是作, 增大gradle运行的Java虚拟机的大小,让gradle在编译的时候使用独立进程,让gradle能够平行的运行。jvm

2、配置Android Studio的Gradle

在android studio的配置中,开启offline模式,以及修改配置。实际上的配置和上面的一大段同样,主要是在这个地方配置的只会在ide构建的时候生效,命令行构建不会生效。 
这里写图片描述ide

这里写图片描述

3、配置当前项目core下build.gradle

添加dex增量编译 
这仍是一个实验性的功能,可是仍是推荐打开试试,设置dexOptionsgradle

 
 
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
dexOptions { //使用增量模式构建 incremental true//最大堆内存 javaMaxHeapSize "8g"//是否支持大工程模式 jumboMode = true//预编译 preDexLibraries = true//线程数 threadCount = 8 }

以上就配置完毕,若是哪位同窗有更好的方法,欢迎拍砖~ui




相关文章
相关标签/搜索