【Bug】AS无法Builder打包
描述
这个是昨天做项目,准备跑到手机上结果builder打包的时候发生的。
报错图片如下:
具体报错信息如下:
Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ‘:app:devDebugCompileClasspath’.
分析
当时我通过一下几个步骤寻找solution。
- newBing
- 国内浏览器(CSDN)
- StackOverflow
- 大佬
尝试了很多路子但还是失败。
最后结合各方信息推断:==问题应该还是网络==。
因为据遇到这个问题的回答,基本都是因为gradle builder 的时候要引入很多国外的开源库。
但是拉不过来。
最后发现问题是我的AS代理设置的有问题。
在设置代理的时候。有 HTTP、HTTPS,Socked
我设置了前面两个,然后端口用错了。
这样我的AS就一直连不上网。
解决
到这个地址下找到这个文件,然后把代理端口改回来。
后面就好了。
对了AS代理最好用HTTP的,因为socked这种可能Bug 不少。
我发现只有AS的界面改了很多,之前遇到有的帖子也说过改代理。
但是是在AS中setting里面改的,发现没用。
然后那个build.gradle文件也不一样。
最后还是自己去电脑下的user下找的那个文件改了才有用。
难怪当时设置代理的时候发现不行。
后来又出现一次,这次的最后解决是把build.gradle文件 恢复到Git上次了。
所以总结说就是:坑定是 build.gradle 或者网络问题。
==最大的教训就是不要随便改build.gradle这个文件里面的东西。==
哪怕是引用的版本升级,很有可能就直接给你用不了。
本质原因是那样引入一些三方库,但是这个三方库很久没有更新了,这样我们就不能通过builde.gradle 文件那样在线引入。
否则就会这样报错。
这个时候你可以把这个三方库的arr或者jar包放到AS的app目录下面的那个lib中,然后在build.gradle文件implement哪里写一个引入lib那个东西。
怎么找jar包arr包?
-
来这个目录
-
找到你要的那个三方库有关的java文件
-
在本地资源管理器打开版本号之前的路径。
-
然后挨个进去找就是了
-
总结
在中国做开发,网络问题一直是程序员的一个大杀器。
gradle 对网络依赖很重,要妥善处理好AS的代理和编程的网络情况。
在AS代理设置成正确的HTTP以及端口之后。无论是build还是push github都好用了很多。
export https_proxy=http://127.0.0.1:33210
http_proxy=http://127.0.0.1:33210
all_proxy=socks5://127.0.0.1:33211