【发布时间】:2022-03-25 04:50:28
【问题描述】:
当我尝试为 Android 平台导出游戏构建时,我开始收到此错误:
在项目设置中 - 无论如何都不会加载最低 API 级别和目标 API 级别! 虽然我使用了 Unity 提供的所有默认设置来导出 Android 构建。 这是说明这一点的图像:
现在如何解决这个错误?
我已经阅读了与同一问题相关的所有线程,但总体而言我无法找到真正适合我的解决方案。
【问题讨论】:
当我尝试为 Android 平台导出游戏构建时,我开始收到此错误:
在项目设置中 - 无论如何都不会加载最低 API 级别和目标 API 级别! 虽然我使用了 Unity 提供的所有默认设置来导出 Android 构建。 这是说明这一点的图像:
现在如何解决这个错误?
我已经阅读了与同一问题相关的所有线程,但总体而言我无法找到真正适合我的解决方案。
【问题讨论】:
不知道是不是同样的问题,但我每次都是这样处理的。
编辑:现在我就这样做了;我在播放器设置中打开其他设置选项卡。控制台中出现错误。我播放并停止一次,错误消失(无需更改 API 级别)
【讨论】:
我刚刚在使用 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"));
}
【讨论】:
这对我有用:- 编辑>首选项>在 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(所有五个框)而不是紧密统一。再次打开并再次选中所有五个框。
【讨论】:
我不知道为什么,但是在 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.
这个解决方案对我有用。
【讨论】: