React-Native run-android on specific device

半腔热情 提交于 2020-11-30 04:50:55

问题


Is it possible to use the run-android command for one specific device only?

For example, if I have three devices (or emulators) connected and I want to use run-android on only one of them?

Maybe something like adb install -s DEVICE_NUMBER?

Thanks in advance


回答1:


Elaborating on @alexander 's answer, you can use the following workflow:

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

In a different screen, run:

npm start # Will run the packager

If you really need this, you might want to wrap the first snippet into a script that you can parametrize with your phone's identifier.




回答2:


To run react-native application on optional device you can specify some flags in run command. To see available add --help:

react-native run-android --help

Then you can specify your device id throught --deviceId

react-native run-android --deviceId=DEVICE_ID

To see available devices ids'

adb devices




回答3:


In our experience:

To list AVDs:

$ANDROID_HOME/tools/emulator -list-avds

To run a specific emulator: use the -avd flag

$ANDROID_HOME/tools/emulator -avd Pixel_API_28_AOSP

To run React Native in the currently-running emulator:

react-native run-android

To choose between multiple running emulators: (per this answer)

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



回答4:


May be we can not select which android device attached to run.

Read from official react native website:

You must have only one device connected at a time.




回答5:


You don't need to use run-android command to start it on specific device

Firstly, you have to start the packager:

./packager/packager.sh

Then just build an APK file and run it on target device. APK will connect to the build server, and fetch bundle from it automatically.

But if it didn't happen by some reasons, click on reload button :-)



来源:https://stackoverflow.com/questions/40725219/react-native-run-android-on-specific-device

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!