吐槽,请直接拉到最后查看结果
苦心学习android快4个月了,现在能够独立的完成开发APP,给自己一个👍,收获满满的。当然需要感觉公司的Android先驱们留下的遗作,加上Ctrl + C 和 Ctrl + V的神作。
今天心情好好的去加班,想把进度赶赶的,但是一到公司就提示Android Studio 有更新,果断的点击了“Update”,坐等升级。公司的网络真是神了,秒升级啊。(今天我是第一个到公司,当奶爸的真不容易啊,6点起床的,然后就去公司加班了)接着升级了Gradle version到3.3 和 Android Plugin Version到2.3.0,并且升级了下Andriod SDK Build-Tools到25.0.2. 再默默的手动修改了每个Module的依赖。在点击Sync Now后,噩梦就开始了:
Error: Failed to resolve: com.*.lib:router:1.1
第一个反应就是升级后导致获取私有maven库的文件失败了:
- 私有库Maven和android studio 2.3 不兼容
- 私有库Maven也应该升级,需要对SonyType Nexus进行升级
- 私有库上的router的jar文件不是最新编译的,所以不兼容
- android studio上的Maven插件需要升级
- 。。。等等脑洞大开的查找
开始baidu,stack overflow,google,android developers, android studio 中文论坛,都没有找到相关的内容。
不停的尝试。
声明处,不断的研究是不是2.3版本后,进行语法的修改
repositories {
maven {
url "http://nexus.*.com:8081/nexus/content/repositories/Android-Releases"
credentials {
username '*'
password '*'
}
}
}
依赖
compile '*:router:1.1'
并且进行router模块修改,将router工程更新为最新的android studio 2.3和Gradle version 3.3, Android Plugin Version 2.3.0,Android SDK Build-Tools 25.0.2。再进行上传。
compile '*:router:1.2'
修改为1.2版本后,依然是有问题,报了一样的错误
Error: Failed to resolve: com.*.lib:router:1.2
。。。 。。。 。。。
此处省略一百万字
。。。 。。。 。。。
一天过去了,回到家又研究了一晚上,突然发现一个设置很有问题,然后进行重试
重点来了
在gradle.properties文件中有两行镜像的代理设置
systemProp.http.nonProxyHosts=mirrors.opencas.cn
systemProp.http.proxyHost=mirrors.neusoft.edu.cn
虽然在android studio 2.2.3版本中,没有出现问题,那么不能下载maven的原因会不会是因为这个代理呢,在2.3版本中有了一些特殊的处理呢。
将代理注释后,Sync Now点击后,在没有报希望的情况下,Build Success。
My God!!!
一切的根源就是这个代理。询问了那么多,还真的没有人会想到代理还会这个设置。呵呵 (大大的,远远的超出我iOS开发的逻辑)
然后学习了下代理配置
以下配置写在gradle.properties中:
//以下为http协议proxy配置
systemProp.http.proxyHost=www.somehost.org //proxy主机
systemProp.http.proxyPort=8080 //proxy端口
systemProp.http.proxyUser=userid //proxy权限验证用户,没有就删掉该行
systemProp.http.proxyPassword=password //proxy权限验证密码,没有就删掉
systemProp.http.nonProxyHosts=*.nonproxyrepos.com|localhost //不使用proxy的域名
//以下为https协议proxy配置,参数作用同http协议
systemProp.https.proxyHost=www.somehost.org
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=userid
systemProp.https.proxyPassword=password
systemProp.https.nonProxyHosts=*.nonproxyrepos.com|localhost
// END 高手不要笑,仅仅是吐槽下