Unity 中的构建显示错误 Native error= 访问被拒绝

Mr.*_*cio 8 macos unity-game-engine

当尝试统一构建时,出现如下错误:

Error building Player: Win32Exception: ApplicationName='/Applications/Unity/Hub/Editor/2019.3.0a6/PlaybackEngines/AndroidPlayer/SDK/tools/bin/sdkmanager', CommandLine='--list', CurrentDirectory='/Users/meeples/Unity projects/myGame', Native error= Access denied

RJG*_*ngs 12

从路径结构来看,题主是在macOS环境下;这在很多情况下也适用于 Linux。Unity Android SDK 已安装,但他们没有文件系统权限来访问它。Unity 社区针对此问题提供了多种解决方案,我在此重复了这些解决方案。

解决问题的破坏性最小的方法是通过以下方式使问题文件整个 Unity 安装无需提升权限即可运行:

chmod  +x  /Path/To/Problem/File  /Other/Problem/File  /Etcetera
Run Code Online (Sandbox Code Playgroud)

或者

chmod  -R  +x  /Path/To/Unity
Run Code Online (Sandbox Code Playgroud)

问题文件路径可以从错误消息中的值发现ApplicationName,大多数情况下可以找到Unity安装路径。

sudo chmod根据系统环境,可能有必要。

还可以

- 取得问题文件的所有权chown

- 克隆有问题的文件,删除原始文件并替换它们。

这两种方法都有效地获取了文件的所有权并允许用户执行它们,解决了眼前的问题,但可能会引入新的问题,例如同一系统上的其他用户访问失败。