Android Studio不能獲取遠端依賴包的解決方法
最近被一個AS的sync問題困擾,在引入遠端依賴包的時候,會出現一個sync錯誤,提示找不到這個類庫。然而,並不是所有的工程都會出現這個問題,有的工程引入同樣的類庫卻沒有問題。
Error:(25, 13) Failed to resolve: com.jakewharton:butterknife:5.1.1
網上查了下(http://stackoverflow.com/questions/20746071/failed-to-build-android-hello-world-application-in-offline-mode),說是設定了offline work,需要將gradle設定裡的offline work去掉,然而我的AS中並沒有勾選這個選項。
試一下把這個選項開啟是什麼效果,開啟後重新sync出現下面的錯誤,和之前的錯誤有點差別,多了錯誤提示“Disable offline mode and Sync”。也就是說,出現瞭如下這個問題的時候,可以通過關閉“offline work”選項來解決。
還是沒有找到我們問題的真正原因,只能繼續排查。偶然間發現另外一個工程中的build.gradle檔案中配置有些不同的地方,比出錯工程的build.gradle檔案多了一段。
出錯工程的build.gradle檔案配置:
apply plugin: 'android'
buildscript {
repositories {
jcenter {
url "http://jcenter.bintray.com/"
}
}
dependencies {
classpath 'com.android.tools.build:gradle:1.3.0'
}
}
正確工程的build.gradle檔案配置:
apply plugin: 'android'
buildscript {
repositories {
jcenter {
url "http://jcenter.bintray.com/"
}
}
dependencies {
classpath 'com.android.tools.build:gradle:1.3.0'
}
}
allprojects {
repositories {
jcenter()
}
}
試著給正確工程的build.gradle新增上這一段配置,重新sync,竟然通過了。。。
前面已經配置了遠端倉庫,怎麼還需要再配置一份呢?還是需要查下build.gradle中的buildscript和allprojects兩個配置項有什麼差別。
原來buildscript中的宣告是gradle指令碼自身需要使用的資源。可以宣告的資源包括依賴項、第三方外掛、maven倉庫地址等。而在build.gradle檔案中直接宣告的依賴項、倉庫地址等資訊是專案自身需要的資源。
“allprojects”這個配置項在Android Studio預設生成的工程中的build.gradle檔案中是存在的,我這個工程之所以沒有,是由於我的工程是從Eclipse工程轉換來的。
希望上面的內容可以幫到有需要的同學。
歡迎關注我的公眾號一起交流學習
相關文章
- 如何解決 Android Studio 上遠端依賴包重複的問題Android
- 解決Android studio中gradle依賴下載太慢的問題AndroidGradle
- 四、yum獲取安裝的軟體包及依賴包
- RoboWare Studio安裝及依賴項解決
- 依賴衝突時的解決方法
- Android Studio中app出現紅叉的解決方案(依賴於kotlin專案)AndroidAPPKotlin
- 遠端服務不能啟動問題的解決方法
- 解決Maven中90%的依賴(導包)問題Maven
- Android Studio中引入Gson依賴(簡述版)Android
- maven依賴衝突以及解決方法Maven
- composer包依賴衝突解決一例
- 交叉編譯庫依賴問題的解決方法編譯
- Android開發教程 - 使用Data Binding Android Studio不能正常生成相關類/方法的解決辦法Android
- 在iOS專案中依賴Flutter Module-②遠端依賴Git資源iOSFlutterGit
- Spring 迴圈依賴的三種方式(三級快取解決Set迴圈依賴問題)Spring快取
- .NET控制檯獲取依賴注入例項依賴注入
- Android studio無法提醒v4包的解決方案Android
- Spring如何使用三級快取解決迴圈依賴Spring快取
- 遠端伺服器不能複製貼上解決方法伺服器
- spring解決迴圈依賴Spring
- go語言go get 匯入官方依賴的解決方法Go
- 函式計算|如何使用層解決依賴包問題?函式
- 解決eclipse的maven依賴報錯EclipseMaven
- 01揹包、有依賴的揹包
- Angular 使用 Injector API 人工獲取依賴注入的例項AngularAPI依賴注入
- 獲取Windows遠端桌面埠Windows
- android引入依賴,合集Android
- Android Studio怎麼遠端除錯裝置?Android除錯
- 使用google wire解決依賴注入Go依賴注入
- maven 依賴衝突,忽略某個包中類的方法Maven
- 遠端連線 Mysql 失敗的解決方法MySql
- 解決mysql無法遠端登入的方法MySql
- 依賴引入 | Android依賴引入史上最全攻略Android
- Android 通過 APT 解耦模組依賴AndroidAPT解耦
- npm如何管理依賴包的版本NPM
- Appium Android 獲取WebView元素的方法APPAndroidWebView
- Spring怎麼解決迴圈依賴?Spring
- Maven依賴衝突解決總結Maven
- 解題報告-論對“依賴揹包”的新理解