最近用Android Studio开发安卓项目,在开发过程中遇到过很多次Gradle下载包错误,表现就是“Could not HEAD”,原因可能有几个地方需要正确配置。
问题分析
gradle下载依赖时会根据项目根目录下的build.gradle中指定的repositories仓库地址去查找和下载。
如果出现Could not Head错误时,一般下一行信息会更重要,有的是can not find,有的是connect timeout有的是connection refused。
对于can not find错误
也就是是仓库找不到指定版本的依赖包错误,要么是配置依赖错误,要么是没有使用官方源(google, mavenCentral, jcenter),阿里等国内镜像,对于一些比较新的版本依赖,可能不会太及时拉取更新,导致有些版本找不到,这时候就只能通过代理去官方源下载了。
对于connect timeout错误
连接仓库超时,如果是官方源的话,一般是因为代理失效了或者没配置代理。往下看怎么配置代理。
对于connection refused错误
看下一行错误信息,一般如果使用了代理,会有“Can’t connect to SOCKS proxy:Connection refused: connect”错误。这一般是代理服务没启动。如果是其他错误,可能是网络环境问题。
Gradle代理配置
在Android Studio中给gradle配置代理的地方,有三个:
- 项目根目录下gradle.pro