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

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

ただいまの
回答率

90.34%

  • Unity

    4393questions

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

UnityからAndroidでビルドしたい

解決済

回答 3

投稿 編集

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

kimkim

score 41

 実現したいこと

APKファイルを作成したいです

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

BuildSettingからBuildをクリックしapkファイルの保存場所をしていすると少しローディングがあって
以下の3つのエラーが発生してしまいます。

CommandInvokationFailure: Unable to list target platforms. Please make sure the android sdk path is correct. 
C:\Users\kim-sangwoo\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.run(AvdManagerCli.java:213)
    at com.android.sdklib.tool.AvdManagerCli.main(AvdManagerCli.java:200)
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)
    ... 5 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)
Build completed with a result of 'Failed'
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
UnityEditor.BuildPlayerWindow+BuildMethodException: 2 errors
  at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (BuildPlayerOptions options) [0x0021f] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:182 
  at UnityEditor.BuildPlayerWindow.CallBuildMethods (Boolean askForBuildLocation, BuildOptions defaultBuildOptions) [0x00065] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:89 
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

 試したこと

以下に行った設定をできる限り全部書きます。
https://qiita.com/relzx/items/7f8e7817c9edd11c5023
https://techacademy.jp/magazine/2229
を参考に行いました。

1.AndroidStudioをインストール(Version 3.1.3)
2.SDKをインストール
イメージ説明
3.JDKをインストール
4.NDKをインストール
5.PlayerSettingsのCompanyName,ProductNameを変更
イメージ説明
6.PlayerSettingsのPackageName,MinimumAPILevelを変更(MinimumAPILevelは勝手に変更してしまいました。)
イメージ説明
7.Unity Preferences の External Tools の SDK や JDKを設定
イメージ説明
SDKのパスは”C:\Users\kim-sangwoo\AppData\Local\Android\Sdk”
となっています。

BuildSettingsを開いたときはこんな感じになっています。
イメージ説明

もしよろしければAPKファイルを作成するためにどこをどう変更すればいいのか教えてくださると幸いです。
よろしくお願いいたします。

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 3

check解決した方法

0

 質問時から行ったことの流れ

ajaさんの回答を参考にしながら

1.jdk 1.8をダウンロード
2.環境変数を設定
3.PCを再起動
4.Unity Preferences の External Tools の SDK や JDK のパスをバックスラッシュに変更
5.Android Studioで新規プロジェクトの作成(インストールしてから一度もプロジェクトを作成したことがなかった)
6.Android Studioの仮想デバイスでしっかり動くことを確認
7.Android Studioでapkファイルが作成できるか確認
8.もう一度Unityでapkファイルを作成してみる
9.できた

正確な原因はわからなかったが一応apkファイルの作成ができるようになりました。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

0

Unity Preferences の External Tools の SDK や JDK にパスは正しく設定されていますか?

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/07/20 16:15

    設定しました。
    詳しくは追記いたしました。

    キャンセル

  • 2018/07/20 16:53

    これと同じ原因?
    https://teratail.com/questions/101116

    この辺が参考になるかも
    https://hackerslab.aktsk.jp/2017/04/26/171821
    https://qiita.com/niusounds/items/bcbeee622b2114b4016e
    https://blog.naichilab.com/entry/unable-to-list-target-platforms

    キャンセル

  • 2018/07/20 17:27

    そうかもしれません。

    https://qiita.com/niusounds/items/bcbeee622b2114b4016e
    にしたがって古いバージョンのtoolsに差し替えてみました!

    ですがまだエラーが出てしまいます...

    キャンセル

0

Android SDK toolsは
API 25の古いものを差し替えているのでしょうか

すでにそれは解消されたと思います。
Unity 2018.1.x

Android Studio自身は自分のOpenJDKを使っています(大人の事情で...)
JDKをOracleのものにしていても問題はないと思いますが
JDK-10はAndroidが対応していません

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/07/20 17:19

    初歩的な質問で大変申し訳ございません。
    どのようにしてAPI 25のtoolsをダウンロードすればよいのでしょうか。

    英語版サイトからダウンロードはしたのですが、
    英語版と日本語版サイトではバージョンが違うらしく
    もしかしたらそれが原因かもしれません。

    キャンセル

  • 2018/07/20 17:26

    すみません。古いバージョンのtoolsに差し替えることはできました。

    が、まだ同じエラーが出てしまいます。

    JDKが原因かもしれません。
    JDKに関してはどうすればいいのでしょうか

    キャンセル

  • 2018/07/20 17:39

    逆ですAPI25のtoolsへの差し替えはいらないです
    Unity 2018.1であればですが
    とりあえずそれは後でもいいような気がしますが
    https://uni.gas.mixh.jp/unity/android-build.html#6

    JDKは1.8です
    https://developer.android.com/studio/install?hl=ja
    https://akira-watson.com/android/adt-windows.html#JDK

    キャンセル

  • 2018/07/20 17:58

    unityのバージョンは2018.1.3f1です。

    そうなのですね!
    toolsは最初の状態に戻して、
    JDKは参考のURLを参考にして、JDK1.8をインストールしました。
    (以前はJava SE 10.0.2というのをインストールしてしまっていた)
    また、環境変数も設定しました。
    しかしまだ同じエラーが出てしまいます…

    キャンセル

  • 2018/07/20 17:59

    PC再起動しましたか?環境変数の変更なので

    キャンセル

  • 2018/07/20 18:37

    してませんでした...
    今してみたところ上手くいきそうだったのですが、また
    違うエラーが出てしまいました。

    ”ArgumentException: Illegal characters in path.”というエラーと
    先ほどの質問の下二つのエラーです

    SDKやJDKのパスはおそらくあっているはずなのですが...

    質問内の画像ではSDKのパスがバックスラッシュになっていますが
    今はスラッシュにしています。

    キャンセル

  • 2018/07/20 19:06

    windows環境だとバックスラッシュなのでは

    キャンセル

  • 2018/07/20 19:13

    何度も何度も申し訳ございません。

    今、バックスラッシュに変えたのですが
    エラーの内容は変わりませんでした...

    何か解決策はありますかね...

    キャンセル

  • 2018/07/20 21:31

    地道に切り分けして確認するしかないでしょう
    1) Android StudioでHelloworldなどの簡単なアプリがビルドできるか、apkも作成できるか
    SDKのpathに問題があったらここでエラーになるはず
    別テストで
    Minimum API Level 7.0 に合わせてみる minSdkVersion 24
    (kim-sangwooが怪しい気がしますが確証無し)
    2) build が通ったら、Android StudioのSDKとJDK(OpenJDK)のパスを記録
    3) 空のUnityプロジェクトを作成、ここでAndroidStudioと同じSDKとJDKを設定
    このプロジェクトのAndroidビルドが通るか
    余計な設定はせずに必要最低限のみ
    4) これらのどのステップでどこかで引っかかったところから先に更に進めてデバッグする

    基本的にUnityの空プロジェクトをAndroidビルドするのは問題ないので
    これができないときは...

    キャンセル

  • 2018/07/24 15:17

    android studioで簡単なアプリがビルドできるか確認して
    もう一度Unityのほうで実行した結果
    無事apkファイルが作成されました!

    こんなに何回も質問に答えてください本当にありがとうございました!

    キャンセル

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

  • Unity

    4393questions

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