UnityでAndroid用アプリ開発中、 Android ResolverのForce Resolveを実行しようとして、タイトルのエラーが出たときに行った対処法です。
パスは通っているはずなのにこのエラーが出てました。
結論から言うと、
Edit > Preferences > External Tools > Android にあるパス関係のチェックボックスを一度外して再度チェックしなおす
で解決しました。
環境
・Windows 10
・Unity 2021.3.10f1
対処方法
1. Javaのパスを通す
パスが通っていない場合、JAVA_HOME、Pathを設定する。
Unity HubでOpenJDK、Android SDKをインストールした場合も、このパスは手動で設定する必要があります。
設定方法は既にネットにたくさん記事があると思うので省略します。
設定内容は以下です。
・JAVA_HOME・・・以下の3.の画像の枠の中の1つ目のパス(JDKのパス)を設定
・Path・・・%JAVA_HOME%\bin を追加
上記を設定できたら新規コマンドプロンプトを立ち上げて、下記コマンドを実行。
javac -version
Javaのバージョンが表示されたら、一度ここでPCを再起動してください。
これだけで解決するかもしれません。
↓↓↓ 再起動しても駄目な場合 ↓↓↓
2. UnityでPreferencesウィンドウを開く
3. External Tools>Android の中のパス関係のチェックを一度外してまたつける
下の方にある「Copy Path」ボタンが付いているすべての項目について、チェックを外す→もう一度チェックする、を行いました。
本当は全部やらなくていいかもしれない。
とりあえず全部やってみたら直りました。
4. エラーが出た操作を再度行ってみる
恐らくもう"JAVA_HOME is not set~"とは言われないはず。
このあとUnity再起動したらまた同じエラーが出たんですが、PCを再起動したら出なくなりました。
終わりに
日本語の記事が見つけられなかったので書きましたが、ないということはあんまり発生しないエラーなのかも?
自分は1.でJavaのパスを通したあと、PC再起動はせず2.の手順に進んだんですが、その前に再起動しておいたら2以降は不要だった気もします。
元々Java入れてないような初心者開発者にしか起こらないのかもしれないですね。