環境
- Mac OS X
- Unity Hub 2.1.0
- Unity 2019.2.1f1 (UnityHubでインストール)
- ビルドターゲット:Android
症状
遭遇したエラー
久々に開いた過去プロジェクトをUnity2019.2.1f1に更新し、プラットフォームをAndroidに切り替えて、 Player Settings
を開いたら以下のように何も表示されなかった。
コンソールを見るとなんか色々出てる。
なんかAndroid SDKの設定がうまくいってないっぽいですね。
エラー詳細
CommandInvokationFailure: Failed to update Android SDK package list. /Users/naichi/Library/Android/sdk/tools/bin/sdkmanager --list stderr[ Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156) at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75) at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81) at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73) at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48) Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ... 5 more ] stdout[ ] exit code: 1 // 以下スタックトレース
Unity Hubからインストールした Unity 2019.2.1f1を使ってます。
うまくAndroidSDKが設定できてないと思われます。
Android SDKの設定確認
Unity -> Preferences -> External Tools
なんか警告出てますね。
You are missing the recommended Android SDK Tools. Install the recommended version with Unity Hub.
推奨するバージョンのAndroidSDK入ってねーからUnityHubから入れろよーっと。
Unity Hub
どこから入れるんだ・・・って探したら見つけた。
Unity Hub起動 -> インストール -> 対象バージョンのメニュー -> モジュールを加える
Android Build Supportを 開き
-> Android SDK & NDK Tools
および OpenJDK
にチェックを入れてインストール
ライセンス確認して同意したら実行
インストール待ち〜
確認
Unity -> Preferences
綺麗になりました。
Android Player Settings
ダメじゃん!!!
出てるエラーは一緒だけどパスは変わりましたねw
CommandInvokationFailure: Failed to update Android SDK package list. /Applications/Unity/Hub/Editor/2019.2.1f1/PlaybackEngines/AndroidPlayer/SDK/tools/bin/sdkmanager --list
ググったの試す(これはダメだった)
エラーメッセージでググるとこの記事を見つけました。
書かれてる通り試してみたけど解決せず。
Android SDK Toolsのバージョン
Android Studio -> Configure -> SDK Manager
Android SDK LocationがUnityで入れたものと異なってる(Android Studio入れた時のまま)のでUnityのものと合わせる。(多少ダウンロードが走る)
Android SDK Tools 26.1.1なので最新っぽいですね。
SDK Tools release notes | Android Developers
古ければアップデートしようと思いましたが特に何もできず。
SDK Toolsダウングレード?
なんか似たようなことしたよなぁと過去記事検索したらありました。
2年前、Unity5.6のときにSDK Toolsを25.2.3にダウングレードして対応してます。
直りそうではあるけど2年も経って同じことするのもなんだかなぁ。
AndroidBuild、UnityCloudBuildで出来てるし一旦保留しよ・・・
Unity 2019 + Android SDK Tools 26.1.1でビルド出来てる方いらっしゃいましたら情報いただけますと嬉しいです。