如何在 android studio 中设置 2 android 模拟器来测试 React Native 应用

How to setup 2 android emulators in android studio to test react native app

我又添加了一个 android 模拟器用于 React Native 0.59 应用程序测试。我能够启动 2 个模拟器。 adb devices 命令具有以下输出:

List of devices attached
emulator-5554   device
emulator-5556   device

当有一个模拟器时,我在cmd终端上做react-native run-android,另一个做react-native log-android。后端服务器是 运行 在同一台 PC 上。这是 android studio 中的虚拟设备:

我想做的是启动代表 2 个用户的 2 个应用程序同时连接到后端进行测试。我试图在 2 个模拟器 运行 时启动一个应用程序,并且应用程序的加载速度非常慢。似乎 2 个应用程序需要在 2 个不同的端口上启动,我在网上找到的解决方案在这里似乎不起作用。此外 react-native log-android 在遇到 2 个模拟器时会抛出错误。

来自 react-native CLI 的

log-android 只是使用 adb logcat 来显示 Android 日志。

adb 有一个 -s 参数,可让您指定模拟器序列号。首先,您需要使用 adb devices 列出当前打开的设备。您将获得一个列表,例如:

List of devices attached
emulator-5554   device

现在您可以指定具体的设备:

adb -s emulator-5554 logcat *:S ReactNative:V ReactNativeJS:V

您可以 运行 对您希望查看其日志的所有 运行ning 设备多次。

尝试 运行在 2 个不同的端口连接 metro-bundler。在项目根目录下打开一个终端,使用默认命令如下,

react-native start

这将在默认端口 8081 启动一台服务器。

在另一个终端运行

react-native start --port=9090

这将在端口 9090 启动另一个服务器

现在在第三个航站楼 运行

react-native run-android

这将在默认端口编译并启动两个 运行ning 模拟器中的应用程序。

当应用程序正常启动时,select 一个模拟器并使用 Ctrl+M 打开开发菜单。

点击底部的 Dev Settings 按钮。

单击设备按钮的调试服务器主机和端口。

键入 localhost:9090 或 ip_address:9090 并单击“确定”按钮

重新加载应用程序,它将从您的 react-native server 运行ning 在 9090 端口

获取 js 包

@NishantNiar 解决方案是正确的,但我想在这里改变一些东西 首先我 运行 我的两个不同的模拟器。 然后我 运行 yarn start --port=9090 而不是 npm start --port=9090 因为它给了我一个错误。 然后在另一个终端我 运行 npm run android,然后第一个仿真器自动在默认端口 8081 port 上启动,另一个仿真器在 9090 port 上启动。 希望对您有所帮助。