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

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

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

スポンサーリンク

[解決] 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が起動します。全く気づいてなかった…

スポンサーリンク

シェアする

スポンサーリンク