解决gradle project refresh failed

豁然开朗

在使用Android Studio或者从2.1版本升级到2.3版本的时候,常常会出现gradle project refresh failed这种情况,这时我的第一反应就是搞事情啊,这是在搞事情啊。吃饭的工具用不了这是要让我喝西北风啊?脑子里突然浮现一个画面,在项目组的群里,老大前一天晚上说:“明天早上在会议室开会,大家带上吃饭的家伙。”我心想:“这大早上就要给我们发福利?”于是乎,在第二天早上我就拿着一副碗筷,拎着两瓶啤酒乐呵呵的走进了会议室,看到大家都带着电脑在开会,我心里无数个C N M飘过啊。瞬间一万点暴击,K.O了,当时看见我们老大的脸都绿了。哎~~~

下面接着上边的话题聊一下,遇到gradle project refresh failed的情况,我就打开了百度页面,心想:“这不算什么的,万能的百度都能帮我搞定的,毕竟这种坑肯定我不是一个踩到的。”果然当我在搜索栏输入这个错误点击回车后,下面出现了很多的解决方式,我高兴的点开一个就照着上边的解决方案操作起来,等了一会(公司电脑配置不行,gradle要好一会),我擦gradle project refresh failed。没事没事,我安慰着自己,也许这次姿势不对,我又找了一个方法照着操作,还是gradle project refresh failed。就这样连续操作几个方法之后,我觉得这不是姿势的问题了,这是五行不和啊。

突然想起来一个好哥们说的一句话,遇到问题不能抱着试一试的心态去解决,需要知道问题为什么出现,之后再去考虑一下出现问题可能的解决方式,之后分析最靠谱的解决方式(直中要害)。这时我扔下手中的鼠标和键盘,坐在那盯着屏幕想:“gradle的依赖方式有两种,一种是Maven,另一种是compile依赖。不管是哪种依赖方式,Android Studio公开的或者说托管的三方库(也就是说在项目中compile 'com.squareup.retrofit2:retrofit:2.2.0'这句代码是要去Maven Center或者Jcenter文件服务器中去下载库文件以实现本项目依赖这个库),我一想创建项目的时候要去文件服务器上下载库文件,那是不是这里出现的问题呢?又关联想到了在不久前公司设置了代理服务器(屏蔽了好多个网站,有些人可能会说直接把代理关了就行了啊,可以说这个办法在我们公司是行不通的,因为代理取消了那你百度的资格都没有了)。”于是乎我就想了一个办法,既然设置了代理就不能从文件服务器上下载到库文件导致编译失败,那好吧,那我下载下来所需库文件之后放到Android Studio的缓存库中(就在C:\Users\{你的用户名}\.gradle\caches\modules-2\files-2.1)就应该可以了,我就借了一个笔记本过来连接了公司的另一个网络(公司两个网络一个是设置了代理的,一个是直接访问外网的,有人又会问你不是说不能直接访问外网吗?对的我是不能直接访问外网的,只有公司的领导才可以,我是借了他的笔记本电脑使用他的凭证才能上网的),之后我疯狂地从文件服务器上下载着库文件,高兴地讲下载下来的库文件放在缓存库中,重启Android Studio,看着它在构建,蹦的从下边弹出构建结果还是gradle project refresh failed。

即使这样我还是继续分析解决这种问题的解决方式:“既然是因为不能从文件服务器上下载所需库文件,那索性直面问题不要借助其他的方式解决会不会好很多呢?”于是我就找到Android Studio是可以设置代理的Settings--Appearance & Behavior--Systems Settings--Http Proxy中默认选择的是No Proxy,往下来就看到了Manual proxy configuration(手动设置代理)选择Http,在下边填写Host name和Port number(这些信息要根据公司的代理去选择和设置),这时我又乐呵呵的点击了确定之后赶紧重新构建一下,噗噗噗还是gradle project refresh failed。之前没有设置代理的时候出现这个问题可以理解,现在代理我也设置了,为何还会是这种情况呢?我继续找~找~找找啊找啊找朋友,找到一个好朋友,敬个礼啊,握握手,你是我的好朋友。突然我想到为什么笔记本可以直接访问外网呢?认证(有账号和密码 这个可以和老大去要),于是乎我就再次打开了Settings--Appearance & Behavior--Systems Settings--Http Proxy,选择了Proxy authentication并且填写上账号和密码,之后保存设置重新构建,没有报错居然成功了。

曾经,有一个可以不入坑的方式放在我面前,我没有去珍惜,如果上天再给我一次机会的话,我愿对它说九个字:“别T M D让我入坑了”。

下面也介绍一下通过这次踩坑的经历所了解到的填坑的方式:

不同的情况会有不同的解决方法,需要打开日志文件找到详细错误信息。

C:\Users\{Username}\.AndroidStudio2.1\system\log

1. 强制IPV4

在环境变量中增加变量

_JAVA_OPTIONS

设置变量值为,

-Djava.net.preferIPv4Stack=true

重启Android Studio,自动更新gradle。

2.更新JDK1.7到JDK1.8

File->Other Settings->Default Project Structure...

3.删除.gradle文件

删除文件夹

c:\users\{username}\.gradle

然后重启Android Studiao,更新gradle。

4.修改gradle.properties配置

打开工程的gradle.properties文件,添加如下配置项:

org.gradle.jvmargs=-Xmx512m -XX:MaxPermSize=512m

这个是解决虚拟内存不够引起的问题。

5.设置正确的gradle版本

File->Settings

Build,Execution,Deployment->Build Tools->Gradle

这是解决gradle版本不匹配的问题。

6. 手动同步gradle

Tools->Android->Sync Project with Gradle Files

7. 清理工程

Build->Clean Project

8. Invalidate and Restart

File->Invalidate Caches/Restart...

Invalidate and Restart

9. 更新android sdk

对于没有下载相应版本SDK的问题,按要求下载即可。

10. 更改工程目录下build.grade文件

有时还会是这个问题Gradle '【project_name】' project refresh failed:  No cached version of com.android.tools.build:gradle:2.10.+ available for offline mode.

遇到这种情况就打开工程目录下的build.gradle文件,之后更改

dependencies{

classpath'com.android.tools.build:gradle:2.10+'

}

打开 C:\Users\{你的用户名}\.gradle\caches 文件,发现下面没有2.10目录,正常情况下,在重启Studio时,如果没有会重新去下载该文件目录。如果不能正常下载,去copy一份放在该目录下,就可以啦。

这只是我遇到问题的解决方式,可能你遇到的问题和我的一样,希望这篇blog能帮助到你。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 161,780评论 4 369
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,424评论 1 305
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 111,397评论 0 254
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,576评论 0 218
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,997评论 3 295
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,945评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,107评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,850评论 0 208
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,625评论 1 250
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,804评论 2 253
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,285评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,613评论 3 261
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,291评论 3 242
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,164评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,963评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,096评论 2 285
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,886评论 2 278

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,594评论 25 707
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,108评论 18 139
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,108评论 2 44
  • 乡村爱情头号讨人厌的俩,谢广坤和李大国。 李大国爱香秀吗?大概是爱吧,但是这种方式太过偏执,太过自我中心。婚内如此...
    木十二阅读 118评论 0 0
  • 智慧工厂 生产自动化中的CPS需要关注的三大主题 一个是自适应和自主控制。包括基于部件的自动化(component...
    dw456阅读 846评论 0 0