如何“摇动”Android模拟器中的Android设备,调出开发菜单来debugging我的React Native应用程序

我正在开发一个跨平台的React Native移动应用程序。 我正在编写console.log语句。 我想在Chrome中看到这些日志语句,而我在默认的Android模拟器中运行Android应用程序。 根据Facebook的文件,我只需要“摇动设备”。 我如何在Android模拟器中做到这一点?

要访问应用内开发者菜单:

在iOS上,摇动设备或在模拟器中按Ctrl +⌘+ z。 在Android上摇动设备或按下硬件菜单button(在旧设备和大多数仿真器上可用,例如在genymotion中,您可以按⌘+ m来模拟硬件菜单button)

在Android模拟器的应用程序中,在OSX上按Fn + F2

使用模拟器中运行的React Native,
ctrl + m (对于Linux,我认为对于Windows来说是相同的,对于Mac OS X来说是 + m ),或者在terminal中运行以下命令:

 adb shell input keyevent 82 

如果您使用的是Android Studio 2.0附带的新仿真器,则菜单键的键盘快捷键现在为Cmd + M,就像在Genymotion中一样。

或者,您可以随时在terminal中使用adb发送菜单button:

 adb shell input keyevent KEYCODE_MENU 

还要注意菜单button的快捷方式并不是一个严格的要求,它只是ReactActivity Java类提供的默认行为(默认情况下,如果您使用react-native init创build了您的项目)。 以下是ReactActivity.java onKeyUp的相关代码:

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

如果您将React Native添加到现有的应用程序( 文档在这里 ),而您没有使用ReactActivity ,则需要以类似的方式挂钩菜单button。 您也可以通过任何其他机制调用ReactInstanceManager.showDevOptionsDialog 。 例如,在我正在开发的一个应用程序中,我添加了一个仅用于开发菜单的开发人员操作栏菜单项,因为我发现在物理设备上工作时比摇动设备更方便。

在Android模拟器中, “Ctrl + m”适用于Windows ,以启动React-Native开发者菜单。

无法find任何地方logging。 在这里find我的方式,其余的都猜到了…好悲痛。

顺便说一句:OP:你没有提到你的操作系统。

OSX的'Command + M'正在为我工​​作。