30秒讓你加速Android Studio/Gradle構建

來源:互聯網
上載者:User

30秒讓你加速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. # Project-wide Gradle settings.  
  2.  
  3. # IDE (e.g. Android Studio) users:  
  4. # Settings specified in this file will override any Gradle settings  
  5. # configured through the IDE.  
  6.  
  7. # For more details on how to configure your build environment visit  
  8. # http://www.gradle.org/docs/current/userguide/build_environment.html  
  9.  
  10. # The Gradle daemon aims to improve the startup and execution time of Gradle.  
  11. # When set to true the Gradle daemon is to run the build.  
  12. # TODO: disable daemon on CI, since builds should be clean and reliable on servers  
  13. org.gradle.daemon=true  
  14.  
  15. # Specifies the JVM arguments used for the daemon process.  
  16. # The setting is particularly useful for tweaking memory settings.  
  17. # Default value: -Xmx10248m -XX:MaxPermSize=256m  
  18. org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 
  19.  
  20. # When configured, Gradle will run in incubating parallel mode.  
  21. # This option should only be used with decoupled projects. More details, visit  
  22. # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects  
  23. org.gradle.parallel=true  
  24.  
  25. # Enables new incubating mode that makes Gradle selective when configuring projects.   
  26. # Only relevant projects are configured which results in faster builds for large multi-projects.  
  27. # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:configuration_on_demand  
  28. org.gradle.configureondemand=true  

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

上面的設定檔主要就是做, 增大gradle啟動並執行java虛擬機器的大小,讓gradle在編譯的時候使用獨立進程,讓gradle可以平行的運行。

修改android studio配置

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

命令列構建

基於上面的配置,命令列構建時在命令後面加上這個參數即可 --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的硬碟,更大的記憶體,必須的上了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.