質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.05%

  • Unity

    2799questions

    Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

UnityのBuildができなくなりました

解決済

回答 4

投稿

  • 評価
  • クリップ 0
  • VIEW 726

horaihorai

score 1

前提・実現したいこと

unityでAndroidでのBuildがしたいです。

Buildしようとすると、

Unable to list target platforms. Please make sure the android sdk path is correct.  See the Console for details.

と出て、4種類のエラーがconsoleに出ます。

少し前までは普通にBuildできていましたが、unity2017.3.of3にアップデートしてから?できなくなった気がします。 経験が浅いため何卒宜しくお願い致します。

発生している問題・エラーメッセージ

1つ目
CommandInvokationFailure: Unable to list target platforms. Please make sure the android sdk path is correct. 
C:/Users/Owner/AppData/Local/Android/Sdk\tools\bin\avdmanager.bat list target -c

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.AvdManagerCli.parseSdk(AvdManagerCli.java:328)
at com.android.sdklib.tool.AvdManagerCli.run(AvdManagerCli.java:204)
at com.android.sdklib.tool.AvdManagerCli.main(AvdManagerCli.java:195)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
... 6 more
]
stdout[

]
exit code: 1
UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunAndroidSdkTool (System.String toolName, System.String arguments, Boolean updateCommand, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.ListTargetPlatforms (UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit)
UnityEditor.Android.AndroidSDKTools.GetTopAndroidPlatformAvailable (UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK+SDKPlatformDetector.GetVersion (UnityEditor.Android.AndroidSDKTools sdkTools)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK+SDKComponentDetector.Detect (UnityEditor.Android.AndroidSDKTools sdkTools, System.Version minVersion, UnityEditor.Android.PostProcessor.ProgressHandler onProgress)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK.EnsureSDKComponentVersion (System.Version minVersion, UnityEditor.Android.PostProcessor.Tasks.SDKComponentDetector detector)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK.EnsureSDKComponentVersion (Int32 minVersion, UnityEditor.Android.PostProcessor.Tasks.SDKComponentDetector detector)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

2つ目
Error building Player: CommandInvokationFailure: Unable to list target platforms. Please make sure the android sdk path is correct. 
C:/Users/Owner/AppData/Local/Android/Sdk\tools\bin\avdmanager.bat list target -c

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.AvdManagerCli.parseSdk(AvdManagerCli.java:328)
at com.android.sdklib.tool.AvdManagerCli.run(AvdManagerCli.java:204)
at com.android.sdklib.tool.AvdManagerCli.main(AvdManagerCli.java:195)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
... 6 more
]
stdout[

]
exit code: 1

3つ目
Build completed with a result of 'Failed'
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

4つ目
UnityEditor.BuildPlayerWindow+BuildMethodException: 2 errors
at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (BuildPlayerOptions options) [0x0020e] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:181 
at UnityEditor.BuildPlayerWindow.CallBuildMethods (Boolean askForBuildLocation, BuildOptions defaultBuildOptions) [0x00065] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:88 
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

該当のソースコード

External Tools
Android
SDK
C:/Users/Owner/AppData/Local/Android/Sdk
JDK
C:/Program Files/Java/jdk1.8.0_151

(sdkの場所
C:/Users/Owner/AppData/Local/Android/Sdk

試したこと

https://teratail.com/questions/107993
このURLに書いてあることは一通り試しました。(不慣れなこともあり理解が及ばず漏れがある可能性もあります。)
またJDKもJDK 8u151 with NetBeans 8.2をインストールしてみましたが駄目でした。

補足情報(言語/FW/ツール等のバージョンなど)

Unity 2017.3.0f3

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 4

check解決した方法

0

https://qiita.com/relzx/items/7f8e7817c9edd11c5023
上記のURLの指示にしたがった所、解決できました。みなさんご協力ありがとうございました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/02/02 16:21

    良かったですね!

    キャンセル

0

AndroidSDKをダウングレードしてください。

新しすぎて対応していません。

先日、同じ目にあいましてAndroidStudioからだと古いバージョンが見つけられず、
自分はVisualStudioから古いVerを拾ってきて、そちらにPathを通して対応しました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/01/08 18:58

    回答ありがとうございます。一週間以上詰まっているので本当にありがたいです。
    試してみたのですがVisualStudioから古いVerを拾ってくる方法がよくわかりませんでした。本当に素人で申し訳ないです。もしそのやり方も教えていただけるなら本当に助かります。

    キャンセル

0

ANdroidSDKのパスを設定してるのに問題が起きる場合ならこの記事が参考になるかと思います。

簡単に言うとtoolsファイルの中身によってはあなたのエラーが起きます。
(僕も最近までそのエラーにはまっていました)

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/01/08 19:06

    http://nn-hokuson.hatenablog.com/entry/2017/09/05/202327
    この記事の下の方にあるURLから古いバージョンのtoolsファイルをダウンロードして入れ替えればできました。僕は

    キャンセル

  • 2018/01/08 19:53

    ご回答ありがとうございます。本当にありがたいです。URLから古いバージョンのtoolsファイルをダウンロードして入れ替えた所
    Andoroid SDK is outdated

    SDK Tools version22.05<24.0.0

    選択肢(Upate Andoroid SDK)(Cancel)(Use Highest Installed)
    と出てきました。
    もしご都合がよろしければ、この場合の解決策も教えて頂けると本当に助かります。

    URLに記載されていたそれでもエラーが出る場合も試して見ましたができませんでした、何卒よろしくお願いします。

    キャンセル

  • 2018/01/08 20:19

    バージョンを下げすぎてしまったようです。
    先程ダウンロードしていただいたもののバージョンは22.0.5ですが必要なのは24.0.0です。
    https://android.benigumo.com/20170108/platform-tools-url/

    キャンセル

0

VisualStudioを起動して、メニューのツール、ツールと機能を選択。

個別のコンポーネントの中にAndroidSDK(APIレベル25)というのがありますので、それをダウンロードしました。

混在させると面倒な事になりそうな気もしたので、
パスもVisualStudio側に作成して、UnityのAndroidSDKパスもそこに通しました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/01/10 00:26

    重ね重ね本当に申し訳ありません。本当に助かっております。 visual studioから Andoroid SDK(API25)とそれにセットになっていた Java SE Development Kit をインストールしました。そしてvisual studioでインストール時に場所と書かれていた場所をUnityのSDKの所に入力しましたが選択できませんでした。おそらく『パスもVisualStudio側に作成して』の部分が理解出来ていないのだと思い、色々と調べてみた所、PCのシステム環境変数という所のPathにインストール時に場所と書かれていた場所を入力すればいいのかと思い試して見ましたがそれでも同じくうまくいきませんでした。もしどこが間違えているのか、どうすればいいのかを教えて頂けると本当に助かります。何度も本当にすみません。

    キャンセル

  • 2018/01/10 01:46

    パスはVisualStudioという表現が良くなかったです、ダウンロードするAndroidSDKのフォルダを新しく作って、という意味でした。

    環境変数はUnity側で通すので書き換える必要はないです。

    Unity側の環境変数にあたるAndroidSDKのパスは、
    Edit→Prefarences→External Toolsの所で設定するって部分は大丈夫ですか?

    AndroidSDKのインストーラーやAndroidStudioでインストールするとこの場所かと思います。
    C:/Users/Owner/AppData/Local/Android/Sdk

    SDKの場所がここが設定されていて、ここに入っているSDKToolsのVerが新しくて対応していないのが原因なんです。

    なので、visualStudioからインストールしたAndroidSDKを違うフォルダにダウンロードして、Unityの上記の場所で
    そのフォルダを設定してあげればビルドできるようになります。

    キャンセル

  • 2018/01/11 23:55

    すみません、めちゃくちゃ時間があいてしまいました。本当に申し訳ありません。本当にありがとうございます。

    Unity側の環境変数にあたるAndroidSDKのパスは、Edit→Prefarences→External Toolsの所で設定するという部分は大丈夫です。

    VisualStudioでインストールしたtoolsフォルダを今のSdkフォルダのtoolsフォルダと置き換えるという認識で間違いないでしょうか。

    またそうした場合にも何故か同様にエラーが発生してしまいました。すみません。

    キャンセル

  • 2018/01/12 05:47

    そうですね。toolsのフォルダの中身が最新と旧版では違うようです。

    試しに同じエラーが出ている状態(AndroidStudioから最新バージョンに更新したSDK)をVisualStudioからダウンロードしたtoolsフォルダだけを入れ替えてみるとこちらでは問題なくビルドできました。

    appdata\local\sdkのtoolsを削除して、そこにダウンロードしてきたtoolsをコピーしてみた場合どうでしょうか?

    キャンセル

  • 2018/01/12 15:55

    すみません。それでも同様のエラーが出てしまいました。
    ひょっとしたら自分のやり方が間違えているかもしれないのでやったことを詳しく書いてみます。

    C:\Users\Owner\AppData\Local\Android\Sdk\tools
    を削除

    VisualStudioで Andoroid SDK(API25)とそれにセットになっていた Java SE Development Kit をインストール。

    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\tools
    を先ほどtoolsのあったC:\Users\Owner\AppData\Local\Android\Sdkにコピー。

    UnityのEdit→Prefarences→External Tools の Android SDKには
    C:/Users/Owner/AppData/Local/Android/Sdk を入力

    Platform Android で Build

    これで上記のエラーが起こりました。


    また今回は触っていないのですが
    C:\Users\Owner\AppData\Local\Android\Sdkの中に、
    C:\Users\Owner\AppData\Local\Android\Sdk\platform-tools\systrace\catapult\devil\devil\android\tools
    というところのもtoolsフォルダーがありましたがこれも関係しますのでしょうか。

    何卒宜しくお願い致します。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 91.05%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Unity

    2799questions

    Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。