• Unity编译时找不到AndroidSDK的问题 | Unable to list target platforms(转载)


    https://forum.unity.com/threads/unable-to-merge-android-manifests-for-vr.450528/

     

    原文:http://www.jianshu.com/p/fe4c334ee9fe

    现象

    在用 Unity 编译 Android 平台的应用时,遇到 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 FilesJavajdk1.8.0_91injava.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="D:/Android/sdk ools" -Dfile.encoding=UTF8 -jar "D:Program FilesUnityEditorDataPlaybackEnginesAndroidPlayer/Toolssdktools.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 在编译时会调用 Android SDK tools 中的 android 命令,而在新版本的 Android SDK tools 中,android这个命令已经废弃了,导致 Unity 无法正常编译。我的 Android SDK tools 版本是 25.3.1 。

    找到问题原因的过程

    经过再三确认,我配置的 Android SDK 是没问题的。


    SDK设置


    后来我注意到错误描述中有提到“无效的命令 android ”,所以我尝试直接调用 android 这个命令,看是不是有问题。

    Error:Invalid command android

    android 命令是 AndroidSDK 中 tools 目录下的 android.bat 。直接调用,发现这个命令已经废弃了。

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

    解决方案

    知道了原因,问题就好解决了。

    1. 从官网下载一个旧版本的 Android SDK tools 。tools_r25.2.3-windows.zip
    2. 把原来 SDK 目录下的 tools 备份一下。我是把它重命名成 tools-25.3.1 。
    3. 把下载好的旧版本的 tools 解压到 SDK 目录下。
    4. 再在 Unity 中重新编译,问题已经解决了。

    对比了一下两个版本的 tools,差别真的很大,少了很多东西。比如,做.9图的 draw9patch 就不知道去哪里了。

     
     
     
     
    覆盖后还报错时,提示API版本号对不上时,修改Target API Level (highest)
     
     
     
     
  • 相关阅读:
    SQL SERVER 运维日记-数据库备份
    SQL调优日记--并行等待的原理和问题排查
    数据库服务器构建和部署最佳实践
    实战案例--TEMPDB暴涨
    关于TRIM的优化技巧
    SQL SERVER 的前世今生--各版本功能对比
    Sleeping会话导致阻塞原理(下)
    SQL SERVER运维日记--收缩数据库
    SQLSERVER 运维日记-数据库状态
    EXPERT FOR SQL SERVER诊断系列--索引
  • 原文地址:https://www.cnblogs.com/alps/p/7919629.html
Copyright © 2020-2023  润新知