Solución:
Para ejecutar una aplicación nativa de reacción en un dispositivo opcional, puede especificar algunos indicadores en el comando de ejecución. Para ver disponible agregar –help:
react-native ejecutar-android –help
Luego puede especificar la identificación de su dispositivo a través de –deviceId
react-native ejecutar-android –deviceId = DEVICE_ID
Para ver los ID de dispositivos disponibles
dispositivos adb
Desarrollando la respuesta de @alexander, puede usar el siguiente flujo de trabajo:
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
En una pantalla diferente, ejecute:
npm start # Will run the packager
Si realmente lo necesita, es posible que desee incluir el primer fragmento en un script que pueda parametrizar con el identificador de su teléfono.
En nuestra experiencia:
Para enumerar AVD:
$ANDROID_HOME/tools/emulator -list-avds
Para ejecutar un emulador específico: usa la bandera -avd
$ANDROID_HOME/tools/emulator -avd Pixel_API_28_AOSP
Para ejecutar React Native en el emulador que se está ejecutando actualmente:
react-native run-android
Para elegir entre varios emuladores en ejecución: (por esta respuesta)
adb devices
react-native run-android --deviceId=DEVICE_ID