加速Android Studio/Gradle構建

已經使用Android Studio進行開發超過一年,隨着項目的增大,依賴庫的增多,構建速度愈來愈慢,如今最慢要6分鐘才能build一個release的安裝包,在網上查找資料,發現能夠經過一些配置能夠加快速度,這裏跟你們分享一下。html

開啓gradle單獨的守護進程

在下面的目錄下面建立gradle.properties文件:java

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

並在文件中增長:android

1
org.gradle.daemon=true

 

同時修改項目下的gradle.properties文件也能夠優化:git

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文件裏,那樣就不是針對一個項目生效,而是針對全部項目生效。github

上面的配置文件主要就是作, 增大gradle運行的java虛擬機的大小,讓gradle在編譯的時候使用獨立進程,讓gradle能夠平行的運行。app

修改android studio配置

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

命令行構建

基於上面的配置,命令行構建時在命令後面加上這個參數便可 --daemon --parallel --offlinemaven

引入依賴庫時使用aar

使用網上第三方的依賴庫時儘可能使用aar,能夠在mavenhttp://gradleplease.appspot.com/或者githuhttps://github.com/Goddchen/mvn-repo搜索。ide

本身的庫模塊也能夠打包成aar,關於這個能夠參考stormzhang的文章http://www.stormzhang.com/android/2015/03/01/android-reference-local-aar/gradle

後記

通過這樣一番折騰,我原來須要4,5分鐘才能構建完成的項目,如今只須要30秒左右就能夠構建完成了。固然了,若是你這樣仍是不能夠的話,那麼,你應該換電腦了,ssd的硬盤,更大的內存,必須的上了。

原文地址:http://blog.isming.me/2015/03/18/android-build-speed-up/,轉載請註明出處。

相關文章
相關標籤/搜索