转载:
http://blog.csdn.net/xx326664162/article/details/52002616 文章出自:薛瑄的博客
分析原因:
更改Gradle的版本后,或者更新AS后,再次打开Android studio 会根据指定的url去Gradle官网下载新版文件,所需时间过长,很大可能下载不成功,一直卡在Building gradle project info或refreshing gradle project这一步(解决方法见下)。
你可能会有疑问,为什么有时候更新AS需要再下载Gradle,为什么不用已经下载好的Gradle?请查看这篇博客
主要原因是下载gradle的时候,网速过慢。gradle官网虽然可以访问,但是速度实在太慢
由于这个原因,经常出现下面这两个现象
1、Android Studio导入项目的时候,一直卡在Building gradle project info这一步
2、refreshing gradle project
那么问题来了,1、根据项目中的什么配置去下载gradle?2、下载的gradle文件,保存在哪里了?
通过不断摸索和网上搜索,找到了这两个问题的答案:
1、根据 项目中 \gradle\wrapper\gradle-wrapper.properties文件的配置,最后一行代码,去下载指定版本的gradle
2、下载的gradle保存在C:\Users\用户名.gradle\wrapper\dists\gradle-x.xx-all\xxxxxxxxxxxx,下载完成后是一个压缩包,下图2个文件是下载过程中的临时文件
拓展
use default gradle wrapper(官方推荐)
根据项目中\gradle\wrapper\gradle-wrapper.properties 文件下载指定版本的gradle。需要自己确保项目使用正确的gradle版本。AS和gradle版本关系
Use local gradle distribution
选择Use local gradle distribution,然后选择Gradle 的目录即可,这样就不会每次根据项目中\gradle\wrapper\gradle-wrapper.properties 文件下载指定版本的gradle。而是使用指定的gradle
解决办法:
找到了原因,解决办法就显然已经了。下面我提供两种方法。
主要有两种,一是直接下载gradle离线包,二是使用AS自带的Gradle
第一种:手动下载gradle压缩包
1、查看所需gradle版本
2、 手动下载新版Gradle
我在官网用迅雷下载,速度还可以,估计是有人下载过了,迅雷服务器保存了这个文件,直接从迅雷下载来的。之所以这么想,是因为我直接使用浏览器自带下载一般就一直0kb/s。
3、下载完成后,复制到C:\Users\用户名.gradle\wrapper\dists\gradle-x.xx-all\xxxxxxxxxxxx目录下,运行AS之后会自动解压,如下。重新打开项目就可以了~~
第二种:使用AS自带的Gradle
注意:这个方法,我在升级AS(2.2.3->2.3)的时候,升级后发现Gradle的版本是gradle-3.2,但是2.3版本的AS支持gradle的最低版本是3.3的。后来使用方法一解决的
Android Studio 的版本一般都跟随着Gradle 的版本,在安装目录的根目录有个gradle 目录,就是Android Studio所能支持的最新版,
- 在设置中打开Gradle,选择Use local gradle distribution,然后选择Gradle 的目录即可,这样就不会根据项目中\gradle\wrapper\gradle-wrapper.properties 文件下载指定版本的gradle。而是使用指定的gradle
- 理论上Gradle 的版本越新构建运行越快,也只是理论上,所以推荐稳定版的版本。