一、react-native run-android 无法直接指定
- 幸福的IOS:
react-native run-ios --simulator "iPhone 7 Plus”
- 苦逼的Android:
react-native run-android --这里没有simulator
使用react-native run-android --help
查看,只能看到--deviceId的选项
二、根据--deviceId所采取的变通手段
我修改了package.json文件,增加了一段脚本
{
"name": "rndemo03",
"version": "0.0.1",
"private": true,
"scripts": {
"android": "react-native run-android",
"ios": "react-native run-ios",
"start": "react-native start",
"info": "echo ======以下是增加脚本========",
"listAvd": "$ANDROID_HOME/tools/emulator -list-avds",
"startAvd": "$ANDROID_HOME/tools/emulator -avd Pixel_2_API_19",
"avdDevices":"adb devices",
"androidAvd": "react-native run-android --deviceId emulator-5554",
"test": "jest",
"lint": "eslint ."
},
其中的Pixel_2_API_24
和emulator-5554
都是根据紧上一步执行的结果所进行的选择。
三、执行流程
-
listAvd
: 查看所有的虚拟设备 -
startAvd
: 根据上一步的设备名称,启动虚机。 -
avdDevices
:查看所有的已启动设备的DeviceId(包括真机) -
androidAvd
:根据DeviceId选择调试用机,并启动项止。
四、清理watchman的缓存
watchman watch-del-all && react-native start --reset-cache
网友评论