1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Android】Proxy 環境下でビルドできるようにする

Posted at

はじめに

Proxy 環境下でビルドするために必要なことをまとめます。
内容自体は他の記事にもありますが、最近個人的に色々調べてたこともあり、成果のメモ書きな感じです。

先に書く結論

  • Proxy 環境下の PC のアプリは別途 Proxy 設定を指定する必要がある
  • Android は gradle.properties に Proxy 設定をする
  • ライブラリーが外部のライブラリーのダウンロードしようとする場合、そのライブラリーの宣言に Proxy 設定をする必要がある
  • terminal、cmd のため環境変数にも Proxy 設定を行う

Proxy 環境

セキュリティ向上、匿名性などの理由に、社内のネットワークが Proxy 環境に置かれているケースがあります。
PC に Proxy 設定をしていれば、ブラウザアプリは自動的にその設定を読み込んでいるので普通にページに接近できたりしますが、 Android の開発環境は別途 Proxy 設定をする必要があります。

gradle.properties の設定

gradle.properties はグローバルな設定、プロジェクト内の設定として 2つがあります。

  • グローバル設定
    • rootディレクトリにある .gradle フォルダーの中
  • プロジェクト内の設定
    • プロジェクトフォルダーの中の .gradle フォルダーの中

設定したいスコープに合うフォルダーの中の gradle.properties に Proxy の設定を以下のように書き込めば設定は完了です。(あらかじめ、PC の Proxy 情報は把握しておきましょう)

アカウント認証周りは不要であれば書かなくて OK です。

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

設定が完了されたら、 Gradle ビルドでライブラリなどがダウンロードされます。

ライブラリの宣言に Proxy 設定が必要なケースがある

上記の設定をすれば大体は完了ですが、一部のライブラリはプロジェクトビルド時に従属の追加のライブラリをダウンロードします。
このケースは gradle.properties の設定では Proxy が通らずエラーになります。

例として Robolectric はビルド時に android-all-instrumented のライブラリをダウンロードしますが、Proxy 環境下では Maven に接近できず失敗します。
自分がハマったところがこれだったのですが、Robolectric の公式ページを見ると Proxy の設定方法を案内していました。
https://robolectric.org/configuring/#system-properties

このように、ビルド時にどこで失敗しているかを確認し、該当するライブラリ側で設定を提供しているか確認しましょう。

自動化のため、コマンドの環境変数にも設定する

プロジェクト内の Proxy 設定が環境したらビルドはできる状態だと思います。
ただ、この PC を自動化のマシンとして使いとか、コマンドでの通信を行う場合は環境変数に Proxy 設定をする必要があるので設定しおくといいです。

おわりに

最近自分がハマったところをメモ書きとして残しました。
もし内容に指摘がありましたらコメントお願いします。

参考リンク

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?