1. 程式人生 > >Gradle Build速度加快方法匯總

Gradle Build速度加快方法匯總

open gradle echo PV 內容 containe 生效 增量 info

Android Studio用起來越來越順手,但是卻發現Build的速度實在不敢恭維,在google和度娘了幾把(....)之後,大體就是分配更高的內存,步驟:Setting-->搜索gradle-->Build Tools下的Gradle選項,右側Gradle VM options-->改參數-Xmx2048m -XX:MaxPermSize=512m

還一種就是在gradle.properites裏加兩行
org.gradle.parallel=true
org.gradle.daemon=true

以上真的有提升麽。我也不清楚,反正build的速度還在3分鐘上下,這是完全不能接受的,build一次能下一部高清AV,硬盤都快滿了,又要加硬盤了,這個月的夥食質量要下降了,要瘦出8塊腹肌了....

好吧,以上都是廢話,怎麽以閃電般的速度Build呢,設置離線編譯就OK了,like this:

技術分享圖片

這才叫提升,OK?


gradle更換倉庫 解決下載速度慢問題

如果項目裏的maven 倉庫地址比較慢,一般默認是訪問主倉庫,所以比較慢,換用國內的倉庫就好了,推薦換用阿裏雲的倉庫地址

方法一:

這種方法只對當前項目有效

將build.gralde

repositories {
    mavenCentral()
}

換成

allprojects {
    repositories {
        maven{ url ‘http://maven.aliyun.com/nexus/content/groups/public/‘}
    }
}

方法二:

這種解決方法是對所有項目生效的

在gradle目錄裏,新建一個文件init.gradle將以下代碼段粘貼進去。
一般來說,這裏的gradle目錄 默認是:C:\Users\用戶名.gradle ,
當然你也可以自己指定,需要不過需要建立一個環境變量GRADLE_USER_HOME,並且重啟計算機。
比如

GRADLE_USER_HOME = D:\java\gradle
技術分享圖片 配置環境變量

訪問的是阿裏雲的服務器,速度還是蠻快的

allprojects{
    repositories {
        def REPOSITORY_URL = ‘http://maven.aliyun.com/nexus/content/groups/public/‘
        all { ArtifactRepository repo ->
            def url = repo.url.toString()
            if ((repo instanceof MavenArtifactRepository) && (url.startsWith(‘https://repo1.maven.org/maven2‘) || url.startsWith(‘https://jcenter.bintray.com‘))) {
                project.logger.lifecycle ‘Repository ${repo.url} replaced by $REPOSITORY_URL .‘
                remove repo
            }
        }
        maven {
            url REPOSITORY_URL
        }
    }
}

當然如果你發現了,更好的maven倉庫地址,你也可以將以上的阿裏雲的服務器地址換成你想要的地址。



作者:bsqql123
鏈接:https://www.jianshu.com/p/ac4b7302200b
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並註明出處。

加快gradle的編譯速度總結-親身經歷

說明

剛進公司,由於公司準備新地方,所以電腦不夠用,先用自己的電腦開發。然後配置環境,AS運行新項目,第一次大概花了20多分鐘,等得蛋都碎了一地。以為接下來會沒事,鬼知道第二次還是10多分鐘,我直接瘋掉。然後網上查了下資料,總結了一些筆記,分享給大家。

參考網站

  • Android Studio Gradle太慢 解決方案
  • 30秒讓你加速Android Studio/Gradle構建
  • 加速Android Studio/Gradle構建

參考步驟

第一步:配置.gradle文件夾目錄(開啟Gradle單獨守護線程)

  • 在windows系統的C:\Users\用戶名\.gradle目錄下創建gradle.properties文件(有直接用),然後添加以下內容,添加之後會在所以的項目中生效(有內容則並入),添加後全局生效

      org.gradle.daemon=true  // 開啟線程守護,第一次編譯時開線程,之後就不會再開了
      org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8  // 配置編譯時的虛擬機大小
      org.gradle.parallel=true  // 開啟並行編譯,相當於多條線程再走
      org.gradle.configureondemand=true   啟用新的孵化模式
    
  • 還可以在當前項目中的gradle.properties文件中添加以上內容,則只會在當前項目生效

第二步:修改android studio配置

  • Ctrl+Alt+S打開設置選項卡,找到Gradle選項,選中offline work,點擊apply,如下


    技術分享圖片 gradle選項配置
  • 找到Compiler選項,設置如下


    技術分享圖片 compiler選項配置
  • 設置網絡代理,增加訪問網絡速度,具體請參考提供的網站

  • 在具體開發module的build.gradle文件中添加

      dexOptions {
          //使用增量模式構建
          incremental true
          //最大堆內存
          javaMaxHeapSize "8g"
          //是否支持大工程模式
          jumboMode = true
          //預編譯
          preDexLibraries = true
          //線程數
          threadCount = 8
      }
    

第三步:如果編譯還是很慢的話,那就只能添加內容條和固態硬盤了


另一種神速編譯方式,使用命令行腳本的方式編譯

  • 第一步:在目標項目的根節點下創建文件c.bat(名字盡量短) -->構建腳本,內容如下:

      @Echo Off
    
      if /i "%1"=="" goto :default
      if /i "%1"=="i" goto :install
      if /i "%1"=="u" goto :uninstall
      
      ::執行實際的命令
      goto :raw
      
      ::無參數情況下的默認執行命令
      :default
      gradlew iD
      goto :eof
      
      ::實際命令
      :raw
      gradlew %1
      goto :eof
      
      ::安裝所有Debug版本的APK
      :install
      gradlew iD
      goto :eof
      
      ::卸載所有版本的APK
      :uninstall
      gradlew uA
      goto :eof
    
  • 第二步:在AS控制臺的命令行Terminal窗口輸入剛才的文件名,然後回車就好了,編譯成功,然後打開應用

  • 這種方式好像是會更快一些,而且不會導入整個電腦的卡頓,總的來說這種方法應該值得推薦。

總結:經過以上的配置之後,我的編譯速度快了一些,但是還是很漫長需要2-3分鐘,我估計是電腦的原因,該換配置了



作者:笑說余生
鏈接:https://www.jianshu.com/p/200d55b4d40a
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並註明出處。

android sdk manager設置國內鏡像快速下載sdk

萬惡的GFW,Android sdk manager通過google的url下載sdk卡成翔了,在網上找了幾個國內鏡像,親測可用。

Android SDK在線更新鏡像服務器:

中國科學院開源協會鏡像站地址:

IPV4/IPV6: http://mirrors.opencas.cn 端口:80

IPV4/IPV6: http://mirrors.opencas.org 端口:80

IPV4/IPV6: http://mirrors.opencas.ac.cn 端口:80

上海GDG鏡像服務器地址:

http://sdk.gdgshanghai.com 端口:8000

北京化工大學鏡像服務器地址:

IPv4: http://ubuntu.buct.edu.cn/ 端口:80

IPv4: http://ubuntu.buct.cn/ 端口:80

IPv6: http://ubuntu.buct6.edu.cn/ 端口:80

大連東軟信息學院鏡像服務器地址:

http://mirrors.neusoft.edu.cn 端口:80

使用 Android SDK Manager下載sdk時 ,打開主界面,選擇「Tools」、「Options」,彈出『Android SDK Manager - Settings』窗口:

在『Android SDK Manager - Settings』窗口中,在「HTTP Proxy Server」和「HTTP Proxy Port」輸入框內填入 mirrors.neusoft.edu.cn 和 80,並且選中「Force

https://…sources to be fetched using http://…」復選框。

設置完成後單擊「Close」按鈕關閉重新打開即可。如下圖:

技術分享圖片

Gradle Build速度加快方法匯總