Android Studio编译失败,提示Error:Connection refused: connect

9月30号最近更新最终方案

最近Android Studio更新到3.1.4后只前正常编译的项目突然间出现编译失败

编译时报错:

Error:Connection refused: connect

最开始以为是升级后强制要梯子才能通过编译什么的,然后打开了梯子,果然编译通过了,正常跑起来了

这一次问题就解决了

但是后面每次打开项目编译都要开梯子,啊......好烦.

但是细想,没道理,一样的配置文件,在另一台电脑是能正常编译的(不需要梯子),肯定是配置出问题了

百度了一番...大概都是几种解决方案

1. 修改gradle.properties 文件,注释掉代理设置或修改代理端口

systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyHost=1080
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyHost=1080

2. 修改Gradle Plugin版本

classpath 'com.android.tools.build:gradle:2.3.0'

 3. 拿梯子设置http代理编译

4. 甚至还有..尝试不要使用路由器,网线直接插电脑

以上都试过了..都没用

最后还是上stack over follow上找到了临时解决方案

设置本地Gradle地址,将对应要使用Gradle版本下载好放到c:/用户../.gradle/wrapper/...下面的对应目录,打开离线工作`offline work`,再次编译就好了

可以打开gradle/gradle-wrapper.properties文件的distributionUrl查看gradle版本,然后到http://services.gradle.org/distributions/下载就可以了

另:有些项目会使用一些另外的gradle插件,第一次运行时由于你没有这个插件,还是需要开启梯子去编译自动下载,然后再打开offline work就好了

9.13

今天查看日志发现有些依赖库使用了latest.release,导致了这个问题,修改成指定某个版本,上面的设置也可以不离线了

9.30

上面的一些解决方案可能刚好能解决暂时性的问题,因为有一些依赖包是之前就已经下载过的,所以这个时候使用离线是可以避免这个报错的,但是如果你加入新的依赖(本地没有的依赖)这个时候离线的方案就GG了

所以还是回到本质问题上来

Connect to 127.0.0.1:1080 [/127.0.0.1] failed: Connection refused: connect

我这边报的完整错误是连接 127.0.0.1:1080代理失败,这个代理是在用梯子的时候设置的,本身没毛病,但是梯子关了后的就出毛病了,导致了前面的那么多弯路.

其实上面的方案1是没毛病的,但是为什么有些人注释掉了还是不行呢?

因为默认的选中的是'use default gradle wrapper',选中这个的话会去使用C:/User/%your_user_name%/.gradle/wrapper/dists下对应版本的gradle,这个时候你得再看看C:/User/%your_user_name%/.gradle/目录下是不是也有一个gradle.properties 文件,有的话打开看看是不是也像方案一说的设置了代理,没错!找到根源了!注掉他再试试(试试就试试)

问题是不是解决了?

如果还有其他疑问欢迎提出来一起探讨,为后人提供实际可用发方案

  • 16
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值