Android studio gradle编译失败问题汇总
Android studio作为供Android开发者使用的集成开发环境,虽然便利性十足,但也因为『本土化』的原因导致很多功能阉割以及出错的情况;
而出现问题最集中的莫过于让人头疼的gradle编译问题,由于Android studio使用的是一个在线的国外编译系统『gradle』,因此在连接外网进行下载必要的编译资源时会不可避免的出现一些问题;
根据日常开发&翻贴经验,总结出以下几种问题原因和解决方法。
注意这几条之间并无前后联系,但可能又需要结合1条或N条一起操作修改才能让你的Android studio能正常跑通,道阻且坚,你我共勉!
(有新的踩坑经验或指正,欢迎补充!)
1、(不配置代理的情况下)网络原因导致不能访问maven的远端目录
需要该用阿里云的国内镜像地址,修改工程的build.gradle文件即可:
(加这两行,最好把上面的google maven注掉)
还有一种思路,是将配置中使用内嵌Maven 目录的选项反勾选:
(此方法未验证,仅供参考,但目的是一样的)
2、网络(代理)问题
切换到外网、v*n或者在 Android studio里配置代理:
(注意,这3种配置方式都有可能导致成功、失败等情况,需要自行尝试)
其中,第三种(即Manual手动配置)会导致另一种疑难问题出现,见下面第3条。
3、手动配置代理导致的gradle代理配置文件修改
请先检查PC空间的.gradle文件夹(注意,不是代码工程里的.gradle文件夹,两者作用域和职能不一样)是否有一个gradle.properties文件,没有可以忽略这一条返回。有请继续往下看
此问题出现概率较小,但是一旦出现极难排查(CSDN、Stackover flow均未见到有人抛出)。
上面第2条末尾说到,在使用Android studio里的手动(Manual proxy configuration)配置代理时,会导致另一种情况,见下方描述。
踩坑过程:在使用某个较老版本的Android studio(第一次在PC上安装3.1版本以上基本不会出现)时,曾在Manual proxy configuration 配置了某个代理,结果导致在PC空间的.gradle文件夹中生成了一个gradle.properties文件(见下图片),由于这个文件不会因为更新Android studio而改变(gradle的文件缓存空间与Android studio是单独隔离的),因此使用1、2的改动均无效;
原因:这个配置文件会凌驾于其他配置,优先级最高,Android studio会先读这个文件,并使用里面的代理配置;因此1、2的改动都不会生效。有个现象可以作为这个问题出现的表征:查询或下载不到的编译资源,比如jar包,在浏览器上是可以正常下载的,但是在Android studio编译使用时就是会访问、下载失败。
解决方法:将里面的配置注释掉(或删掉整个文件),再重复编译(或再尝试1、2两条)
4、删除所有相关目录文件
如果以上3条均无效,恭喜你到达了经验知识的荒原,删除Android studio、删除.gradle文件夹重新再来吧。。。祝好