Android開發gradle拉取依賴的加速配置

前言

鏡像配置都是常規操作,必要時也可以上代理.

自己搭的nexus本質也是一種鏡像,可以代理maven中央倉庫.

各個倉庫的測速,可以使用這個腳本:

通過測速,調整倉庫的順序

apply from: 'https://raw.githubusercontent.com/hss01248/flipperUtil/master/deps/depsLastestChecker.gradle'

情況1 :

每次點擊sync project with gradle files 都去拉取某個pom,且那個pom對應的版本真的不存在

耗時:18s

1.去對應gradle緩存裡去看這個庫在不在: 確實不在

2 .看com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.46-androidx這個到底在哪個倉庫中. 直接先去maven中央倉庫搜索:

發現根本就沒有這個版本的庫.

mvnrepository.com/artifact/co…

解決方案:

方案1: 打印依賴樹,看這個版本誰引入的,exclude掉

方案2: 直接強制指定這個庫的版本為項目中實際用的版本,就不會去額外請求這個版本的pom. 如下:

 all {
        resolutionStrategy {
            //gradle 刷新加速. 避免每次去刷新com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.46-androidx
            //2.9.46-androidx不存在,所以每次都會去拉取 ; 
            force 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.49-androidx'

情況2:

每次點擊sync project with gradle files或者build,都去拉一堆的pom,且這些pom對應的版本在gradle cache裡能找到

每次點擊sync project with gradle files,都要耗時3-5min,下載一堆已經存在的庫(gradle cache裡已經有對應的版本)

這時早就配置好瞭下面的

all{
  resolutionStrategy{
  // cache dynamic versions for 10 minutes
    cacheDynamicVersionsFor 24, 'hours'
    // don't cache changing modules at all
    cacheChangingModulesFor 24, 'hours'
  }
}

發現沒有repository裡沒有配置mavenlocal, 配置一下就好瞭

類似這裡提到的:

以上就是Android開發gradle拉取依賴的加速配置的詳細內容,更多關於Android gradle拉取依賴加速的資料請關註WalkonNet其它相關文章!

推薦閱讀: