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

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

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

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

3回答

1969閲覧

UnityからAndroidでビルドしたい

kimkim

総合スコア142

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2018/07/20 07:00

編集2018/07/20 07:14

実現したいこと

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ファイルを作成するためにどこをどう変更すればいいのか教えてくださると幸いです。
よろしくお願いいたします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

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ファイルの作成ができるようになりました。

投稿2018/07/24 06:25

kimkim

総合スコア142

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

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

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

投稿2018/07/20 07:56

aja

総合スコア3733

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kimkim

2018/07/20 08:19

初歩的な質問で大変申し訳ございません。 どのようにしてAPI 25のtoolsをダウンロードすればよいのでしょうか。 英語版サイトからダウンロードはしたのですが、 英語版と日本語版サイトではバージョンが違うらしく もしかしたらそれが原因かもしれません。
kimkim

2018/07/20 08:26

すみません。古いバージョンのtoolsに差し替えることはできました。 が、まだ同じエラーが出てしまいます。 JDKが原因かもしれません。 JDKに関してはどうすればいいのでしょうか
kimkim

2018/07/20 08:58

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

2018/07/20 08:59

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

2018/07/20 09:37

してませんでした... 今してみたところ上手くいきそうだったのですが、また 違うエラーが出てしまいました。 ”ArgumentException: Illegal characters in path.”というエラーと 先ほどの質問の下二つのエラーです SDKやJDKのパスはおそらくあっているはずなのですが... 質問内の画像ではSDKのパスがバックスラッシュになっていますが 今はスラッシュにしています。
aja

2018/07/20 10:06

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

2018/07/20 10:13

何度も何度も申し訳ございません。 今、バックスラッシュに変えたのですが エラーの内容は変わりませんでした... 何か解決策はありますかね...
aja

2018/07/20 12: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ビルドするのは問題ないので これができないときは...
kimkim

2018/07/24 06:17

android studioで簡単なアプリがビルドできるか確認して もう一度Unityのほうで実行した結果 無事apkファイルが作成されました! こんなに何回も質問に答えてください本当にありがとうございました!
guest

0

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

投稿2018/07/20 07:09

HiroshiWatanabe

総合スコア2160

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kimkim

2018/07/20 07:15

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問