1. 程式人生 > >Android Studio/Gradle 編譯加速

Android Studio/Gradle 編譯加速

已經使用Android Studio進行開發超過一年,隨著專案的增大,依賴庫的增多,構建速度越來越慢,現在最慢要6分鐘才能build一個release的安裝包,在網上查詢資料,發現可以通過一些配置可以加快速度,這裡跟大家分享一下。

開啟gradle單獨的守護程序

在下面的目錄下面建立gradle.properties檔案:

  • /home/<username>/.gradle/ (Linux)
  • /Users/<username>/.gradle/ (Mac)
  • C:\Users\<username>\.gradle (Windows)

並在檔案中增加:

1
org.gradle.daemon=true

同時修改專案下的gradle.properties檔案也可以優化:

12345678910111213141516171819202122232425262728
# 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 serversorg.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=256morg.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_projectsorg.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_demandorg.gradle.configureondemand=true

同時上面的這些引數也可以配置到前面的使用者目錄下的gradle.properties檔案裡,那樣就不是針對一個專案生效,而是針對所有專案生效。

上面的配置檔案主要就是做, 增大gradle執行的java虛擬機器的大小,讓gradle在編譯的時候使用獨立程序,讓gradle可以平行的執行。

修改android studio配置

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

命令列構建

基於上面的配置,命令列構建時在命令後面加上這個引數即可 --daemon --parallel --offline

引入依賴庫時使用aar

後記

經過這樣一番折騰,我原來需要4,5分鐘才能構建完成的專案,現在只需要30秒左右就可以構建完成了。當然了,如果你這樣還是不可以的話,那麼,你應該換電腦了,ssd的硬碟,更大的記憶體,必須的上了。