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

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

新規登録して質問してみよう
ただいま回答率
86.02%
Unity

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

Q&A

解決済

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

horaihorai
horaihorai

総合スコア14

Unity

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

4回答

0グッド

0クリップ

17197閲覧

投稿2018/01/08 08:33

###前提・実現したいこと
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ページの「注目」タブのフィードに表示されやすくなります。

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

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

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

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

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

適切な質問に修正を依頼しましょう。

回答4

1

自己解決

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

投稿2018/01/26 08:35

horaihorai

総合スコア14

atsushi_yama👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

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

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

このような回答には修正を依頼しましょう。

回答へのコメント

Yuki_Unity

2018/02/02 07:21

良かったですね!

0

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

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

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

投稿2018/01/08 10:53

退会済みユーザー

退会済みユーザー

総合スコア0

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

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

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

このような回答には修正を依頼しましょう。

回答へのコメント

horaihorai

2018/01/09 15:26

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

退会済みユーザー

2018/01/09 16: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の上記の場所で そのフォルダを設定してあげればビルドできるようになります。
horaihorai

2018/01/11 14:55

すみません、めちゃくちゃ時間があいてしまいました。本当に申し訳ありません。本当にありがとうございます。 Unity側の環境変数にあたるAndroidSDKのパスは、Edit→Prefarences→External Toolsの所で設定するという部分は大丈夫です。 VisualStudioでインストールしたtoolsフォルダを今のSdkフォルダのtoolsフォルダと置き換えるという認識で間違いないでしょうか。 またそうした場合にも何故か同様にエラーが発生してしまいました。すみません。
退会済みユーザー

退会済みユーザー

2018/01/11 20:47

そうですね。toolsのフォルダの中身が最新と旧版では違うようです。 試しに同じエラーが出ている状態(AndroidStudioから最新バージョンに更新したSDK)をVisualStudioからダウンロードしたtoolsフォルダだけを入れ替えてみるとこちらでは問題なくビルドできました。 appdata\local\sdkのtoolsを削除して、そこにダウンロードしてきたtoolsをコピーしてみた場合どうでしょうか?
horaihorai

2018/01/12 06: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フォルダーがありましたがこれも関係しますのでしょうか。 何卒宜しくお願い致します。

0

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

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

投稿2018/01/08 10:03

Yuki_Unity

総合スコア129

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

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

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

このような回答には修正を依頼しましょう。

回答へのコメント

horaihorai

2018/01/08 10:53

ご回答ありがとうございます。本当にありがたいです。URLから古いバージョンのtoolsファイルをダウンロードして入れ替えた所 Andoroid SDK is outdated SDK Tools version22.05<24.0.0 選択肢(Upate Andoroid SDK)(Cancel)(Use Highest Installed) と出てきました。 もしご都合がよろしければ、この場合の解決策も教えて頂けると本当に助かります。 URLに記載されていたそれでもエラーが出る場合も試して見ましたができませんでした、何卒よろしくお願いします。

0

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

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

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

投稿2018/01/08 09:10

退会済みユーザー

退会済みユーザー

総合スコア0

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

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

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

このような回答には修正を依頼しましょう。

回答へのコメント

horaihorai

2018/01/08 09:58

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

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

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

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

Unity

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