Expo/GenyMotion 在 运行 项目时抛出 "ADB server didn't ACK"

Expo/GenyMotion throws "ADB server didn't ACK" when running project

我正在尝试在 Ubuntu 上使用 GenyMotion 和 Expo 建立一个 React Native 项目。但是,当我在 Expo 中单击 'Device' 按钮将应用程序打包到模拟器上时,我在 Expo 控制台中收到以下错误:

我最初尝试通过 Android Studio 使用内置 Android 模拟器的 React Native,所以我认为问题可能是我的计算机有多个 ADB 版本(当我 运行 $ adb --start-server 来自终端,它是 运行 Android Studio 二进制文件,而不是 GenyMotion 二进制文件)。所以我:

完成上述操作后,$ ps -aux | grep 5037 输出如下:

即使在退出 GenyMotion 和 Expo 之后,看起来仍然有一个分叉的 ADB 守护进程 运行ning。如果我 cd 我的 GenyMotion SDK 和 运行 $ ./adb kill-server (在退出 GM 和 Expo 之后)该过程不再出现在 ps 的输出中。然而,有趣的是,如果我 运行 $ ./adb start-server 我得到这个:

但是我不知道如何更新ADB的GenyMotion版本。这似乎也表明存在不同的 ADB 服务器和客户端程序。这个对吗?我只与 SDK 文件夹中的 adb 二进制文件进行过交互。

更新:我尝试再次从终端启动 ADB,但无法重新创建版本冲突错误。服务器现在完美启动。

我也遇到了隧道在 Expo 中不起作用的问题,所以我将主机更改为本地主机。它有效,但我不确定此更改的确切含义是什么:

显然,我对 Android 开发很陌生,尤其是 GenyMotion/Expo。但我认为我的故障排除工作非常彻底。我还能尝试什么?

至少对我而言,解决方案是我需要将 export PATH="/home/darik/projects/android/genymotion/tools:$PATH" 添加到我的 .bashrc 文件中。我猜 ADB 服务器没有响应的原因是 Expo 在我的路径环境变量中找不到 ADB 服务器。

我的解决方案是在系统上安装了多个 adb。 我系统上的 adb 版本与 android sdk platform-tools 上的 adb 版本不同。

我只是在 PATH 中添加了正确的文件夹 C:\\Ragnulf\AppData\Local\Android\Sdk\platform-tools