Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
93
Help us understand the problem. What is going on with this article?
@hishida

Gradleでのプロキシ設定

More than 5 years have passed since last update.

社内ネットワークでAndroidアプリをGradleビルドする際にプロキシ設定が必要だったのでそのメモ。

gradlewファイルへの設定

Gradle実行時にUnknownHostExceptionが発生して失敗してしまったので設定しました。

gradlew または gradlew.bat の先頭に以下を追記します。

set JAVA_OPTS=-DproxyHost=myproxy.co.jp -DproxyPort=8080 -Dhttp.proxyUser=**** -Dhttp.proxyPassword=**** -Dhttps.proxyUser=**** -Dhttps.proxyPassword=****

gradlew実行時に、GradleのZIP(gradle-1.xx-all.zip)がない場合は取得に行くので必要となります。
ZIPファイルをダウンロードした後は設定を削除してもOKです。

gradle.propertiesへの設定

gradlewファイルに設定後も以下のようにプロキシのエラーが発生したので設定しました。

Failed to get resource: GET. [HTTP HTTP/1.0 407 Proxy Authentication Required: http://repo1.maven.org/maven2/com/android/tools/build/gradle/maven-metadata.xml]
Error listing versions of com.android.tools.build:gradle using class org.gradle.
api.internal.artifacts.repositories.resolver.MavenVersionLister$1. Will attempt an alternate way to list versions. This behaviour has been deprecated and is scheduled to be removed in Gradle 2.0
Failed to get resource: GET. [HTTP HTTP/1.0 407 Proxy Authentication Required: http://repo1.maven.org/maven2/com/android/tools/build/gradle/]

[ユーザーディレクトリ]/.gradle/gradle.properties(なければ作成する)に以下のように設定します。

systemProp.http.proxyHost=myproxy.co.jp
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=****
systemProp.http.proxyPassword=****
systemProp.https.proxyHost=myproxy.co.jp
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=****
systemProp.https.proxyPassword=****

実行時にいろいろアクセスするようです。

おまけ:ZIPファイルが壊れている場合

gradlewファイルにプロキシ設定をして実行してもダウンロードされたZIPファイルが壊れていてうまく開けないことがありました。

Exception in thread "main" java.lang.RuntimeException: java.util.zip.ZipException: error in opening zip file
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:78)
at org.gradle.wrapper.Install.createDist(Install.java:47)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48)
Caused by: java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.(ZipFile.java:214)
at java.util.zip.ZipFile.(ZipFile.java:144)
at java.util.zip.ZipFile.(ZipFile.java:158)
at org.gradle.wrapper.Install.unzip(Install.java:160)
at org.gradle.wrapper.Install.access$400(Install.java:29)
at org.gradle.wrapper.Install$1.call(Install.java:70)
at org.gradle.wrapper.Install$1.call(Install.java:47)
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
... 3 more

このとき、ZIPファイルを手動でダウンロードして配置したら解決しました。
ダウンロードURLは、gradle/wrapper/gradle-wrapper.propertiesdistributionUrlに記述されています。

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-1.xx-all.zip

ファイルの配置先は[ユーザーディレクトリ]/.gradle/wrapper/dists/です。

93
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
hishida

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
93
Help us understand the problem. What is going on with this article?