最近被一個AS的sync問題困擾,在引入遠程依賴包的時候,會出現(xiàn)一個sync錯誤,提示找不到這個類庫。然而,并不是所有的工程都會出現(xiàn)這個問題,有的工程引入同樣的類庫卻沒有問題。
Error:(25, 13) Failed to resolve: com.jakewharton:butterknife:5.1.1
網(wǎng)上查了下(http://stackoverflow.com/questions/20746071/failed-to-build-android-hello-world-application-in-offline-mode),說是設置了offline work,需要將gradle設置里的offline work去掉,然而我的AS中并沒有勾選這個選項。
試一下把這個選項打開是什么效果,打開后重新sync出現(xiàn)下面的錯誤,和之前的錯誤有點差別,多了錯誤提示“Disable offline mode and Sync”。也就是說,出現(xiàn)了如下這個問題的時候,可以通過關閉“offline work”選項來解決。
還是沒有找到我們問題的真正原因,只能繼續(xù)排查。偶然間發(fā)現(xiàn)另外一個工程中的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,竟然通過了。。。
前面已經(jīng)配置了遠程倉庫,怎么還需要再配置一份呢?還是需要查下build.gradle中的buildscript和allprojects兩個配置項有什么差別。
原來buildscript中的聲明是gradle腳本自身需要使用的資源。可以聲明的資源包括依賴項、第三方插件、maven倉庫地址等。而在build.gradle文件中直接聲明的依賴項、倉庫地址等信息是項目自身需要的資源。
“allprojects”這個配置項在Android Studio默認生成的工程中的build.gradle文件中是存在的,我這個工程之所以沒有,是由于我的工程是從Eclipse工程轉換來的。
總結
以上所述是小編給大家介紹的Android Studio不能獲取遠程依賴包的解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對IIS7站長之家網(wǎng)站的支持!
|
新聞熱點
疑難解答