Android開發中遇到的的Gradle相關問題總結

現在,大家都慢慢開始習慣使用Android Studio來開發Android應用了。

在使用過程中,難免碰到一些Gralde相關的使用問題。下面總結我收集整理的一些碰到的問題,以及解決方案:

1. 問題: Maven源倉庫不可用,或者訪問,下載非常慢。

分析: 由于主要的倉庫Maven,Jcenter都在國外,以及眾所周知的原因,這些Maven倉庫可能比較慢。而我們從新建/導入工程開始,就要和Maven源倉庫進行交互,因此,這可能導致我們導入或者打開工程非常的緩慢。

解決方案:

  1. 優先使用國內Maven倉庫鏡像。推薦:阿里云Maven倉庫鏡像

    maven { url “http://maven.aliyun.com/mvn/repository/“ }
    
  2. 使用http協議訪問Maven倉庫。使用下面的倉庫來替換默認的 jcenter() 和 mavenCentral()

    jcenter { url “http://jcenter.bintray.com/"}
    maven { url “http://repo1.maven.org/maven2"}
    
  3. 如果你的項目不需要頻繁從Maven倉庫更新/下載組件,那么強烈建議你打開offline模式。

2. 問題: Android Studio導入工程非常慢,甚至卡死在導入階段。

分析:Android Studio導入工程,默認會采用Gradle Wrapper的方式。也就是當你在本地沒有下載過相應版本的Gradle,在導入工程前,就會去嘗試下載相應版本的Gradle。

關于Gradle Wrapper的配置文件,在項目根目錄下gradle/wrapper下。通常是兩個文件:gradle-wrapper.jar和gradle-wrapper.properties

我們來看看gradle-wrapper.properties文件:

#Mon Dec 28 10:00:20 PST 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip

沒錯,如果你之前沒有通過Gradle Wrapper方式下載過這個版本Gradle,那么你導入工程后,第一件事情就是通過distributionUrl去下載gradle。然而,我們從這個來自Gradle官方的下載地址下載是非常慢的。

解決方案:

1.搭建局域網HTTP服務器,鏡像Gradle主流版本安裝包。

2.在項目根目錄build.gradle配置一個gradle wrapper任務。

task wrapper(type: Wrapper) {
 gradleVersion = '3.1'
 distributionUrl = "http://android-mirror.bugly.qq.com:8080/gradle/gradle-${gradleVersion}-bin.zip"
}

其中:gradleVersion對應gradle版本號,而distributionUrl則是對應版本的Gradle安裝包下載地址。

3.在根目錄下執行gradle wrapper 命令,然后將根目錄下的gradle目錄提交至git倉庫。

3. 問題: 導入工程后,在Gradle Sync階段卡死。

具體表現為:你以前已經在Android Studio中打開該工程,但是當你升級了本地Gradle版本,又或者使用Intellij IDEA打開,你會發現導入很慢。即使進去主界面,Gradle Sync也會處于假死狀態,好像一直在加載什么。。。

分析: 不明

解決方案:根據網上的建議,排除以上原因之后,你可以這么干:刪除工程下的.gradle文件夾,然后重新導入工程。

 

來自:http://www.snowdream.tech/2016/11/27/gradle-issues-with-android/

 

 本文由用戶 LadonnaMett 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!