【问题标题】:not finding android sdk (Unity)没有找到 android sdk (Unity)
【发布时间】:2017-07-21 04:13:36
【问题描述】:

错误:

Invalid command android
UnityEditor.HostView:OnGUI()

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_121\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="C:/Users/great/AppData/Local/Android/Sdk\tools" -Dfile.encoding=UTF8 -jar "C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\sdktools.jar" -

stderr[
Error:Invalid command android
]
stdout[

]
exit code: 64
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()

构建播放器时出错:

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_121\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="C:/Users/great/AppData/Local/Android/Sdk\tools" -Dfile.encoding=UTF8 -jar "C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\sdktools.jar" -

stderr[
Error:Invalid command android
]
stdout[

]
exit code: 64

截图:

【问题讨论】:

  • 试试this 看看是否有帮助...
  • 我在使用 unity 2017.0.2f 和 sdk 25.2.5 之前没有问题,直到我安装了 Unity 2017.0.3f 之后突然没有任何效果!
  • 一年后,仍然是个问题。奇怪的是错误说:“CommandInvokationFailure:无法列出目标平台。请确保android sdk路径正确。C:/Users/Francois/AppData/Local/Android/Sdk\tools\bin\avdmanager.bat list target -c" 如果我​​运行那个确切的命令,我会得到一个目标平台列表。所以除了路径中的 \ vs / 混乱之外,该命令有效。

标签: android unity3d


【解决方案1】:

我也有同样的问题。

我通过android sdk工具版本降级修复了。

步骤。

  1. 删除android sdk“工具”文件夹 : [你的 Android SDK 根目录]/tools -> 工具

  2. 下载 SDK 工具: http://dl-ssl.google.com/android/repository/tools_r25.2.5-windows.zip

  3. 将其解压到 Android SDK 根目录

  4. 构建您的项目

【讨论】:

  • 此修复会产生另一个错误:错误:[Temp\StagingArea\AndroidManifest-main.xml:12, C:\Users\Admin\Documents\Google VR\Temp\StagingArea\android-libraries\gvr -permissionsupport-release\AndroidManifest.xml:3] 主要清单具有 但库使用 minSdkVersion='19'
  • 还需要确保将Minimum API Level设置为与SDK相同的级别。这是在播放设置 -> 其他设置中完成的。就我而言,我必须将其设置为 19,因为它已设置为 16。
  • 对于 MacOS:cd $ANDROID_HOME; rm -rf tools; wget http://dl-ssl.google.com/android/repository/tools_r25.2.5-macosx.zip; unzip tools_r25.2.5-macosx.zip
  • 如何在 Mac 上解决它?终端命令对我不起作用。
  • 在此之后我仍然遇到问题。显然 JDK 1.9.0 仍然存在问题。安装 1.8.0 对我有用。适合我的组合:Unity 2017.2.0f3 Android SDK 26 Android SDK Tools 25.2.5 JDK 1.8.0_151
【解决方案2】:

问题是由于 unity 与最新的 Android 构建工具不兼容。 对于 MacOS,这里有一种方法可以让它为您工作:

cd $ANDROID_HOME; rm -rf tools; wget http://dl-ssl.google.com/android/repository/tools_r25.2.5-ma‌​cosx.zip; unzip tools_r25.2.5-macosx.zip

【讨论】:

  • 奇怪的是,我无法使用 wget 访问该链接(得到 404),但是当我在浏览器中打开它时,它会按我的预期开始下载。
  • @livingtech 不幸的是,这是因为当你从 SO 复制它时,它在 url 中有一个空格。
  • 完美的声音,但必须先安装自制软件和wget!另一种方法,下载 zip 文件并手动解压缩!
  • 如果没有wget,可以使用cd $ANDROID_HOME; rm -rf tools; curl http://dl-ssl.google.com/android/repository/tools_r25.2.5-ma‌​cosx.zip > tools_r25.2.5-ma‌​cosx.zip; unzip tools_r25.2.5-macosx.zip
【解决方案3】:

1- 打开https://developer.android.com/studio/index.html

2- 向下滚动到该页面的底部

3- 为您的操作系统下载最新版本的工具(例如 tools_r25.2.3-windows.zip)

4- 解压

5- 从之前的 Android Sdk 文件夹中删除文件夹 tools

6- 将新文件夹 tools 复制到 Android SDK 文件夹,如下图:

【讨论】:

  • 我已经尝试下载它并按照您的步骤操作,但仍然有问题!
【解决方案4】:

Unity 5.6.1 / 2017.1 修复了 Android SDK Tools 25.3.1+ 兼容性问题。这在 issue 888859 和他们的 5.6.1 release notes 下的 Unity 错误跟踪器中注明。

【讨论】:

  • Unity 2017.2 再次打破它。
  • 我使用的是 2017.3.1,我遇到了这个问题。
  • 我正在使用 2018.2.1 但仍然遇到同样的问题
【解决方案5】:

这些是最终对我有用的步骤...

  • 安装JDK jdk1.8.0_131(是的,这个特定的版本,不是以后的版本)并将其设置为Unity中的JDK Path。

  • 删除 android sdk 工具文件夹:[android_sdk_root]/tools

  • http://dl-ssl.google.com/android/repository/tools_r25.2.5-windows.zip下载SDK Tools v25.2.5(此特定版本)

  • 将该存档中的工具文件夹解压缩到 Android SDK 根目录

  • 构建您的项目

【讨论】:

  • 这与安装 JDK jdk1.8.0_131(特定版本)无关,它适用于 jdk1.8.0_151。问题在于存储库工具,就像你写的那样(只有那个)。
【解决方案6】:

对于 Mac OS 用户:

转到您的Android SDK文件夹并删除工具文件夹(我建议您在删除之前复制一份,以防此解决方案无法为您解决问题)

然后在这里下载工具文件夹:

http://dl-ssl.google.com/android/repository/tools_r25.2.5-macosx.zip

你可以在这里找到所有工具的 zip 版本:

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

然后将下载的文件解压到Android sdk文件夹中。

希望对你有帮助

【讨论】:

    【解决方案7】:

    更简单的解决方案:设置环境变量 USE_SDK_WRAPPER=1,或 hack tools/android.bat 添加行“set USE_SDK_WRAPPER=1”。这可以防止 android.bat 弹出“y/n”提示,这正是 Unity 的困惑所在。

    【讨论】:

    • @paul-du-bois 现在在 2018.1x 和 2018.2x 版本的统一中遇到了同样的问题,在默认的“android.bat”文件中添加包装行解决了这个问题。谢谢!
    【解决方案8】:
    1. 删除 android sdk "tools" 文件夹:[您的 Android SDK 根目录]/tools -> tools

    2. 下载 SDK 工具:http://dl-ssl.google.com/android/repository/tools_r25.2.5-windows.zip

    3. 将其解压到 Android SDK 根目录

    4. 构建您的项目

    在那之后它还对我不起作用,我不得不

    1. 转到 Java 档案 (http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html)

    2. 搜索 jdk-8u131 版本。

    3. 接受许可协议,注册帐户并下载版本。

    4. 在 Unity 中安装并定义为 JDK 路径。

    来源:https://www.reddit.com/r/Unity3D/comments/77azfb/i_cant_get_unity_to_build_run_my_game/

    【讨论】:

    • 谢谢你救了我:o 2018 年 12 月 4 日,这仍然不起作用
    【解决方案9】:

    我通过卸载 JDK 9 解决了这个问题。

    【讨论】:

    • 这实际上非常相关 - 由于某种原因 Unity 正在检测最新的 JDK,因此即使设置正确的路径也不起作用 - 必须卸载超过 8 的较新的 JDK。
    • 对我来说,它通过在使用最新的 JDK 和 Android 构建工具时将 JAVA_HOME 和 ANDROID_HOME 添加到系统变量来工作。 set ANDROID_HOME=C:\安装位置\android-sdk set PATH=%PATH%;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
    【解决方案10】:

    Linux 用户:

    cp -r Android AndroidUnity
    cd AndroidUnity/Sdk
    rm -rf tools
    wget http://dl-ssl.google.com/android/repository/tools_r25.2.5-windows.zip
    unzip tools_r25.2.5-windows.zip
    

    在 Unity 首选项中更改为这个新创建的 sdk 文件夹。

    【讨论】:

      【解决方案11】:

      就我而言,我试图为一个旧的 Unity 3D 项目构建并获取 APK(以便我可以在我的 Android 手机上玩游戏)。我使用的是最新的 Android Studio 版本,以及我可以通过 Android Studio 中的 SDK Manager 下载的所有 SDK 包。 SDK 包位于

      C:/Users/Onat/AppData/Local/Android/Sdk 除了 JDK (Java Development Kit) 版本 "jdk-12.0.2" 之外,我得到的错误消息是相同的。 JDK位于

      C:\Program Files\Java\jdk-12.0.2 Windows 中的环境变量为 JAVA_HOME : C:\Program Files\Java\jdk-12.0.2

      经过 3 个小时的研究,我发现 Unity 不支持 JDK 10。如 https://forum.unity.com/threads/gradle-build-failed-error-could-not-determine-java-version-from-10-0-1.532169/ 所述。我的建议是:

      1.如果您已经安装了不需要的 JDK,请卸载它。 https://www.java.com/tr/download/help/uninstall_java.xml

      2.前往http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

      3.如果尚未登录,请登录/打开一个 Oracle 帐户。

      4.为您的计算机设置(32 位/64 位、Windows/Linux 等)下载较旧但功能强大的 JDK 8

      5.安装JDK。记住安装路径。 (https://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/)

      6.如果您使用的是Windows,打开环境变量并通过右键单击我的电脑/这台电脑>属性>高级系统设置>环境变量>新建>变量名称:JAVA_HOME>变量值:[您的JDK路径,我的是“C:\Program Files\Java\jdk1.8.0_221”]

      7.在 Unity 3D 中,按 Edit > Preferences > External Tools 并填写 JDK 路径(我的是“C:\Program Files\Java\jdk1.8.0_221”)。

      8.此外,在同一个弹出窗口中,编辑 SDK 路径。 (从 Android Studio > SDK Manager > Android SDK > Android SDK Location 获取。)

      9.如果需要,重新启动计算机以使更改生效。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-06-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多