idea和gradle创建android遇到的网络问题

“只要思想不滑坡,方法总比困难多”

众所周知,如果不是用国内镜像仓库的话,使用国外仓库是需要正确姿势。

本以为idea里setting代理设置完成之后就可以使用了,
才发现这才是坑的第一步。

因为gradle不根据idea走代理(明明maven是可以的!)

我尝试了n多种解决方案:

  1. 命令行执行 prxoychains ./gradlew --refresh-dependies,试图使用proxychains代理这个命令
    结果发现gradlew不鸟我,prxoychains的tcp全局都接管不了他的流量,我很蒙

  2. 既然我代理不行,那我就直接在build.gradle换仓库,但是网上的什么阿里的仓库之类的,似乎没什么用

  3. 我又到处找偏方,找到了在gradle.properties内加入类似下面的代码(根据我的情况有修改)

#http proxy setup
systemProp.http.proxyHost=www.somehost.org
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=userid
systemProp.http.proxyPassword=password
systemProp.http.nonProxyHosts=*.nonproxyrepos.com|localhost

#https proxy setup
systemProp.https.proxyHost=www.somehost.org
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=userid
systemProp.https.proxyPassword=password
systemProp.https.nonProxyHosts=*.nonproxyrepos.com|localhost

发现还是不行

最后我经历九九八十一难,我终于解决了这个问题!!!

./gradlew -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=10809 --refresh-dependencies

这个解决方案来自:https://*.com/questions/5991194/gradle-proxy-configuration

注意:socks代理方案找了好多没解决,我就使用了http代理的解决方案
顺便提一下 privoxy 转发http代理到socks代理(小提示)

以上内容仅供学习参考

idea和gradle创建android遇到的网络问题

上一篇:Android:带你了解神秘的Behavior


下一篇:app自动化13 app测试流程