【问题标题】:Failed to update Android SDK Package List - Unity 2019.2.10f1更新 Android SDK 包列表失败 - Unity 2019.2.10f1
【发布时间】:2022-03-25 04:50:28
【问题描述】:

当我尝试为 Android 平台导出游戏构建时,我开始收到此错误:

在项目设置中 - 无论如何都不会加载最低 API 级别和目标 API 级别! 虽然我使用了 Unity 提供的所有默认设置来导出 Android 构建。 这是说明这一点的图像:

现在如何解决这个错误?

我已经阅读了与同一问题相关的所有线程,但总体而言我无法找到真正适合我的解决方案。

【问题讨论】:

    标签: android unity3d


    【解决方案1】:
    1. 项目设置 > 播放器 > 目标 API 级别:将“自动”更改为“Android 11”(或其他)
    2. 播放一次就停止。
    3. 将目标 API 级别更改为自动。

    不知道是不是同样的问题,但我每次都是这样处理的。

    编辑:现在我就这样做了;我在播放器设置中打开其他设置选项卡。控制台中出现错误。我播放并停止一次,错误消失(无需更改 API 级别)

    【讨论】:

    • 我不知道怎么可能,谢谢你!你今天救了我!
    • 我不知道它是如何工作的!谢谢!
    • 我希望除了点赞之外还有别的东西
    【解决方案2】:

    我刚刚在使用 Unity 2019.4.18.f1/2019.2.21.f1 的 MacOS 上遇到了同样的错误,经过一番折腾,我想我可能已经弄清楚了一些问题。

    有时(不知道为什么)当您启动 Unity 时,Unity(或其他)会开始将 JAVA_HOME 环境变量重置为空字符串。因此,即使您通过控制台或 .bashrc/.zshrc 根据 MacOS 版本设置 JAVA_HOME,它仍然不起作用。

    一些帖子提到在外部工具 SDK 路径的末尾添加“/”。我认为这只会迫使 Unity 再次设置路径,使其工作一段时间。但对我来说,错误只是在第二天出现。

    我永久修复了它,将编辑器脚本添加到编辑器文件夹,每次 Unity 启动/加载时都会更改 JAVA_HOME 环境变量。

    这是MacOS的方法,只需将其粘贴到编辑器文件夹中的C#脚本中即可。

    [InitializeOnLoadMethod]
    static void SetJavaHome()
    {
        //Debug.Log(EditorApplication.applicationPath);
    
        Debug.Log("JAVA_HOME in editor was: " + Environment.GetEnvironmentVariable("JAVA_HOME"));
    
        string newJDKPath = EditorApplication.applicationPath.Replace("Unity.app", "PlaybackEngines/AndroidPlayer/OpenJDK");
    
        if (Environment.GetEnvironmentVariable("JAVA_HOME") != newJDKPath)
        {
            Environment.SetEnvironmentVariable("JAVA_HOME", newJDKPath);
        }
    
        Debug.Log("JAVA_HOME in editor set to: " + Environment.GetEnvironmentVariable("JAVA_HOME"));
    }
    

    【讨论】:

    • 这个解决方案对我有用
    【解决方案3】:

    这对我有用:- 编辑>首选项>在 JDK 单击复制路径> 然后取消选中 JDK 并在其中再次粘贴复制的路径,然后在 OpenJDK 添加 \ 像这样:之前:C:\Program Files\Unity\Hub\Editor\2020.1.3f1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK 之后:C:\Program Files\Unity\Hub\Editor\2020.1.3f1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK\

    如果这不起作用,则取消选中 JDK、SDK、NDK、Gradle 和 Stop Gradle(所有五个框)而不是紧密统一。再次打开并再次选中所有五个框。

    【讨论】:

    • 为什么会出现这个问题?
    【解决方案4】:

    我不知道为什么,但是在 mac os 上,如果你有,unity 可能会使用最新版本的 java。

    如果你安装了几个版本的java,你可以删除除java v1.8之外的所有版本。

    您可以通过在终端输入/usr/libexec/java_home -V来查看您拥有的java版本。

    您应该有 2 或更多版本。 如果您使用 brew 安装它们,您可以使用 brew 卸载额外的 java 包。 您也可以按类型更新JAVA_HOME 系统变量 echo export "JAVA_HOME=$(/usr/libexec/java_home -v 1.8)" >> ~/.zshrc.

    这个解决方案对我有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-22
      • 1970-01-01
      • 1970-01-01
      • 2012-12-23
      • 1970-01-01
      相关资源
      最近更新 更多