React Native在多个同步Android模拟器上运行

时间:2017-08-09 10:45:49

标签: javascript android react-native android-emulator react-native-android

我想同时在至少2个Android模拟器上测试我的应用。我可以启动2个模拟器,但似乎无法在2个带ADB的模拟器上找到react-native run-android我的应用程序。如果可能的话,我还希望能够在测试我的应用程序时对每个人运行react-native log-android

有办法吗?

4 个答案:

答案 0 :(得分:3)

只有您可以运行不同的端口。因为一个端口一个监听器:/
解决:

react-native start --port 9988
./emulator -port 9988 -avd devicename1

react-native start --port 9999
./emulator -port 9999 -avd devicename2

EDIT2:

在运行模拟器之前,您可以编写终端然后运行。

function emulator { cd "$(dirname "$(which emulator)")" && ./emulator "$@"; }

第一个模拟器是反应

emulator -port 9988 @react
react-native run-android ( automaticaly detect emulator )

第二个模拟器 r

emulator -port 8081 @r
react-native run-android (automaticaly detect emulator )

enter image description here

答案 1 :(得分:2)

要在多个模拟器上运行react应用程序,只需照常启动2个模拟器,然后使用命令react-native run-android

如果需要,您甚至可以将任何端口号指定为react-native run-android --port 8084。您的应用将同时在两个模拟器上启动。 :)

Have a look here

答案 2 :(得分:0)

@BurhanYılmaz接受的答案对我不起作用。这可能是由于相关软件的新更新和开发所致。以下步骤演示了对我有用的方法。

  1. 启动第一个仿真器,例如 emulator -avd Nexus_S_API_28

  2. 启动第二个仿真器,例如 emulator -avd Nexus_S_API_28_2

  3. 以通常使用的相同方式启动React-Native(无需指定任何端口。) react-native run-android

这会将代码的副本发送到两个设备。但是,每个设备都与另一个设备隔离地运行其副本。

环境详细信息:

  • MS Windows 10
  • Android SDK 29.0.2
  • 本机:0.61.2

答案 3 :(得分:0)

使用Genymotion,您只需要启动两个实例并启动它们,就好像只有一个实例(react-native run-android来安装应用程序,react-native start