React Native 在多个同时运行的 Android 模拟器上运行
Posted
技术标签:
【中文标题】React Native 在多个同时运行的 Android 模拟器上运行【英文标题】:React Native run on multiple simultaneous Android emulators 【发布时间】:2018-01-17 05:07:46 【问题描述】:我想同时在至少 2 个 android 模拟器上测试我的应用。我可以启动 2 个模拟器,但似乎无法找到如何使用 ADB 在 2 个模拟器上 react-native run-android
我的应用程序。如果可能的话,我还希望能够在测试我的应用程序时在每一个上运行 react-native log-android
。
有办法吗?
【问题讨论】:
【参考方案1】:您只能在不同的端口上执行此操作。因为一个端口,一个监听器:/解决:
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 )
【讨论】:
这是个好主意,但即使指定端口,我似乎也无法同时打开 2 个模拟器 @AntoineAuffray 更新我的解决方案 :) 你可以试试 :) 太棒了!现在的问题是react-native run-android
命令总是在第一个启动的模拟器上运行,知道吗?我们越来越近了!
@AntoineAuffray 你可以在项目文件夹中尝试 react-native start --port=9988
啊,是的,我知道你在做什么了,太好了。感谢所有这一切,答案已接受!【参考方案2】:
要在多个模拟器上运行您的 React 应用程序,只需像往常一样启动 2 个模拟器,然后使用命令 react-native run-android
。
您甚至可以根据需要将任何端口号指定为react-native run-android --port 8084
。您的应用程序将同时在两个模拟器上启动。 :)
Have a look here
【讨论】:
确认这对我有用......不需要过于复杂。谢谢!【参考方案3】:@Burhan Yılmaz 接受的答案对我不起作用。这可能是由于相关软件的新更新和开发。以下步骤演示了对我有用的方法。
启动第一个模拟器,例如
emulator -avd Nexus_S_API_28
启动第二个模拟器,例如
emulator -avd Nexus_S_API_28_2
以您通常使用的相同方式启动 React-Native(无需指定任何端口。)
react-native run-android
这会将代码的副本发送到两个设备。但是,每个设备都在与其他设备隔离的情况下运行其副本。
环境详情:
微软视窗 10 Android SDK 29.0.2 React-Native:0.61.2【讨论】:
【参考方案4】:使用Genymotion,您只需启动 2 个实例并像只有一个一样启动它们(react-native run-android
安装应用程序和react-native start
)
【讨论】:
以上是关于React Native 在多个同时运行的 Android 模拟器上运行的主要内容,如果未能解决你的问题,请参考以下文章
react-native:有没有同时运行iOS模拟器和Android模拟器的方法?
react native 增加react-native-camera