Unity編譯時找不到AndroidSDK的問題 | Unable to list target platforms

現(xiàn)象

在用 Unity 編譯 Android 平臺的應(yīng)用時,遇到 Unable to list target platforms 的問題。

錯誤提示

詳細錯誤描述如下:

Error:Invalid command android
UnityEditor.BuildPlayerWindow:BuildPlayerAndRun()

CommandInvokationFailure: Unable to list target platforms. Please make sure the android sdk path is correct. See the Console for more details.
C:\Program Files\Java\jdk1.8.0_91\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="D:/Android/sdk\tools" -Dfile.encoding=UTF8 -jar "D:\Program Files\Unity\Editor\Data\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.BuildPlayerWindow:BuildPlayerAndRun()

原因

原因簡單描述

Unity 在編譯時會調(diào)用 Android SDK tools 中的 android 命令,而在新版本的 Android SDK tools 中,android這個命令已經(jīng)廢棄了,導(dǎo)致 Unity 無法正常編譯。我的 Android SDK tools 版本是 25.3.1 。

找到問題原因的過程

經(jīng)過再三確認,我配置的 Android SDK 是沒問題的。


SDK設(shè)置

后來我注意到錯誤描述中有提到“無效的命令 android ”,所以我嘗試直接調(diào)用 android 這個命令,看是不是有問題。

Error:Invalid command android

android 命令是 AndroidSDK 中 tools 目錄下的 android.bat 。直接調(diào)用,發(fā)現(xiàn)這個命令已經(jīng)廢棄了。

The "android" command is no longer available.
For manual SDK and AVD management, please use Android Studio.
For command-line tools, use
tools\bin\sdkmanager.bat and tools\bin\avdmanager.bat

解決方案

知道了原因,問題就好解決了。

  1. 從官網(wǎng)下載一個舊版本的 Android SDK tools 。tools_r25.2.3-windows.zip。
  2. 把原來 SDK 目錄下的 tools 備份一下。我是把它重命名成 tools-25.3.1 。
  3. 把下載好的舊版本的 tools 解壓到 SDK 目錄下。
  4. 再在 Unity 中重新編譯,問題已經(jīng)解決了。

對比了一下兩個版本的 tools,差別真的很大,少了很多東西。比如,做.9圖的 draw9patch 就不知道去哪里了。

tools 25.2.3 vs 25.3.1
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,323評論 25 708
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,688評論 19 139
  • 現(xiàn)在android開發(fā)都轉(zhuǎn)到android studio上了, unity與android交互,如unity打開a...
    菲得更高閱讀 7,824評論 2 13
  • 1、投資就是讓自己活在未來 人生的根基是什么,李笑來老師在他的文章里做過透徹的分析。活在當(dāng)下,意味著困在永恒的當(dāng)下...
    kelvin2068閱讀 352評論 1 4
  • 你是我的紅蘿卜,小乖乖, 我是你的小白兔,親愛的。 所以說,我愛你是天上的緣分決定的。
    孫康壽閱讀 305評論 3 0

友情鏈接更多精彩內(nèi)容