tutorial react app react-native react-native-android

app - Vuelva a cargar una aplicación React Native en un dispositivo Android manualmente a través de la línea de comandos



react native tutorial (8)

Agregue el siguiente script a su package.json:

"android-shake": "adb shell input keyevent 82"

Entonces podrás llamar

yarn android-shake

Si está buscando iOS, consulte mi respuesta en este link

Me gustaría forzar manualmente una recarga de mi aplicación React Native a pedido sin agitar físicamente el dispositivo. (Me estoy poniendo el túnel carpiano).

Sé que Live Reload / Hot Reload están disponibles. Estoy buscando una solución de línea de comandos a pedido.


Hizo un script de autohotkey para recargar y abrir el menú con atajos de teclado.

^+r:: run, %comspec% /c adb shell input text "RR",,hide ^+e:: run, %comspec% /c adb shell input keyevent 82,,hide

ctrl + shift + r para recargar ctrl + shift + e para abrir el menú de desarrollo


Para el dispositivo, solo tiene que agitar su dispositivo para que aparezca un menú, así que haga clic en Recargar


Si está en una Mac y usa Hammerspoon , puede poner el siguiente código en su archivo ~/.hammerspoon/init.lua :

hyper = {''ctrl'', ''alt'', ''cmd''} placid = {''ctrl'', ''cmd''} -- React native reload JS on connected device hs.hotkey.bind(placid, ''R'', function() os.execute(''/Users/peter/Library/Android/sdk/platform-tools/adb shell input text "RR"'') end) -- React native show dev menu on connected device hs.hotkey.bind(hyper, ''R'', function() os.execute(''/Users/peter/Library/Android/sdk/platform-tools/adb shell input keyevent 82'') end)

el comando os.execute no carga su ENV (hacerlo haría que la ejecución de los comandos sea realmente lenta), así que asegúrese de ejecutar which adb en su terminal para averiguar cuál es la ruta exacta a adb . (en mi caso fue /Users/peter/Library/Android/sdk/platform-tools/adb ).

¡Ahora puede volver a cargar su aplicación usando ctrl+cmd+R y mostrar el menú de desarrollo usando la ctrl+option+cmd+R desde cualquier lugar y sin siquiera molestarse en cmd-tab de su editor favorito!


Solo publícalo aquí en caso de que no supieras este truco

Mantenga presionado el botón de menú en su dispositivo Android. Entonces obtendrás este menú

toca la opción de recarga y listo


Un truco sería agregar este comando en el perfil ~ / .bashrc en el caso de que esté utilizando Unix.

  1. usa tu editor favorito (ej .: nano en Ubuntu) y escribe nano ~/.bashrc
  2. al final del archivo escriba alias rnreload=''adb shell input text "RR"''
  3. guárdelo y ejecute source ~/.bashrc .
  4. Ahora, cuando lo necesite, simplemente escriba rnreload en una terminal.

La próxima vez que ingrese a su computadora ya debería estar listo.

Además, existe la posibilidad de agregar otro alias: alias rnshake=''adb shell input keyevent 82'' que "sacude" android. Puede usarlo para acceder a otros comandos como Hot Reloading, Debugger, Inspector, etc.


Usando la línea cmd puede enviar un comando al dispositivo Android.

adb shell input text "RR"

Este comando le dice al dispositivo Android que escriba el carácter "R" dos veces, que es el comando React Native para Recargar en Android.

El comando adb shell tiene muchas características útiles, muchas de las cuales se describen aquí:

Eventos de entrada de shell ADB

Para abrir el menú de desarrollador:

adb shell input keyevent 82


Yo uso el siguiente comando. No vuelve a cargar la aplicación, pero muestra el menú del desarrollador en el dispositivo, por lo que puedo presionar la opción "Recargar":

adb shell input keyevent KEYCODE_MENU

Desarrollo con un dispositivo real (no el emulador) y el envío de la "doble R" a través de adb no funciona (solo muestra el teclado y escribe 2 R).