Android Studio 自动升级 gradle 失败解决方案

引言

相信大家在用Android Studio的时候,肯定一次又一次的因为我们生在局域网内而苦恼不已。作为没有买VPN的孩子,我们更新Android的基本组件和sdk的时候,可以用伟大的镜像来解决,但是更新gradle的时候就坑爹了。今天我就遇到了这个问题,以下是本人的心路历程,没有兴趣的朋友可以直接看解决方案。



心路历程

公司开始新一轮迭代,顺应时代的潮流,用了新版本的gradle。我满心欢喜的pull下新的代码准备开始干活,build了一下项目,给我出了下面这个报错信息:

Error:Connection timed out: connect. If you are behind an HTTP proxy, please configure the proxy settings either in IDE or Gradle       

这是什么鬼东西,连接超时,我设置了代理??并没有啊,后来想了想,估计是把我们的天朝局域网当成代理了...

好吧,出现问题,就解决问题。网络不畅,我又没有VPN,怎么办呢?上网baidu google(这里用的是lantern)查了一下,好像给出的解决方案里,好像直接下载对应版本的gradle到本地这个方法比较靠谱。下载好了gradle(在CSDN下载的,感谢分享 ),根据教程把gradle文件复制到.gradle文件夹里(一般情况下路径是 C:/Users/用户名/.gradle),然后教程说重启Android Studio就行。我万分期待的重启了Android Studio,然而。。还是下载,还是失败,好像什么都没有发生过...

我继续查资料,发现刚刚被坑了,应该是把下载好的文件放在 C:/Users/用户名/.gradle/wrapper/dists这个文件夹下,嗯,这回应该错不了了,重启....  然而还是什么都没有发生,Android Studio还是很任性的在下载新版本gradle,还是很倔强的问你:“是不是设代理了,我没法下载啊兄弟,赶紧改掉!”
这次我没有再去网上查,我觉得我这个遇到问题啊,国外的答案不符合国情,国内的答案都是抄来抄去,根本解决不了问题。我打开C:/Users/用户名/.gradle/wrapper/dists这个路径,发现我下载的和这里本来有的文件命名都不一样,比如我下载的文件是gradle-2.14.1, 而这个文件夹里的文件名都是gradle-2.14.1-all 这种风格的。 打开gradle-2.14.1-all,里面有一个8bnwg5hd3w55iofp58khbp6yv文件夹,再点开里面就是四个文件  gradle-2.14.1(文件夹) gradle-2.14.1-all.zip(压缩包)gradle-2.14.1-all.zip.lck 和gradle-2.14.1-all.zip.ok。我懂了,我下载好的gradle文件应该放在这里!
于是乎我又满心欢喜的将我下载好的gradle-2.8放到了gradle-2.8-all --> ah86jmo43de9lfa8xg9ux3c4h 文件夹下面,我观察到之前这个文件夹下面有两个文件  gradle-2.8-all.zip.lck 和 gradle-2.8-all.zip.part,这个应该是还没下完的烂尾工程,删掉,只留我自己下的gradle-2.8,这个时候应该没问题了吧,我又一次重启了Android Studio,进度条不紧不慢的走着,这次还是在下载,还是没成功,一切的一切都是无用的,我差点就砸键盘了!你要新版本,我给你新版本了,你还要我怎样?你还要我怎样??

绝望的我去接了一杯水,我要冷静一下。我又打开了C:/Users/用户名/.gradle/wrapper/dists,里面有很多版本的gradle,我都点开看了一遍,有些是下载成功的,有些是下载烂尾的。看着看着我发现问题了!成功的文件里面都是四个文件,里面包含了一个0KB大小的gradle-xxx-all.zip.ok ,OK文件?难道是告诉Android Studio这个版本下载OK的意思?为了保险,我把压缩包 gradle-2.8-all.zip 和 gradle-2.8-all.zip.lck (这个文件也是0KB)复制到了gradle-2.8-all --> ah86jmo43de9lfa8xg9ux3c4h文件夹里,还加了一个gradle-2.8-all.ok文件。重启,来吧英雄~  奇迹果然出现了,项目编译成功!这个ok文件果然就是判断是否已经下载的关键,此处应该有雷鸣般的掌声~~





解决方案
接下来整理一下解决方案。

1.Android Studio项目中会有一个文件:项目名称\gradle\wrapper\gradle-wrapper.properties
,里面的distribution链接中会带有版本,这个就是启动Android Studio之后会自动更新的版本,比如:
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
所以当遇到更新失败,大家就需要先在网上下载对应版本的gradle文件,以下就用gradle-2.14.1版本举例说明。

2.当Android Studio下载过gradle-2.14.1-all之后(不管成功失败),就会在C:/Users/用户名/.gradle/wrapper/dists中出现gradle-2.14.1-all文件夹,打开之后是一串以无规律字符命名的文件夹,我的是8bnwg5hd3w55iofp58khbp6yv,这个可能因人而异。打开之后就是真正的gradle文件。

3.当gradle-2.14.1-all下载失败后,8bnwg5hd3w55iofp58khbp6yv文件夹里的文件是两个,gradle-2.14.1-all.zip.lck和gradle-2.14.1-all.zip.part。

4.(关键步骤)将自己下载好的gradle-2.14.1-all.zip压缩包解压后的gradle-2.14.1文件夹复制到gradle-2.14.1-all --->8bnwg5hd3w55iofp58khbp6yv文件夹下,将gradle-2.14.1-all.zip.part文件删除复制一份gradle-2.14.1-all.zip.lck文件,重命名为gradle-2.14.1-all.zip.ok。  

5.这个时候,当前文件夹里应该有四个文件gradle-2.14.1(文件夹)、gradle-2.14.1-all.zip(压缩包)、gradle-2.14.1-all.zip.lck(lck文件)、gradle-2.14.1-all.zip.ok(ok文件),好了,大功告成,重启你的Android Studio!

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值