1

我无法让控制器模拟器在 Arch Linux 64 位下与 Google VR SDK 1.1 和 Unity 5.6b3 一起使用。如果我在 Unit 中加载 GVRDemo 场景并单击播放按钮进入播放模式,控制台显示如下:

“未找到 Android 调试桥 ( adb) 命令。确认已安装 Android SDK,并且包含的​​目录adb包含在您的 PATH 环境变量中。”

在 Windows 中,您必须将包含 Android Debug Bridge (adb) 程序的目录添加到 Windows 本身的 PATH 环境变量中(而不是在 Unity 程序中)。一旦你这样做了,控制器模拟器就可以在 Windows 中正常工作。显然,你必须在 Linux 中做同样的事情,才能让 Unity 找到 adb,从而让 Controller Emulator 手机工作以测试游戏。

我在主目录的 .bashrc 和 .profile 文件中添加了以下行:

“PATH=/home/jesse/Android/Sdk/platform-tools/:$PATH”

然而,这并不能解决问题。

我还将 Android SDK 的根目录添加到我的 Unity Preferences > External Tools 部分。

我不知道如何让 Unity 和 Google VR SDK 将包含 adb 的目录识别为 Unity 使控制器模拟器工作所需的 PATH 环境变量。

还有其他人有这个问题吗?有修复或解决方法吗?

4

1 回答 1

1

我能够找到罪魁祸首并修改 Google VR SDK 脚本以使其正常工作!原来在名为“EmulatorClientSocket.cs”的脚本文件的代码中存在关于非 Windows 机器的问题。这是我改变的地方,以及为什么:

最初,在该脚本的第 111 和 112 行,它显示为:

stringprocessFilename="bash";

stringprocessArguments = string.Format(" -l -c \"{0}\"", adbCommand);

上下文是,当 Windows 不存在时(请原谅我的外行术语——我一个月前才开始学习编码),处理的命令是这样的:bash -l -c "adb forward tcp:7003 tcp:7003"。问题是在命令中使用-l选项时,命令被解释为好像来自登录 shell,我相信这意味着 bash 没有查看用户的 .bashrc 中设置的自定义环境变量和.profile 文件在他们的主目录中。如果不查看这些文件,bash 无法找到 adb 命令(尝试在终端中运行上面的粗体命令,结果将提示找不到 adb 命令)。

为了解决这个问题,我只是从第 112 行删除了-l选项,瞧!一切都像魅力一样!第 111 和 112 行现在如下所示:

stringprocessFilename="bash";

stringprocessArguments = string.Format(" -c \"{0}\"", adbCommand);

当从终端或 Xterm 运行“unity-editor”或“unity-editor-beta”时,修复将起作用,但从应用程序菜单运行它仍然会产生 adb 错误并且控制器模拟器将无法工作。

于 2017-01-17T22:20:30.710 回答