with - ¿Cómo "sacudo" un dispositivo Android dentro del emulador de Android para que aparezca el menú de desarrollo para depurar mi aplicación React Native
react native set up your android development environment (12)
''Command + M'' para OSX está funcionando para mí.
Estoy trabajando en una aplicación móvil React Native multiplataforma. Estoy escribiendo declaraciones console.log a medida que me desarrollo. Quiero ver estas declaraciones de registro en Chrome mientras ejecuto la aplicación de Android en el emulador de Android predeterminado. Según los documentos de Facebook, solo necesito "sacudir el dispositivo". ¿Cómo hago esto en el emulador de Android?
Para acceder al menú de desarrollador en la aplicación:
En iOS agite el dispositivo o presione control + ⌘ + z en el simulador. En Android, agite el dispositivo o presione el botón de menú de hardware (disponible en dispositivos> antiguos y en la mayoría de los emuladores, por ejemplo, en genymotion puede presionar ⌘ + m para> simular el clic del botón de menú de hardware)
Con un React Native ejecutándose en el emulador,
Presione
ctrl
+
m
(para Linux, supongo que es lo mismo para Windows y
⌘
+
m
para Mac OS X) o ejecute lo siguiente en la terminal:
adb shell input keyevent 82
Dentro de su aplicación en el emulador de Android, presione
Command + M
en OSX o
Ctrl + M
en Linux y Windows.
Estaba probando una
versión de lanzamiento a
través de
adb install -r -d <app-release>.apk
.apk 🤦
Asegúrese de estar ejecutando la compilación de depuración , entonces el menú funcionará a través del acceso directo o CLI.
Estoy en Mac OS, así que cuando presiono Comando, habilito la opción de zoom. Aqui esta mi solucion
- Abrir el botón de la ventana [...] Configuración
-
Vaya a la pestaña
Settings
-> pestañaGeneral
->Send keyboard shortcuts to
campo -
Cambiar valor a
Virtual device"
como se muestra en la imagen
Luego de enfocarse en el emulador y presionar Comando + M, aparece el menú de desarrollo.
Para computadoras portátiles con Windows fn Key + Control + m
Puede que no sea una solución directa, pero he creado una lib que le permite usar 3 dedos en lugar de agitar para abrir el menú de desarrollo, cuando está en modo de desarrollo
https://github.com/pie6k/react-native-dev-menu-on-touch
Solo tiene que envolver su aplicación dentro:
importar DevMenuOnTouch desde ''react-native-dev-menu-on-touch''; // o: importa {DevMenuOnTouch} desde ''react-native-dev-menu-on-touch''
class YourRootApp extends Component {
render() {
return (
<DevMenuOnTouch>
<YourApp />
</DevMenuOnTouch>
);
}
}
Es realmente útil cuando tienes que depurar en un dispositivo real y tienes compañeros de trabajo sentados a tu lado.
Si está utilizando el nuevo emulador que viene con Android Studio 2.0, el método abreviado de teclado para la tecla de menú ahora es Cmd + M, al igual que en Genymotion.
Alternativamente, siempre puede enviar una pulsación de botón de menú usando
adb
en una terminal:
adb shell input keyevent KEYCODE_MENU
También tenga en cuenta que el acceso directo del botón de menú no es un requisito estricto, es solo el comportamiento predeterminado proporcionado por la clase
ReactActivity
Java (que se usa de forma predeterminada si creó su proyecto con
react-native init
).
Aquí está el código relevante de
onKeyUp
en
ReactActivity.java
:
if (keyCode == KeyEvent.KEYCODE_MENU) {
mReactInstanceManager.showDevOptionsDialog();
return true;
}
Si está agregando React Native a una aplicación existente (
documentación aquí
) y no está usando
ReactActivity
, deberá conectar el botón de menú de manera similar.
También puede llamar a
ReactInstanceManager.showDevOptionsDialog
través de cualquier otro mecanismo.
Por ejemplo, en una aplicación en la que estoy trabajando, agregué un elemento de menú de la barra de acción solo para desarrolladores que muestra el menú, ya que me parece más conveniente que sacudir el dispositivo cuando se trabaja en un dispositivo físico.
Use el
command + m(cmd + M)
en MAC.
También
make sure that you are accessing your application while you try to access the Debug Menu
es decir, su aplicación debe estar ejecutándose; de lo contrario,
Cmd + M
simplemente devolverá el menú normal del teléfono.
en linux ctrl + m debería funcionar pero no sirve para resolver el problema, haga clic en (...) (sus controles extendidos) y luego cierre esa ventana. Ahora puede abrir el menú por ctrl + m. entonces:
-
haga clic en (...) (sus controles extendidos)
-
cerrar controles extendidos
-
Ctrl + m
''Ctrl + m'' funciona para Windows en el emulador de Android para abrir el menú de desarrollador React-Native.
No pude encontrar eso documentado en ningún lado. Encontré mi camino aquí, adiviné el resto ... Dios mío.
Por cierto: OP: No mencionaste en qué sistema operativo estabas.