1. 程式人生 > >加快AS的Gradle Build速度

加快AS的Gradle Build速度

led read href mod should java se enable mic 推薦

隨著項目的代碼以及依賴庫的日益增多,構建的速度卻是越來越慢,Android Studio2.0 之後提供了Instant Run貌似福利來了,但經過一段時間的使用發現不盡如人意,最大的吐槽點是首次編譯的速度真是慢的讓人抓狂,編譯當前的項目就得5分鐘左右。。。

所以,我對Instant Run的目前選擇是從入門到放棄。。。轉而尋求其他方法,將構建耗時從5分鐘減少到1分鐘多,在此分享給感興趣的同學。

一、創建配置文件

打開Mac用戶名下的.gradle文件夾,在以下目錄中:
/Users/username/.gradle/
技術分享

新建一個gradle.properties文件,並在裏面添加以下內容

# 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
  • 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

上面的這些參數也可以配置到前面的用戶目錄下的gradle.properties文件裏,那樣就不是針對一個項目生效,而是針對所有項目生效。
上面的配置文件主要就是做, 增大gradle運行的Java虛擬機的大小,讓gradle在編譯的時候使用獨立進程,讓gradle可以平行的運行。

二、配置Android Studio的Gradle

在android studio的配置中,開啟offline模式,以及修改配置。實際上的配置和上面的一大段一樣,主要是在這個地方配置的只會在ide構建的時候生效,命令行構建不會生效。
技術分享

技術分享

三、配置當前項目core下build.gradle

添加dex增量編譯
這還是一個實驗性的功能,但是還是推薦打開試試,設置dexOptions


dexOptions {
    //使用增量模式構建
    incremental true//最大堆內存
    javaMaxHeapSize "8g"//是否支持大工程模式
    jumboMode = true//預編譯
    preDexLibraries = true//線程數
    threadCount = 8
}
  • 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

以上就配置完畢,如果哪位同學有更好的方法,歡迎拍磚~


來源: http://blog.csdn.net/xsl_bj/article/details/51819740

來自為知筆記(Wiz)

加快AS的Gradle Build速度