プロキシを通さないとネットに繋がらない環境でUnityのAndroid向けビルドを行うまでに必要だったことをまとめます。
4つのプロキシ設定をしたらビルドできるようになりました。プロキシ設定はそれぞれの環境に合わせて読み替えてください。
1. システムのプロキシ設定
Windows標準のやつ。設定アプリ→ネットワークとインターネット→プロキシ、で設定。
2. システムの環境変数の設定
環境変数に以下の2つを設定します。これはUnity Hubで必要だったはず。
HTTP_PROXY=http://192.168.1.1:8080 HTTPS_PROXY=http://192.168.1.1:8080
3. gradle.propertiesの作成
%userprofile%\.gradle
フォルダ(C:\Users\ユーザー名\.gradle
)の中にgradle.properties
というファイルを作り、プロキシ設定を記載します。
systemProp.http.proxyHost=192.168.1.1 systemProp.https.proxyPort=8080 systemProp.https.proxyHost=192.168.1.1 systemProp.http.proxyPort=8080
4. sdkmanager.batの修正
この情報だけ微妙に出てこなくてしばらく躓いてました。ソースはこれ。
やることとしては、C:\Program Files\Unity\Hub\Editor\バージョン\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\bin
にあるsdkmanager.batを編集します。
Unity Editorを複数インストールしている場合やバージョンアップをする場合はそれぞれこの作業が必要です。
① 17行目あたりにあるset DEFAULT_JVM_OPTS="-Dcom.android.sdklib.toolsdir=%~dp0\.."
を次のように変更します。
set DEFAULT_JVM_OPTS="-Dcom.android.sdklib.toolsdir=%~dp0.." -Dhttp.proxyHost=192.168.1.1 -Dhttp.proxyPort=8080
② 69行目あたりにある"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %SDKMANAGER_OPTS% -classpath "%CLASSPATH%" com.android.sdklib.tool.sdkmanager.SdkManagerCli %CMD_LINE_ARGS%
を次のように変更します。
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %SDKMANAGER_OPTS% -classpath "%CLASSPATH%" com.android.sdklib.tool.sdkmanager.SdkManagerCli %CMD_LINE_ARGS% --no_https --proxy=http --proxy_host=192.168.1.1 --proxy_port=8080
これでプロキシ環境下でAndroidビルドができるようになりました。