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

15

我希望能同时在至少两个Android模拟器上测试我的应用。我可以启动两个模拟器,但不知道如何使用ADB在两个模拟器上react-native run-android来运行我的应用。如果可能的话,在测试我的应用时,我还想能够在每个模拟器上运行react-native log-android

有没有办法这样做?

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 )

enter image description here


这是一个不错的想法,但我似乎无法打开两个模拟器,即使指定了端口。 - Antoine Auffray
1
@AntoineAuffray 更新我的解决方案 :) 你可以试试它 :) - Burhan Yılmaz
1
@AntoineAuffray 你可以在项目文件夹中尝试运行 react-native start --port=9988。 - Burhan Yılmaz
1
啊,我明白你在做什么,太棒了。感谢你的所有帮助,答案已被接受! - Antoine Auffray
@AntoineAuffray 问题解决了吗? :) 希望问题已经解决 :) - Burhan Yılmaz
显示剩余3条评论

13

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

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

请看这里


2
确认这对我有效...不需要过于复杂化。谢谢! - mandrewsan
希望我知道如何在不重新开始的情况下“附加”另一个模拟器。 - Erik Aronesty

8
@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 这将把代码副本发送到两台设备。但是,每个设备都在与其他设备隔离的环境中运行其副本。
环境详细信息: - MS Windows 10 - Android SDK 29.0.2 - React-Native: 0.61.2

这就像这样容易!我认为这应该是目前被接受的答案。 - SinunHenkka

0
首先,您可以通过运行以下命令来检查可用的安卓设备。
adb devices

enter image description here

在那之后,您可以使用以下命令以特定端口和设备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,您只需启动两个实例并将它们启动为一个实例(react-native run-android 以安装应用程序和 react-native start


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接