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.
-
usa tu editor favorito (ej .: nano en Ubuntu) y escribe
nano ~/.bashrc
-
al final del archivo escriba
alias rnreload=''adb shell input text "RR"''
-
guárdelo y ejecute
source ~/.bashrc
. -
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).