gradle proxy 代理配置

16,951 阅读1分钟

一、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