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

问题描述 投票:0回答:12

是否可以仅对一台特定设备使用

run-android
命令?

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

run-android

也许类似

adb install -s DEVICE_NUMBER

react-native adb
12个回答
205
投票

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

npx react-native run-android --help

然后你可以通过--deviceId指定你的设备ID

npx react-native run-android --deviceId=DEVICE_ID

查看可用设备 ID'

亚行设备


56
投票

列出 AVD:

$ANDROID_HOME/tools/emulator -list-avds

运行特定模拟器:

$ANDROID_HOME/tools/emulator -avd Pixel_API_28_AOSP

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

npx react-native run-android

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

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

这个答案的最后一点)


23
投票

详细阐述@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

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


16
投票
npx react-native run-android --deviceId='myDeviceId'

这对我有用。别忘了

''
这个。它接受字符串


11
投票

你可以做

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


3
投票

可能我们无法选择连接哪个 Android 设备来运行。

从 React Native 官方网站阅读:

您一次只能连接一台设备。


2
投票

您不需要使用

run-android
命令在特定设备上启动它

首先,你必须启动打包器:

./packager/packager.sh

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

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


2
投票

实际上,首先,请确保

adb
安装,我认为在设置您的RN环境时您肯定已经安装了,请按照以下步骤操作:

  1. 使用电缆将 Android 外部设备连接到计算机

  2. 运行这个命令

    adb devices
    ,你至少会看到结果:

    List of devices attached
    9999xxx3434yyy  device
    

    仅供参考

    9999xxx3434yyy
    是您的设备ID

  3. 将给定的设备 ID 放入以下命令中

    npx react-native run-android --deviceId="9999xxx3434yyy"
    

    yarn run react-native run-android --deviceId="9999xxx3434yyy"
    

提示:如果设备是小米产品,请继续观看手机屏幕,因为您应该重新安装访问权限。


2
投票

如果您使用的是 React >= 0.68.x。只需输入以下内容:

npx react-native run-android --deviceId=VCR4XCORPFTKAQFA

在终端中输入 adb devices 即可恢复 VCR4XCORPFTKAQFA。


1
投票

要在一台特定连接的 Android 设备上运行应用程序:

  1. 断开/拔掉所有已连接的 Android 设备。
  2. 连接/插入要安装应用程序的设备
  3. 在终端上运行
    adb devices
    以查看已连接设备的列表(您应该只看到 1 个这样的设备,因为其余设备已断开连接)
  4. 奔跑
    npx react-native run-android

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


0
投票

当连接 2 个或更多设备时

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

  1. 断开除一个设备之外的所有设备
  2. 运行命令,在我的例子中是
    npx 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
 ...

0
投票

当然!这是更新的答案,其中包含

npm
yarn
命令:


步骤

  1. 打开
    package.json
    文件。
  2. 导航至
    scripts
    部分。
  3. 找到
    android
    键并替换其值,或创建新的
    android_list
    键和值。

替换
android
键的值

"android": "react-native run-android --list-devices"

创建新密钥

"android_list": "react-native run-android --list-devices"

enter image description here

然后使用以下命令运行命令:

对于 npm:

npm run android_list

对于纱线:

yarn android_list
© www.soinside.com 2019 - 2024. All rights reserved.