适用于 Android 的 react-native 和 Visual Studio 模拟器

Posted

技术标签:

【中文标题】适用于 Android 的 react-native 和 Visual Studio 模拟器【英文标题】:react-native and Visual Studio Emulator for Android 【发布时间】:2018-08-22 10:39:09 【问题描述】:

是否可以在 Visual Studio Emulator for android (standalone) 上运行 react native 应用程序,如果可以,设置它的步骤是什么?我可以成功启动模拟器,该部分有效,但无法弄清楚如何配置 react-native 以使用它而不是“adb 设备”。

我当前的尝试以错误结束: 无法调试。执行命令“adb devices”时出错:命令失败:adb devices 'adb' 未被识别为内部或外部命令, 可运行的程序或批处理文件

我了解 Android Studio 及其附带的虚拟设备,但我想将其作为最后的选择。我的环境是:Windows 10 pro、VS Code(带有 React Native Tools Extension)、react-native、yarn。

更新

即使我在尝试让它发挥作用时没有取得任何进展 我只是想分享我在解决这个问题时获得的知识 因为我的问题可能是特定于我的环境的,但它可能在另一台 PC 上运行。

理论上,在 Visual Studio Emulator for Android 中运行 react-native 只需要很少的步骤 在 VS 代码中无需安装 Android Studio 或 Visual Studio。

    安装 Visual Studio Emulator for Android,独立 https://www.visualstudio.com/vs/msft-android-emulator/

    下载 Android Debug Bridge (adb)

它包含在 Android SDK 平台工具中,请在此处下载并阅读更多信息: https://developer.android.com/studio/command-line/adb.html 它以 zip 文件的形式下载,您解压缩它,然后在 PATH 环境变量中添加 adb.exe 的路径, 因此您可以从任何路径执行 adb 命令。我正在使用 yarn,它需要知道 adb.exe 在哪里。

它是您的应用与虚拟或真实 Android 设备之间的一种连接器 它必须在你启动模拟器之前运行,基本命令是:

停止 - adb kill-server

开始 - adb start-server

查看 adb 识别的设备列表 - adb devices

    我还找到了有关如何使 Visual Studio Emulator for Android 与 adb 一起使用的具体说明:

https://msdn.microsoft.com/en-us/library/mt228282.aspx

'Visual Studio Emulator for Android' devices are not listed in the Android Device Monitor

这是一个注册表编辑键

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Android SDK 工具

显然 Visual Studio Emulator for Android 正在使用它,如果它不存在,您可以创建它 并且只需添加/修改 Path 变量作为 adb.exe 的路径。

    现在您可以启动 Visual Studio Emulator for Android,然后在您反应原生 VS 代码项目中打开集成终端 并输入:

纱线运行android

如果我做对了(并且在完美的世界中)你的应用程序应该被安装并显示在 Visual Studio Emulator for Android 中, 好吧,不适合我,当我输入 adb devices 时,我的模拟器永远不会显示为设备,我看到的只是两行空白。

所以我认为我花了足够的时间试图让它发挥作用,就我而言,我自己的问题的答案是:

理论上,您应该能够使用来自 VS 代码的 react-native 运行 Visual Studio Emulator for Android,但实际上 它可能不起作用,所以寻求更可靠的东西。

当我尝试使用 expo 应用程序将手机与 USB 连接时,我确实在隧道尽头看到了一点光,adb 立即将其拾取, “yarn run android”开始做一些事情,expo 甚至试图加载我的应用程序,我屏住呼吸,我的心在狂跳,我准备好迎接奇迹……然后……砰……它就崩溃了,但是这可能更容易 不过,我要解决的是,出现了一些网络配置问题,我的手机无法识别运行 yarn 后输出中的 IP 地址 如果这可行,(大 IF)那么它仍然很好,我可以在不使用 Android/Visual Studio 的情况下运行/调试 react-native。

最终更新: 无法使其工作,停止所有尝试并转而使用 Android Studio,Android Studio 模拟器可以与 react native 和 expo 一起使用,没有任何问题。 (嗯,还没有,示例应用程序至少可以运行。)

【问题讨论】:

为了使 adb 命令正常工作,请参阅***.com/questions/20564514/… 【参考方案1】:

我在尝试同时设置 React-Native 和 VS Emulator for Android 时出现了相同的症状,以下步骤解决了这些问题:

    VS Emulator for Android 上,我在Tools/Network 选项卡上检查了我模拟手机的IP。 Emulator Adapter #1 指的是模拟手机。

    然后,我前往终端并运行adb connect <ip_address>:5555。这使得 Android Studio 和 React-Native 都可以使用模拟手机。

【讨论】:

【参考方案2】:

如果你已经安装了 android studio 然后将C:\Users\manu\AppData\Local\Android\Sdk\platform-tools 路径添加到环境路径中(替换您的用户名而不是manu

如果你还没有 android studio 那么 需要从https://github.com/intel/haxm/releases/download/v7.0.0/haxm-windows_v7_0_0.zip下载adb​​

然后安装

intelhaxm-android.exe

.

打开一个新终端,现在 adb commnad 就可以工作了

是haxm源站https://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager-intel-haxm

【讨论】:

感谢您的回答,这有助于将 Visual Studio Emulator for Android 与 react-native 一起使用吗? 我没有使用 Visual Studio Emulator for Android。但是如果您的设备在执行 adb devices 后显示在终端中。如果您使用 create-react-native 应用程序则可以正常工作,否则您必须需要 sdk 然后它应该可以正常工作 我尝试了您的建议,intel haxm 设置需要关闭 Hyper-V,但当我禁用它时,Visual Studio Emulator for Android 无法启动。错误消息建议确保 Hyper-V 已启用。 安装指南software.intel.com/en-us/android/articles/…

以上是关于适用于 Android 的 react-native 和 Visual Studio 模拟器的主要内容,如果未能解决你的问题,请参考以下文章

适用于 Android 的 Google Places API 未显示

适用于 Android 的突变测试工具

适用于所有 API 级别的 Android 剪贴板代码

Flutter 是不是适用于任何 Android 平台版本?

适用于 Android 的 PostFinance 支付网关集成

Android - spotShadowAlpha 仅适用于线性布局