Gradle 依賴庫下載
在我們使用Gradle下載相關依賴庫的時候,經常會出現下載過慢或者下載不了的情況。相關原因及嘗試解決辦法如下:
無法找到目標路徑
//原因:無法找到到請求目標的有效認證路徑
Cause: unable to find valid certification path to requested target
可能是AS開啓了離線模式,關閉離線模式後重新嘗試或許可以解決。
無法訪問對應jar包的下載地址
可能是代碼所在倉庫未添加到build.gradle
文件中,我們可以做如下修改
allprojects {
repositories {
google()
jcenter()
mavenCentral()
mavenLocal()
//聲明特定的代碼庫
maven {
url '**'
}
}
}
Android Studio 項目會將 Google 的 Maven 代碼庫和 JCenter 指定爲項目的頂級 build.gradle 文件中的代碼庫位置,
如果要從 Maven 中央代碼庫獲取某些內容,則添加 mavenCentral();對於本地代碼庫,則使用 mavenLocal(),
我們也可以使用 maven{ url ‘**’ }來聲明特定的代碼庫。
項目存儲位置和本地緩存庫不一致
Android studio 編譯項目是有緩存的,不會每次編譯都去下載三方庫,下載過的三方庫都存儲在本地,位置:C:\{user}\ .gradle\caches\transforms-1\files-1.1
項目中使用三方庫的配置文件存儲在 .idea/libraries/
,我們需要保證項目中的配置文件指向的是正確的地址。
下載過慢的處理
如果遇到下載過慢,我們可以使用翻牆軟件,或者使用國內鏡像,比如使用開源中國的maven代碼倉庫,
http://maven.aliyun.com/nexus/content/groups/public/
,注意是把jcenter註釋掉
創建本地代碼倉庫
如果上述方式都無法解決,我們可以嘗試創建本地倉庫,然後從網上下載對應的jar/aar,及其pom文件,放置在本地倉庫中引用。
1、下載 maven 壓縮包
2、配置環境變量
將下載的 maven 壓縮包解壓到本地,然後將路徑配置到環境變量中。
安裝後,在命令行輸入mvn -v
驗證是否配置成功
3、配置 maven 本地倉庫地址
修改settings.xml
文件如下,添加本地倉庫地址
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>D:\localRepository</localRepository>
4、下載對應jar/aar包
如果我們知道地址可以直接下載,或者網上查詢對應的下載地址。不過在我們編譯時Android studio 會告訴我們哪些三方庫下載不了,提示裏面就有對應的下載地址。
我們以 arcgis-android:100.6.0
爲例,AS 提示如下:
Could not resolve all files for configuration ':device:debugCompileClasspath'.
> Could not download arcgis-android.aar (com.esri.arcgisruntime:arcgis-android:100.6.0)
> Could not get resource 'https://esri.bintray.com/arcgis/com/esri/arcgisruntime/arcgis-android/100.6.0/arcgis-android-100.6.0.aar'.
//....
- 我們使用瀏覽器打開
https://esri.bintray.com/arcgis/com/esri/arcgisruntime/arcgis-android/100.6.0/
可以看到裏面有我們需要的兩個文件
5、本地倉庫中創建對應目錄
我們要在本地代碼倉庫中創建和下載地址相同的相對路徑(目錄)
其實通過下載地址和我們本地配置的arcgis的d代碼庫就可以看出來,AS是怎麼對需要下載的文件進行尋址的。
- 我們項目中配置的arcgis代碼倉庫
maven {
url 'https://esri.bintray.com/arcgis'
}
- 下載地址
- 創建對應的目錄
手動一個個目錄的創建有些吃力,我們可以通過命令行創建多級目錄,如下:
1、我們在本地代碼倉庫的目錄欄中輸入cmd
打開命令行
2、使用md
命令創建多級目錄,格式如圖
- 將對應的jar/aar及其pom文件放置在對應目錄中
6、修改項目配置文件
project 層級的 bulid.gradle文件
allprojects {
repositories {
//添加本地代碼倉庫
maven {
url 'D:/localRepository/'
}
mavenLocal()
}
}
7、重新編譯項目
上述步驟都做完後,我們就可以重新編譯項目了。