Introduction
忘備録。
Zscaler を使っていると開発ツールが予期せぬ挙動を示すことが本当に多い。
さらにプロキシも使用して外部に接続しているとなお面倒だ。
掲題の通り、Flutter で Android アプリをビルドする際、Gradle が動くが、プロキシや証明書が邪魔をして、外部からのプラグイン等のダウンロードに失敗する。
当然、対策は用意されていて、証明書に関して言えば、Java に証明書を認識させればいい。
例えば OSX ならこんな感じ。
1 | sudo keytool -import -trustcacerts -file cert.cer -keystore /Library/Java/JavaVirtualMachines/temurin-8.jdk/Contents/Home/jre/lib/security/cacerts -alias ca |
無論、Gradle を実行する Java と証明書のインストール先の Java は同一である。
が、それでも Gradle が認識しない。
1 | flutter build apk |
なぜ?
How to resolve?
Gradle の設定に証明書の場所を指定されればいい。
Gradle の設定は ~/.gradle/gradle.properties
にある。
1 | systemProp.http.nonProxyHosts=localhost |
プロキシの設定と一緒に記載すればOK。
当然、keytool で上記のファイルに証明書を追加する必要があるのは変わらない。