我正在开发一个react-native
应用程序,每次我想更改更改为实际手机或模拟器时,我都会执行react-native run-android
(有时我在模拟器中使用重新加载功能)。
我的问题是,是否有可能在哪个设备/模拟器中指定命令将运行的设备/模拟器,因为当我既连接它都会运行并在最近运行/插入的应用程序中运行并更新该应用程序。
所以我想像这样的事情:
react-native run-android --device=XXXXXX
我一直在进行一些研究,但到目前为止还没有找到答案,所以我希望有人对此有所了解。谢谢!
如果您只有一个设备,则插入或运行为模拟器:
npx react-native run-android // or if you have a npm script, 'npm run android'
如果您有多个设备,以插入模拟器或运行为模拟器,则以下内容很有用。
确保插入设备,并使用adb devices
获取其DeviceID,然后将其插入npx react-native run-android --deviceId [DEVICE_ID]
首先,将设备插入或使用Android Emulator CLI启动模拟器。
-
emulator -list-avds
将列出您的AVD(Android虚拟设备),例如Pixel_2_API_29
-
emulator -avd Pixel_2_API_29
或emulator @Pixel_2_API_29
将启动指定的设备。 -
emulator -help
有关更多信息。 - 然后,打开一个新的终端/选项卡,运行
npx react-native run-android
。它将在所有Android设备(包括物理和AVD)上启动您的应用。如果您只想指定1个设备(为什么不在所有设备上运行!): -
adb devices
,获取设备ID的列表,例如1cfe4i231414523
-
npx react-native run-android --deviceId 1cfe4i231414523
ps:反应本机入门指南指定您应该卸载反应本性,而是通过NPX使用软件包。卸载npm rm -g react-native
。现在,每次您都想运行反应,请使用npx react-native [command]
。NPX的作用是在本地node_modules
中看起来并从那里运行,而不是可能过时的全局react-native
软件包。
如果您浏览了文档,那么您会发现还有两个可用的命令可以启动服务器,并且没有这样的反应式运行android--//deviceid命令到目前为止,您可以自定义node_modules中的本机代码以自己制作该命令。
这两个命令是:
1)react-native start
2)npm start
欢呼:)