首页 > 代码库 > 【转载】解决refreshing gradle project 和Building gradle project info 一直卡住\速度慢

【转载】解决refreshing gradle project 和Building gradle project info 一直卡住\速度慢

转载: 

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 的版本越新构建运行越快,也只是理论上,所以推荐稳定版的版本。

 

【转载】解决refreshing gradle project 和Building gradle project info 一直卡住\速度慢