Gradle 匯入開源工程 常見問題解決方法(持續更新中)
1. build時出現以下錯誤
Cause: peer not authenticated
通常情況下這是HTTPS下載時認證不通過造成的。這時可看出現問題的連結是什麼,如果是下載gradle外掛自身,則可以找到gradle/wrapper/gradle-wrapper.properties 這個檔案。
把檔案中的istributionUrl從Https改為http
如果是下載其載依賴庫造成的,如果是採用jcenter, 則可以用以下程式碼代替。
jcenter {
url "http://jcenter.bintray.com/"
}
2. Android Studio匯入開源軟體。
通常github中的原始碼都自帶gradle,有時匯入後工程各模組並不能很好的顯示,這時需要使用到選單Tools -> Android -> Sync Project with Gradle File,對專案進行重新載入。
3. Error: Configuration with name 'default' not found in Android Studio
原因之一,是由於某個依賴庫由於是外部git, 沒有下載下來,可嘗試:
git submodule init
git submodule update
4. Plugin with id 'android' not found
這是由於新的gradle外掛遇上了舊的gradle指令碼,我們需要更新gradle指令碼到最新的寫法。把第一行(通常)
apply plugin: 'android'
改為
apply plugin: 'com.android.application'
重新編譯指令碼即可。
5。從Eclise匯入到android studio中遇到有資源ID存在,但在打包時又提示找不到資源,這時有可能是對圖片的格式有問題,要確認圖片的格式,比如從JPG改到PNG。
6.引入gradle工程加速
從網上下載的開源專案,有時用studio開啟要很久,這是因為它在下載需要的元件,這個時候,我們可以修改2個地方加快程序。
1)gradle的版本,在gradle/wrapper/gradle-wrapper.properties中,用記事本或是notepad++開啟,修改以下這句中的gradle版本為你常用的版本
distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip
2)android外掛的版本,在gradle指令碼中,
dependencies { classpath 'com.android.tools.build:gradle:1.3.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files }
同樣修改為你的其他工程的相同的版本號。
修改之後,重新用android studio開啟工程,你會發現速度有極大提升。
7.Gradle sync failed: Unable to load class 'org.codehaus.groovy.runtime.StringGroovyMethods'.
或是遇到提示說下載的庫或因網路原因損壞,要求重啟後重新下載,而重啟後問題依舊。這時可以檢視下gradle/wrapper檔案,看看其版本是不是你常用的版本,如果不是,可嘗試修改為常用版本。
distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip