天天看點

加速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

檔案也可以優化:

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可以平行的運作。

修改android studio配置

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

加速Android Studio/Gradle建構
加速Android Studio/Gradle建構

指令行建構

基于上面的配置,指令行建構時在指令後面加上這個參數即可 

--daemon --parallel --offline

引入依賴庫時使用aar

使用網上第三方的依賴庫時盡量使用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/。

後記

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

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

繼續閱讀