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

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

ただいまの
回答率

90.86%

  • Unity

    3201questions

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

Unity 2017 4.1.f1におけるAndroid端末へのアプリの実装時エラー

解決済

回答 1

投稿 編集

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

qpalzmoknijb

score 3

 前提・実現したいこと

unity 2017 4.1.f1
android sdk tools 25.2.5
android 5.0.2
windows 10 64bit

android端末にUnityのアプリを実装したいと思っているのですがうまくいきません。

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

Build and Runを実行するとエラーが発生します。

CommandInvokationFailure: Unable to list target platforms. Please make sure the android sdk path is correct. 
C:/Users/ユーザー名/AppData/Local/Android/Sdk\tools\bin\avdmanager.bat list target -c

stderr[
Exception in thread "main" java.lang.NoSuchFieldError: FN_AAPT2
    at com.android.sdklib.BuildToolInfo.<init>(BuildToolInfo.java:352)
    at com.android.sdklib.BuildToolInfo.fromStandardDirectoryLayout(BuildToolInfo.java:224)
    at com.android.sdklib.BuildToolInfo.fromLocalPackage(BuildToolInfo.java:238)
    at com.android.sdklib.repository.AndroidSdkHandler.getLatestBuildTool(AndroidSdkHandler.java:772)
    at com.android.sdklib.repository.targets.PlatformTarget.<init>(PlatformTarget.java:144)
    at com.android.sdklib.repository.targets.AndroidTargetManager.getTargetMap(AndroidTargetManager.java:94)
    at com.android.sdklib.repository.targets.AndroidTargetManager.getTargets(AndroidTargetManager.java:80)
    at com.android.sdklib.tool.AvdManagerCli.displayTargetList(AvdManagerCli.java:535)
    at com.android.sdklib.tool.AvdManagerCli.doAction(AvdManagerCli.java:361)
    at com.android.sdklib.tool.AvdManagerCli.run(AvdManagerCli.java:205)
    at com.android.sdklib.tool.AvdManagerCli.main(AvdManagerCli.java:195)
]
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) [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)
Error building Player: CommandInvokationFailure: Unable to list target platforms. Please make sure the android sdk path is correct. 
C:/Users/ユーザー名/AppData/Local/Android/Sdk\tools\bin\avdmanager.bat list target -c

stderr[
Exception in thread "main" java.lang.NoSuchFieldError: FN_AAPT2
    at com.android.sdklib.BuildToolInfo.<init>(BuildToolInfo.java:352)
    at com.android.sdklib.BuildToolInfo.fromStandardDirectoryLayout(BuildToolInfo.java:224)
    at com.android.sdklib.BuildToolInfo.fromLocalPackage(BuildToolInfo.java:238)
    at com.android.sdklib.repository.AndroidSdkHandler.getLatestBuildTool(AndroidSdkHandler.java:772)
    at com.android.sdklib.repository.targets.PlatformTarget.<init>(PlatformTarget.java:144)
    at com.android.sdklib.repository.targets.AndroidTargetManager.getTargetMap(AndroidTargetManager.java:94)
    at com.android.sdklib.repository.targets.AndroidTargetManager.getTargets(AndroidTargetManager.java:80)
    at com.android.sdklib.tool.AvdManagerCli.displayTargetList(AvdManagerCli.java:535)
    at com.android.sdklib.tool.AvdManagerCli.doAction(AvdManagerCli.java:361)
    at com.android.sdklib.tool.AvdManagerCli.run(AvdManagerCli.java:205)
    at com.android.sdklib.tool.AvdManagerCli.main(AvdManagerCli.java:195)
]
stdout[

]
exit code: 1

 試したこと

android studioを入れて、toolsに何も手を加えていない状態の時はBuild and Run をするとsdk 25をダウンロードしてくださいというようなエラーメッセ時が表示されたのですが、現在は
Unable to list target platforms.Please make sure the android sdk path is correct. See the Console for datails.
と表示されます。
あと、その他の変更点として、SDK Platformsの中から8.1ではなく、5.0を選択しました。主な変更点としては以上です。よろしくおねがいします。

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 1

checkベストアンサー

+1

C:/Users/ユーザー名/AppData/Local/Android/Sdk\tools\bin\avdmanager.bat list target -c

このユーザー名はアルファベットASCII文字でしょうか?

Build and Run をするとsdk 25をダウンロードしてくださいというようなエラーメッセ時が表示された

結局sdk25に変更してないのでしょうか?
リンク内容

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

もしもJDK1.9がインストールされているのであれば
アンインストールして
1.8に変更です

あるいはAndroid Studioをインストールしたときに
C:\Program Files\Android\Android Studio\jre
以下がデフォルトのOpenJDKですからこれをUnity のJDK pathに設定
が基本ではあります

可能性として幾つかの問題が複数重なっている可能性があるので
シンプルがプロジェクトを作ってandroid buildができるか確認してみた方がいいかもしれません

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/04/15 17:08

    ユーザー名はアルファベットASCIIです。
    sdk25.2.5に現在は変更をしています。
    jdkの変更とpathの変更をしてシンプルなプロジェクトのビルドを試みます。ありがとうございました。

    キャンセル

  • 2018/04/15 19:53 編集

    2Dに設定し、長方形を配置しただけのプロジェクトを制作し、jdkのパスを変更してbuild & runをしたところ、
    しかし同様にUnable to list target...というエラーが出てきてしまい、実行することができません。
    jdk 1.8がインストールされていました。
    他の設定部分に関してはいじっておりません。

    キャンセル

  • 2018/04/15 20:42

    >同様にUnable to list target...というエラー
    プロジェクトの問題以前に環境が整っていないということでしょうか
    >jdk 1.8がインストールされていました
    どうやって確認したのでしょう
    Unityに設定しているpathが微妙に(\など)間違っているのかもしれません
    それ以外にTeratailで似たような質問がいくつもありますので検索してみましょう

    キャンセル

  • 2018/04/17 21:25

    jdk 1.8はc/programfiles/java/jdk1.8.0_161との表記があったので1.8と確認することができました。
    状況はパスを確認しても、android studioの設定を変更してもダメだったのですが、android studioとjava jdk1.8.0を再インストールして、android studio でandroid5.0に対応したsdkをandroid studio側からダウンロードしたところ、無事ビルドすることができました。ご回答ありがとうございました。

    キャンセル

  • 2018/04/17 21:40

    android studioとjava jdk1.8.0を再インストールして対策をやり直したということですね
    お疲れ様でした

    キャンセル

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

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

関連した質問

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

  • Unity

    3201questions

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