欢迎来到代码驿站!

Android代码

当前位置:首页 > 移动开发 > Android代码

Android Studio不能获取远程依赖包的完美解决方法

时间:2021-01-20 14:17:01|栏目:Android代码|点击:

       最近被一个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图片处理工具类BitmapUtils

栏    目:Android代码

下一篇:微信第三方登录Android实现代码

本文标题:Android Studio不能获取远程依赖包的完美解决方法

本文地址:http://www.codeinn.net/misctech/48146.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有