Android開発環境が詰んだときの解決方法

2 min read読了の目安(約2500字 1

経緯

Androidアプリ開発をしようと、3か月前に触っていたAndroidStudioを起動したらGradleの同期失敗でビルドが通らなくなっていた。
2日かけて根気強く試行錯誤した後に環境構築が成功し、同様の情報がネット上に確認できなかったので、誰か同じ症状で悩む人の為に記事化します。

詳細は不要で解決方法だけ知りたい方は解決方法まで飛んでください。

使用環境

  • Windows10 HOME (OME版) バージョン 20H2
  • JDK 15,14,11,1.8
  • Kaspersky Security (以下Kaspersky)

出ていたエラー

Gradle sync failed: Cause: unable to find valid certification path to requested target (証明書のエラー)

Tag missmatch! (全然わからん)

他にもGradle、Android Gradle plugin、JDKを色々と交換して試行錯誤している間に他のエラーが出ていましたが、バージョンが統一されてないことによるエラーだと思うので割愛。

原因の推測

Tag missmatch!は情報がなく本当に意味が分からないのですが、全ては使用しているアンチウイルスソフトのKasperskyによるものだと考えられます。
当初、Kasperskyでは暗号化された接続を全てスキャンしエラーが発生したら全て無視するようにしていました。
(設定>ネットワーク設定>暗号化された接続のスキャンで確認出来ます)
これを無視から全て確認する(エラー発生時に通過or無視を選択出来る)ように変更しました。
するとエラー内容が Tag missmatch! に変わったので問題は解決したように思われます。
それでもエラーが残ってるので詰みました。

根本原因

おそらくKasperskyです。
Kasperskyでは使用される証明書がKasperskyのものに入れ替えられてます。(KasperskyにてネットワークのスキャンをONにしているからなのか、OFFでもなのかは検証していませんが)
AndroidStudioとIntelliJをインストールし直すと初回起動時に、プラグインマーケットなどに接続する通信が証明書エラーとして止められました。

前述のKasperskyによるポップアップではなく、IDEからのポップアップとして表示されています。
プラグインなどはポップアップで承諾を押せばインストールできますが、今回のGradle同期失敗のエラーには効果がありませんでした。

解決方法

Windowsローカルアカウントを新しく作りました

別のPCにインストールなど試行錯誤しましたが埒が明かなくなったので、最終手段として新しい管理者アカウントを作成しました。(権限が不要なら管理者である必要はないです)

他の開発環境を構築する際もそうですが、必ず日本語を含まないアカウント名にする必要があります。
ローカルでなくMicrosoftアカウントに紐づけて作成すると往々にして日本語アカウントが作成されるので気を付けましょう。

IntelliJのインストール

IntelliJ IDEAのインストーラをそのままダウンロードしてきてもいいのですが、旧バージョンのインストールし直しが簡単になりそうだったのでJetBrains Toolbox Appをインストールしました。

https://www.jetbrains.com/ja-jp/toolbox-app/
ToolboxからIntelliJ IDEA Community 2020.3.2の最新版をインストールします。
所々Kasperskyに弾かれる証明書の承諾をしますが、あとは通常のインストール手順通りにIntelliJ IDEAのセットアップとKotlinや日本語化のプラグインのインストールとそれに伴う再起動をします。

Android環境の構築

ここから何回か通信確認のポップアップによって止まることもありましたが、他サイトにある通常のインストール手順で問題ありませんでした。

残った問題

ビルドもAVM上での実行も出来、当初の問題は解決されましたが又別のエラーが発生しました。

3つ目のエラーから再度通信の問題が発生していると考えられますが、その下部2つにあるようにビルドと実行は成功しています。
現状この3つのエラーによって不具合等は確認されていないため、放置することにしました。

以上でKotlinを使うAndroid開発環境が整いました!

余談

eclipseの環境構築する際もこの方法で出来たのでJDKを用いる開発環境を構築する際は最終奥義として覚えておくと2日も無駄にしなくて済みます()

解決してから記事にしようと思い立ったので削除したSDKやインストールし直してる手順の画像を用意しておけば良かったと感じています。
今度からはエラーが出たら親の仇のようにキャプチャした方が良いですね。

5年ほどKasperskyを愛用していますが、Kasperskyが原因でネット上に解決策の見当たらない問題が多いように感じるので他のアンチウイルスソフトに乗り換えたほうが良いかもしれませんね。