Android Studio build failed原因分析

0.216字数 362阅读 72

背景描述

Android studio使用过一段时间的代理,后来代理到期,虽然在File-Settings-System Settings-HTTP Proxy设置代理方式为No Proxy,但是依然build失败,原因提示无法访问127.0.0.1:8080(使用代理时设置的本地Ip和Port)。

原因分析

根据错误原因来看,虽然更改代理为No Proxy,但是Android Studio仍然是通过原先设置的代理地址请求数据。所以可以猜测,可能是有个代理配置文件没有更新,导致Android Studio使用代理请求数据,结果报错。

查找配置

一顿操作猛如虎,找到了gradle的配置文件。在我的电脑上,路径如下:


gradle.properites

打开gradle.properties文件,内容如下:

## For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
#
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx1024m -XX:MaxPermSize=256m
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
#
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
#Tue Jun 11 14:32:20 CST 2019
systemProp.https.proxyPort=1080
systemProp.http.proxyHost=127.0.0.1
systemProp.https.proxyHost=127.0.0.1
systemProp.http.proxyPort=1080

删除以下代码:

systemProp.https.proxyPort=1080
systemProp.http.proxyHost=127.0.0.1
systemProp.https.proxyHost=127.0.0.1
systemProp.http.proxyPort=1080

保存,重启Android Studio,结果build success,成功解决了build失败问题。

总结

  1. Android Studio不设置代理也可以build project,只是速度慢一些
  2. Android Studio设置了代理后,会在~/.gradle/gradle.properties文件中生成代理Ip和Port。即使后续设置代理为No Proxy,配置文件不会更新,Android Studio依然根据配置文件build project,导致build failed。
  3. 要想使得No Proxy生效,需要删除~/.gradle/gradle.properties文件中的代理Ip和Port
  4. 重启Android Studio,build success。