一、gradle.properties
变量配置在项目根目录gradle.properties和环境变量GRADLE_USER_HOME指定的gradle系统目录默认路径xxx\user.gradle\gradle.properties,后者优先级更高
systemProp.http.proxyHost=127.0.0.1 填上代理软件的ip,通常是这个地址
systemProp.http.proxyPort=10808 填上代理软件的端口
上面的配置可以满足大部分需求,取决于代理软件是否友好支持https或者socks代理,附上其他配置如下:
systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyPort=10808
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=10808
systemProp.socks.proxyHost=127.0.0.1
systemProp.socks.proxyPort=10808
过滤代理
对于国内的仓库可以不走代理,还有部分内网地址也可以不走代理 systemProp.http.nonProxyHosts=developer.huawei.com|maven.aliyun.com|192.168.*
systemProp.https.nonProxyHosts=***
systemProp.socks.nonProxyHosts=***
二、常见问题
正确配置了代理,其他仓库都可以拉下来,唯独下面的task报错 uploadCrashlyticsMappingFileGoogleRelease Connection timed out
org.apache.http.conn.HttpHostConnectException: Connect to firebasecrashlyticssymbols.googleapis.com:443 [firebasecrashlyticssymbols.googleapis.com/172.217.27.138] failed: Connection timed out: connect
解决方案
一、过滤异常的task(不推荐、调试的时候可以这么写,如果是relaese包会导致无法在firebase跟踪错误日志)
` gradle.taskGraph.whenReady {
tasks.each { task ->
if (task.name.contains("uploadCrashlyticsMapping")) {
task.enabled = false
}
}
}
`
二、修改gradle.properties配置
org.gradle.jvmargs=-DsocksProxyHost=127.0.0.1 -DsocksProxyPort=10808