特定设备上的React-Native run-android

Vic*_*ous 22 adb react-native

是否可以run-android仅将命令用于一个特定设备?

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

也许是这样的adb install -s DEVICE_NUMBER

提前致谢

Ner*_*Jok 48

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

react-native run-android --help

然后,您可以通过--deviceId指定设备ID

react-native run-android --deviceId = DEVICE_ID

要查看可用的设备ID

adb设备

  • 我正在使用 React Native 0.55.3,当我添加 `deviceId` 参数时,奇怪的事情发生了。它似乎试图构建一个发布版本。我可以看到它捆绑了 JS 和资产,然后它无法给出与密钥签名相关的错误消息。 (7认同)
  • @WantIt 抱歉,没有解决方案,只是解决方法,因为我很少使用两个 Android 设备进行开发。我只是一次连接一台设备进行初始应用程序安装。之后,只需摇动设备并点击 Reload 即可刷新 JavaScript 更改。正如其他人所建议的那样,如果您想保持多个设备的连接,您可能需要使用 gradle 构建并使用 `adb` 进行安装。 (2认同)
  • 我认为值得一提的是,`adb devices` 返回模拟器设备 ID,如果它们当前处于打开状态 (2认同)

Luk*_*ams 22

要列出 AVD:

$ANDROID_HOME/tools/emulator -list-avds

要运行特定的模拟器:

$ANDROID_HOME/tools/emulator -avd Pixel_API_28_AOSP

在当前打开的模拟器中运行 React Native:

react-native run-android

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

adb devices
react-native run-android --deviceId=DEVICE_ID
Run Code Online (Sandbox Code Playgroud)

这个答案的最后一点)


Irf*_*ani 8

你可以做npx react-native run-android --list-devices。这将允许您在可用的设备/模拟器中选择一个设备/模拟器(连接和断开连接)。


mar*_*oyo 6

详细说明@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
Run Code Online (Sandbox Code Playgroud)

在另一个屏幕上,运行:

npm start # Will run the packager
Run Code Online (Sandbox Code Playgroud)

如果确实需要此功能,则可能需要将第一个代码段包装到一个脚本中,然后可以使用手机的标识符对其进行参数设置。

  • 只是微小的修复: -s &lt;device_name&gt; 在安装之前进行。所以:`adb -s &lt;devices_name&gt; install &lt;project_dir&gt;/android/app/build/outputs/apk/app-debug.apk` (4认同)

小智 5

npx react-native run-android --deviceId= 'myDeviceId'
Run Code Online (Sandbox Code Playgroud)

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