React-Native 运行-android 在特定设备上

React-Native run-android on specific device

是否可以仅对一台特定设备使用 run-android 命令?

例如,如果我连接了三个设备(或模拟器)并且我只想在其中一个上使用 run-android

也许是 adb install -s DEVICE_NUMBER

提前致谢

您不需要使用run-android命令在特定设备上启动它

首先,您必须启动打包程序:

./packager/packager.sh

然后只需构建一个 APK 文件,然后 运行 将其安装到目标设备上。 APK 将连接到构建服务器,并自动从中获取包。

但如果由于某些原因没有发生,请单击重新加载按钮:-)

详细说明@alexander 的回答,您可以使用以下工作流程:

cd android
./gradlew assembleDebug # assembleRelease for release builds
adb install -s <yourdevice> app/build/outputs/apk/yourapk.apk # You can check the identifier for your device with adb devices
adb reverse tcp:8081 tcp:8081 Will forward the phone's 8081 port to the computer's 8081, where the packager listens. If you are deploying over Wi-Fi, have a look at: https://facebook.github.io/react-native/docs/running-on-device-android.html#configure-your-app-to-connect-to-the-local-dev-server-via-wi-fi

在不同的屏幕中,运行:

npm start # Will run the packager

如果您真的需要这个,您可能希望将第一个片段包装到一个脚本中,您可以使用您的 phone 标识符对其进行参数化。

可能我们无法 select 哪个 android 设备连接到 运行。

从官方react native网站读取:

You must have only one device connected at a time.

要在可选设备上使用 运行 react-native 应用程序,您可以在 运行 命令中指定一些标志。要查看可用的添加 --help:

react-native run-android --help

然后你可以通过--deviceId

指定你的设备id

react-native run-android --deviceId=DEVICE_ID

查看可用的设备 ID'

adb devices

要列出 AVD:

$ANDROID_HOME/tools/emulator -list-avds

到运行一个特定的模拟器:

$ANDROID_HOME/tools/emulator -avd Pixel_API_28_AOSP

在 currently-open 模拟器中 运行 React Native:

react-native run-android

要在多个 运行ning 模拟器之间进行选择:

adb devices
react-native run-android --deviceId=DEVICE_ID

的最后一点)

npx react-native run-android --deviceId='myDeviceId'

这对我有用。不要忘记 '' 这个。它接受字符串

当连接了 2 个或更多设备时

在这种情况下,似乎无法在特定设备上安装应用程序。所以按照这个

  1. 断开除一个设备以外的所有设备
  2. 运行 命令,在我的例子中是 react-native run-android
  3. 现在连接另一台设备
  4. 重复第二点
  5. 完成所有设备后,连接所有设备并查看设备 ID adb devices
  6. 现在将设备的端口 8081 映射到计算机的 8081

例如:

 adb -s DEV_1_ID reverse tcp:8081 tcp:8081
 adb -s DEV_2_ID reverse tcp:8081 tcp:8081
 adb -s DEV_3_ID reverse tcp:8081 tcp:8081
 ...

到 运行 一台特定连接的 android 设备上的应用程序:

  1. Disconnect/Unplug 所有连接的 android 台设备。
  2. Connect/Plug 您要安装应用程序的设备
  3. 运行 adb devices 在您的终端上查看已连接设备列表(您应该只会看到 1 个这样的设备,其余设备已断开连接)
  4. 运行 npx react-native run-android

这将通过 USB 在连接的设备上安装 React-native 应用程序。