无法使用 WSL2/Linux 子系统上的 expo 项目连接到 android studio 模拟器,错误:spawn <正确的 adb 位置> ENOENT

akb*_*imo 3 android-studio react-native expo wsl-2

我目前正在尝试使用 expo 开发一个 React Native 应用程序,我使用 Expo CLI 创建并初始化了该项目,并且在我自己的移动设备上使用 Expo Go 应用程序并通过隧道连接 ( npx expo start --tunnel) 进行连接没有任何问题。

我现在遇到的问题是正确连接我的 sdk,通过按a终端来运行 expo android 脚本。我在我的案例中遇到的具体错误是: Error: spawn /mnt/c/Users/Mo/AppData/Local/Android/sdk/platform-tools/adb ENOENT

我遵循了各种堆栈溢出文章和媒体文章,以了解我在我的.bashrcLinux 发行版中正确设置了 ANDROID_HOME 变量。其中一篇文章提到从 Linux 运行工具时出现的一个具体问题是必须添加 .exe 扩展名,否则它将无法工作,问题是这是由 expo 处理的,我不知道如何解决这个问题。

对于上下文来说,这就是我的内容.bashrc

# Android
export ANDROID_HOME="/mnt/c/Users/Mo/AppData/Local/Android/sdk"
export WSLENV=ANDROID_HOME/p
Run Code Online (Sandbox Code Playgroud)

如果有人找到了此问题的解决方案或知道解决方法,请告诉我!

akb*_*imo 6

我不会删除这篇文章,而是用我发现的修复程序进行更新!我最终提出了一个解决方案并解决了我所有的问题,尽管可能不是最优雅的解决方案。

这是 Linux 上的一个常见问题,无法找到扩展名的文件,幸运的是,在这种情况下,我能够简单地创建一个名为 adb 的 adb.exe 副本,它允许脚本从我的 Linux 发行版中正确运行。我还写了一份完整的指南,记录了其他人遇到同样问题时的步骤!

完整深入的指南