React Native 在多个并发 Android 模拟器上运行

问题描述 投票:0回答:5

我想同时在至少 2 个 Android 模拟器上测试我的应用程序。我可以启动 2 个模拟器,但似乎无法找到如何使用 ADB 在 2 个模拟器上

react-native run-android
我的应用程序。如果可能的话,我还希望能够在测试我的应用程序时在每一个上运行
react-native log-android

有办法做到吗?

javascript android android-emulator react-native
5个回答
13
投票

您只能在不同的端口上执行此操作。因为一个端口,一个监听器:/
解决:

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

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

编辑2:

运行模拟器之前,可以在终端中写入,然后运行:

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

第一个模拟器是 react .

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

第二个模拟器是 r .

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


13
投票

为了在多个模拟器上运行您的 React 应用程序,只需像往常一样启动 2 个模拟器,然后使用命令

react-native run-android

如果需要,您甚至可以将任何端口号指定为

react-native run-android --port 8084
。您的应用程序将同时在两个模拟器上启动。 :)

Have a look here


7
投票

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

  1. 启动第一个模拟器,例如

    emulator -avd Nexus_S_API_28

  2. 启动第二个模拟器,例如

    emulator -avd Nexus_S_API_28_2

  3. 以与您通常使用的方式相同的方式启动 React-Native(不指定任何端口。)

    react-native run-android

这会将代码的副本发送到两个设备。但是,每个设备都独立于其他设备运行其副本。

环境详情:

  • 微软 Windows 10
  • Android SDK 29.0.2
  • React-Native:0.61.2

0
投票

首先,通过运行以下命令检查可用的 Android 设备。

adb devices

之后,您可以使用以下命令启动具有特定端口和设备 ID 的 React Native 项目。

npm run android -port PORT_NO -deviceId=DEVICE_ID

在上面的示例中,我们可以在两个单独的终端中运行命令。

npm run android -port 9988 -deviceId=067682514L113728 
npm run android -port 9989 -deviceId=emulator-5554

-1
投票

使用 Genymotion,您只需启动 2 个实例并启动它们,就好像只有一个实例一样(

react-native run-android
安装应用程序和
react-native start

© www.soinside.com 2019 - 2024. All rights reserved.