已經(jīng)使用Android Studio進行開發(fā)超過一年,隨著項目的增大土至,依賴庫的增多购对,構建速度越來越慢,現(xiàn)在最慢要6分鐘才能build一個release的安裝包陶因,在網(wǎng)上查找資料骡苞,發(fā)現(xiàn)可以通過一些配置可以加快速度,這里跟大家分享一下楷扬。
開啟gradle單獨的守護進程
在下面的目錄下面創(chuàng)建gradle.properties
文件:
-
/home/<username>/.gradle/
(Linux) -
/Users/<username>/.gradle/
(Mac) -
C:\Users\<username>\.gradle
(Windows)
并在文件中增加:
org.gradle.daemon=true
同時修改項目下的gradle.properties
文件也可以優(yōu)化:
# 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
同時上面的這些參數(shù)也可以配置到前面的用戶目錄下的gradle.properties文件里解幽,那樣就不是針對一個項目生效,而是針對所有項目生效烘苹。
上面的配置文件主要就是做躲株, 增大gradle運行的java虛擬機的大小,讓gradle在編譯的時候使用獨立進程镣衡,讓gradle可以平行的運行霜定。
修改android studio配置
在android studio的配置中,開啟offline模式廊鸥,以及修改配置望浩。實際上的配置和上面的一大段一樣,主要是在這個地方配置的只會在ide構建的時候生效惰说,命令行構建不會生效磨德。

命令行構建
基于上面的配置,命令行構建時在命令后面加上這個參數(shù)即可 --daemon --parallel --offline
吆视。
引入依賴庫時使用aar
使用網(wǎng)上第三方的依賴庫時盡量使用aar典挑,可以在mavenhttp://gradleplease.appspot.com/或者githuhttps://github.com/Goddchen/mvn-repo搜索。
自己的庫模塊也可以打包成aar揩环,關于這個可以參考stormzhang的文章http://www.stormzhang.com/android/2015/03/01/android-reference-local-aar/搔弄。
后記
經(jīng)過這樣一番折騰,我原來需要4丰滑,5分鐘才能構建完成的項目,現(xiàn)在只需要30秒左右就可以構建完成了倒庵。當然了褒墨,如果你這樣還是不可以的話,那么擎宝,你應該換電腦了郁妈,ssd的硬盤,更大的內(nèi)存绍申,必須的上了噩咪。
原文地址:http://blog.isming.me/2015/03/18/android-build-speed-up/顾彰,轉載請注明出處。