Comment “secouer” un appareil Android dans l’émulateur Android pour faire apparaître le menu dev afin de déboguer mon application React Native

Je travaille sur une application mobile multi-plateforme React Native. J’écris des instructions console.log au fur et à mesure de mon développement. Je veux voir ces instructions de journalisation dans Chrome pendant que j’utilise l’application Android dans l’émulateur Android par défaut. Selon les documents de Facebook, je dois juste “secouer l’appareil”. Comment puis-je faire cela dans l’émulateur Android?

Pour accéder au menu du développeur in-app:

Sur iOS, secouez l’appareil ou appuyez sur Ctrl + ⌘ + z dans le simulateur. Sur Android, secouez l’appareil ou appuyez sur le bouton du menu matériel (disponible sur les anciens appareils et dans la plupart des émulateurs, par exemple, dans genymotion, vous pouvez appuyer sur ⌘ + m pour simuler un clic sur le bouton du menu matériel)

    Avec un React Native s’exécutant dans l’émulateur,
    Appuyez sur ctrl + m (pour Linux, je suppose que c’est la même chose pour Windows et + m pour Mac OS X) ou exécutez la commande suivante dans le terminal:

     adb shell input keyevent 82 

    Si vous utilisez le nouvel émulateur fourni avec Android Studio 2.0, le raccourci clavier de la touche de menu est désormais Cmd + M, comme dans Genymotion.

    Alternativement, vous pouvez toujours envoyer un bouton de menu en utilisant adb dans un terminal:

     adb shell input keyevent KEYCODE_MENU 

    Notez également que le raccourci du bouton de menu n’est pas une exigence ssortingcte, mais simplement le comportement par défaut fourni par la classe Java ReactActivity (utilisée par défaut si vous avez créé votre projet avec react-native init ). Voici le code pertinent de onKeyUp dans ReactActivity.java :

     if (keyCode == KeyEvent.KEYCODE_MENU) { mReactInstanceManager.showDevOptionsDialog(); return true; } 

    Si vous ajoutez React Native à une application existante ( documentation ici ) et que vous n’utilisez pas ReactActivity , vous devrez ReactActivity le bouton de menu de la même manière. Vous pouvez également appeler ReactInstanceManager.showDevOptionsDialog via tout autre mécanisme. Par exemple, dans une application sur laquelle je travaille, j’ai ajouté un élément de menu Action-bar dédié uniquement au développement qui affiche le menu, car je trouve cela plus pratique que de secouer l’appareil lorsque vous travaillez sur un périphérique physique.

    ‘Ctrl + m’ fonctionne pour Windows dans l’émulateur Android pour faire apparaître le menu du développeur React-Native.

    Impossible de trouver cela documenté nulle part. Trouvé mon chemin ici, deviné le rest … Bon chagrin.

    Au fait: OP: Vous n’avez pas mentionné le système d’exploitation sur lequel vous étiez.

    “Command + M” pour OSX fonctionne pour moi.

    Utilisez la command + m(cmd + M) sur MAC. make sure that you are accessing your application while you try to access the Debug Menu également make sure that you are accessing your application while you try to access the Debug Menu c’est-à-dire que votre application doit être en cours d’exécution, sinon Cmd + M renverra simplement le menu habituel du téléphone.

    sous linux, ctrl + m devrait fonctionner mais ce n’est pas le cas pour résoudre le problème, cliquez sur le (…) (ses contrôles étendus), puis fermez cette fenêtre.Vous pouvez maintenant ouvrir le menu avec ctrl + m. puis:

    1. cliquez sur le (…) (ses contrôles étendus)

    2. fermer les contrôles étendus

    3. ctrl + m

    Pour Linux, vous cliquez sur les trois points “…” à côté de l’émulateur, sur les capteurs virtuels, cochez “Déplacer”, puis essayez rapidement de déplacer les coordonnées x, y ou z.

    entrer la description de l'image ici

    Pour les ordinateurs portables Windows fn Key + Control + m