如何“摇动”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'正在为我工作。