作为远程工作者,我使用带有proxy.pac的 VPN (配置文件可在http://proxy.mycompany.com/proxy.pac获得)。
要更新包Android SDK Manager,以下代理设置可以正常工作:
HTTP Proxy Server: proxy.mycompany.com
HTTP Proxy Port: 80
在Android Studio中,我使用 crashlytics 处理 Android-Gradle 项目。我在代理 HTTP 中设置了相同的参数。
检查crashlytics apikey 时, gradle assembleDebug命令失败:
:myproject-project:compileDebugNdk UP-TO-DATE
:myproject-project:preBuild
:myproject-project:preDebugBuild
:myproject-project:checkDebugManifest
:myproject-project:prepareDebugDependencies
:myproject-project:compileDebugAidl UP-TO-DATE
:myproject-project:compileDebugRenderscript UP-TO-DATE
:myproject-project:generateDebugBuildConfig UP-TO-DATE
:myproject-project:processDebugManifest UP-TO-DATE
> Building 32% > :myproject-project:crashlyticsCleanupResourcesDebug
然后超时后:
ERROR - Crashlytics Developer Tools error.
com.crashlytics.reloc.org.apache.http.conn.HttpHostConnectException: Connect to api.crashlytics.com:443 [api.crashlytics.com/54.225.193.37, api.crashlytics.com/54.243.69.50, api.crashlytics.com/54.243.106.90, api.crashlytics.com/54.243.136.142, api.crashlytics.com/54.243.186.185, api.crashlytics.com/107.21.114.251, api.crashlytics.com/184.72.240.69, api.crashlytics.com/54.225.68.102] failed: Connection timed out: connect
at com.crashlytics.reloc.org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:138)
...
我试图在 ~/.gradle/gradle.properties 文件中设置 gradle 属性:
systemProp.http.proxyHost=proxy.mycompany.com
systemProp.http.proxyPort=80
...但这似乎不是一个好主意,因为我在 HTTP 代理设置中有警告(这些设置已过时)。
我已经要求网络上的人嗅探发生了什么,并且在http://dl-ssl.google.com(与 Android SDK 管理器中使用的相同)或 Amazon 上的 EC2 (可能由 crashlytics 使用)等 URL 上存在访问失败,不是吗?)。
当然,当我直接连接到公司的 LAN 时,所有这些都可以完美运行。
知道会发生什么吗?任何解决方法?
谢谢你的支持。让
编辑:
解决方案是在 ~/.gradle/gradle.properties 文件中设置https代理服务器和端口。就我而言,http 参数似乎没用。
systemProp.https.proxyHost=proxy.mycompany.com
systemProp.https.proxyPort=80
谢谢你的帮助!