注目キーワード

UnityからAndroidに書き出すとき「Build failure」エラーでAPKファイルの作成に失敗したときの対処方法

■現象が発生したときの開発環境

Unity5.3.4

Android SDK Build Tools Version 26

 

■概要

UnityからAndroidのAPKファイルに書きだそうしたら、エラーが出て書き出し失敗しAPKファイルが作成できなかった。それをどのようにして解決したのか解説します。

 

エラーダイアログのエラー内容は以下の通り。

Build failure

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

 

コンソール上には以下のようなログが出力されました。


CommandInvokationFailure: Unable to list target platforms. Please make sure the android sdk path is correct. See the Console for more details. 
/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/bin/java -Xmx2048M -Dcom.android.sdkmanager.toolsdir="/Users/liberteenz/Library/Android/sdk/tools" -Dfile.encoding=UTF8 -jar "/Applications/Unity_5.3.4/PlaybackEngines/AndroidPlayer/Tools/sdktools.jar" -

stderr[
Error:Invalid command android
]
stdout[

]
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunCommandInternal (System.String javaExe, System.String sdkToolsDir, System.String[] sdkToolCommand, Int32 memoryMB, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunCommandSafe (System.String javaExe, System.String sdkToolsDir, System.String[] sdkToolCommand, Int32 memoryMB, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.HostView:OnGUI()

 

 

 

原因

android toolsのバージョンが26になっていて、現象発生時のUnity(Unity5.3.4)に対応していなかったのが原因です。

 

 

対処方法

対処方法は、Android SDKのtoolsの内容をTools 25に置き換えました。

 

(1)tools25のダウンロード

以下のサイトから「tools_r25.2.5-macosx.zip」をダウンロードします。

https://androidsdkoffline.blogspot.jp/p/android-sdk-tools.html

 

(2)tools_r25.2.5-macosx.zipの解凍

「tools_r25.2.5-macosx.zip」をダウンロードが終わったら解凍します。

その結果、「tools」フォルダが生成されます。

 

(3)「tools」フォルダの置き換え

「AndroidのRootフォルダ/sdk/tools」のtoolsを(2)で生成された「tools」で置き換えます。

 

(4)再びビルド

再びビルドします。

その結果、エラーがでなくなり無事にAPKファイルが作成されました。

 

めでたし、めでたし〜

意外にハマったな・・・。