Unity5.6.0以前で「Unable to list target platforms」エラーが発生しAndroid向けビルドができなくなった場合の対応

シェアする

ヨメレバCSS

 UnityでAndroid向けにビルドをしようとすると「Unable to list target platforms」エラーが発生してできなくなったときの対応です。

 どうやらUnity 5.6.0以前 + Android SDKのToolsが25.3.1以降の環境で発生しているようです。

スポンサーリンク
GoogleAdSence レクタングル(大)

[解決] Unity 5.6.1 + SDK Tools 26.0.2はビルドできました

(2017/05/17追記)

 5/17時点の最新である、Unity 5.6.1とSDK Tools 26.0.2でビルドしてみたところ、無事成功しました!

 SDK ToolsはAndroid Studioからダウンロードしたものです。

 つまりUnity 5.6を使っている場合は、Unityを5.6.1にしてSDK Toolsも26.0.2にすれば解決です。

 しかしUnity 5.5.2f1、5.6.0f3では駄目でした。ここから察するに5.6.1で何らかの修正が入ったのでしょうか。5.5を使う場合は引き続き25.2.5を使うことになりそう。

 また26.0.2は、スタンドアロンのSDK Managerが廃止されてしまったようで…android.batを実行しても、

**************************************************************************
The “android” command is deprecated.
For manual SDK, AVD, and project management, please use Android Studio.
For command-line tools, use tools\bin\sdkmanager.bat
and tools\bin\avdmanager.bat
**************************************************************************
Invalid or unsupported command “”
Supported commands are:
android list target
android list avd
android list device
android create avd
android move avd
android delete avd
android list sdk
android update sdk

なんてすげないメッセージが出るだけで、SDK Managerは起動しませんでした。

 本格的にAndroid Studioへの依存が始まるようですね…

[Unity 5.6.0以前の解決方法] Android SDKのToolsをダウングレードする

 ここから先は、Unityのバージョンが5.6.0以前の場合になります。

 Toolsをダウングレードすればひとまずは治るみたいです。

unity3d 5.5.0fx Unable to list target platforms error

 公式の「コマンドライン ツールのみ入手する」からzipをダウンロードして、Android SDKのインストールされているフォルダにある「tools」ディレクトリを入れ替えてやればOK。

Android StudioとSDKツールをダウンロードする

 25.3.1はどうやら、Android Studioから取得、更新を行うと入ってくるよう。公式サイトからtoolsだけを落としてくると、25.2.5みたいです。

 つまりAndroid Studio付属のマネージャで更新を行うと、このエラーに遭遇します。

入れ替えるべきAndroid SDKのパスについて

 肝心のAndroid SDKがある場所については、以下ように確認します。

 Unityで「Editor > Preferences」からダイアログを開き、「Extrenal Tools」の項目内にある「Android > SDK」を確認してください。

 このパスに、Unityが参照しているAndroid SDKがあります。

 また参考までに、AndroidStudioが参照しているAndroid SDKは次のように確認できます。

 AndroidStudioの「File > Settings」より開くダイアログの「Application & Behaviour > System Settings > Android SDK」、または「Tools > Android > SDK Manager」より開いたダイアログで、「Android SDK Location」を確認してください。

 この問題が発生するということは、この2つの参照先は一致していると思いますが、うまくいかない場合には確認してみるとよいかもしれません。

AndroidStudioとtools付属のSDK Managerで最新バージョンが違うみたい

 どうも、AndroidStudioのSDKマネージャと、toolsにあるSDKマネージャで取得してくるバージョンが違うみたい。

AndroidStudioのほうは25.3.1。でも

tools\android.batでみると25.2.5。

 つまりAndroidStudioのほうからアプデすると、25.3.1になってしまいます。Unityとの相性で悩んでいる場合はandroid.batのほうでアプデなどしたほうがいいかもしれませんね…(どちらも3/9時点での話ですが)

スタンドアロンのマネージャはandroid.batになっていた

 上のandroid.batについて。以前は、公式サイトの配布に「SDK Manager」という実行ファイルが含まれていて、そちらでtoolsや各SDKを取得してきていました。

 それが今回は見当たらないなと思ったら、tools\android.batになっていたんですね。

 android.batを実行すると、SDK Managerが起動します。全く気づいてなかった…

コメント

  1. yamada より:

    ありがたい

    • かげろ かげろ より:

      お役に立てたのであればよかったです。
      原因がわかりづらいですからね…こういうトラブルは…

  2. ten より:

    とても助かりました。

  3. ぶっぱ より:

    初めまして
    同じような症状に見舞われまして、検索でここにたどり着きました。
    unity上で同じエラーメッセージが出たため、ビルドできずSDK tools のバージョンをAndroidStudioのほうで確認したところ、25.3.1だったので、記事通りにダウングレードしようと思うのですが、入れ替えるべきtoolsがあるフォルダがわかりません。
    最近インストールしたので該当箇所がAndroid Studioのフォルダだと思っていたのですが差し替えるべきtoolsが見つかりませんでした。
    どこか別の場所にあるのでしょうか?(Android SDKというフォルダが他にあるのでしょうか)
    もしよかったらお答えいただければありがたいです、よろしくお願いいたします。

    • かげろ かげろ より:

      初めまして。ご質問ありがとうございます。

      お察しの通り、AndroidStudioとAndroid SDKは別のところにあります。
      Unityから参照しているAndroid SDKのパスは、Unity上の操作で「Editor > Preferences > External Tools」にある、「Android」の項目の「SDK」で確認することができます。

      またご参考までに、AndroidStudioが参照しているAndroid SDKのパスは、「File > Settings」より開くダイアログの「Application & Behaviour > System Settings > Android SDK」、または「Tools > Android > SDK Manager」から開くダイアログの、「Android SDK Location」で確認できます。

      この二つのパスは一致していると思いますが、もし違っていた場合は、Unityが参照しているほうのtoolsを入れ替えて対処してみてください。

      記事本文にも追記いたしましたので、そちらもご参考になれば幸いです。

      • ぶっぱ より:

        前者の方で試したところずっとSDKのパスが表示されておらず、不思議に思っていましたがExternal Toolsウィンドウを拡大したところその欄が出てきました(スクロールバーがなかったことを言い訳にさせてください…)

        パスがわかったので、参照したところ、toolsフォルダがあるAndoridSDKフォルダにたどり着くことが出来ました。まだ入れ替えまでは試してはいませんが、これからやってみたいと思います。
        素早い返信本当にありがとうございました。

        • かげろ かげろ より:

          環境によってはパスの表示が見えてないこともあるのですね…SDKフォルダにたどり着けたようでよかったです。
          あとは入れ替えるだけだと思うので、がんばってくださいー

  4. Android久しぶり人 より:

    初めまして、
    こちらの記事のおかげで、問題が解決しました。本当にありがとうございます!