如何在Android模拟器中"摇动"Android设备以显示开发菜单以调试我的React Native应用程序

Aus*_*tin 186 android android-emulator react-native

我正在开发一个跨平台的React Native移动应用程序.我在开发时正在编写console.log语句.我想在默认的Android模拟器中运行Android应用时在Chrome中看到这些日志记录语句.根据Facebook的文档,我只需要"摇动设备".我如何在Android模拟器中执行此操作?

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

在iOS上摇动设备或在模拟器中按控制键+⌘+ z.在Android上摇动设备或按下硬件菜单按钮(在旧版>设备和大多数模拟器中可用,例如在genymotion中,您可以按⌘+ m以>模拟硬件菜单按钮单击)

eri*_*icn 213

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

adb shell input keyevent 82
Run Code Online (Sandbox Code Playgroud)

  • 这适用于我的股票Android模拟器. (3认同)
  • ⌘+ m适用于OSX(默认的android模拟器) (2认同)
  • 不立即为我工作。我需要进入“设置”(“...”)> 设置 > 发送键盘快捷方式到 > 模拟器控件(不是虚拟设备)然后它工作了。 (2认同)

Rya*_*ott 193

在Android模拟器的应用程序中按下Command + MOSX或Ctrl + MLinux和Windows.

  • CMD + M 只是最小化 Android Studio 对我来说。如何打开模拟器内的调试菜单? (13认同)
  • @SzczepanHołyszewski我想补充一点,目前在linux中,ctrl + m调出开发人员菜单 (7认同)
  • 我可能不会得到任何答案,因为这个线程已经很老了,但无论如何我都会说;这对我不起作用。在我的应用程序中,虚拟移动设备不会被识别为晃动 (3认同)
  • 可悲的是,F2在Android Emulator 2 beta中不再适用于Linux.现在怎么办? (2认同)

Ala*_*rce 77

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

或者,您始终可以adb在终端中使用菜单按钮发送:

adb shell input keyevent KEYCODE_MENU
Run Code Online (Sandbox Code Playgroud)

另请注意,菜单按钮快捷方式不是严格要求,它只是ReactActivityJava类提供的默认行为(如果您使用创建项目,则默认使用该行为react-native init).下面是相关的代码onKeyUpReactActivity.java:

if (keyCode == KeyEvent.KEYCODE_MENU) {
  mReactInstanceManager.showDevOptionsDialog();
  return true;
}
Run Code Online (Sandbox Code Playgroud)

如果您要将React Native添加到现有应用程序(此处为文档)并且您没有使用ReactActivity,则需要以类似的方式挂起菜单按钮.您也可以ReactInstanceManager.showDevOptionsDialog通过任何其他机制进行呼叫.例如,在我正在处理的应用程序中,我添加了一个仅启用操作栏的菜单项,它显示菜单,因为我发现在物理设备上工作时比摇动设备更方便.


spe*_*ter 21

"Ctrl + m"适用于Android模拟器中的Windows,以显示React-Native开发人员菜单.

无法在任何地方找到记录.找到我的路,猜到了其余的......好悲伤.

顺便说一句:OP:你没有提到你所使用的操作系统.


Rob*_*rdi 14

如果你想从终端模拟 1 秒的震动,你可以使用以下命令:

adb emu sensor set acceleration 100:100:100; sleep 1; adb emu sensor set acceleration 0:0:0
Run Code Online (Sandbox Code Playgroud)


Vol*_*n45 10

OSX的'Command + M'对我有用.


Nic*_*rdi 10

对于Linux,请单击仿真器旁边的三个点“ ...”,在虚拟传感器上单击“移动”,然后尝试快速移动x,y或z坐标。

在此处输入图片说明

  • 实际上,那是唯一对我有用的解决方案。 (3认同)
  • 您还可以单击所示窗口中的设备图形并将其拖动。 (3认同)

小智 5

command + m(cmd + M)在 MAC 上使用。也make sure that you are accessing your application while you try to access the Debug Menu即您的应用程序必须正在运行,否则Cmd + M只会返回通常的普通电话菜单。


Pon*_*leu 5

我在Mac OS上,因此当我按Command时,它将启用缩放选项。这是我的解决方案

  • 打开配置窗口[...]按钮
  • 转到Settings标签-> General标签-> Send keyboard shortcuts to字段
  • 将值更改Virtual device"为如图所示

在专注于仿真器并按Command + M之后,将显示dev菜单。

模拟器选项->设置->常规


Har*_*ngh 5

在开发 React Native 应用程序时,我们玩终端太多了

所以我在package.json文件中的脚本中添加了一个脚本

“菜单”:“adb shell 输入 keyevent 82”

我点击了$ yarn 菜单

为了让菜单出现在模拟器上,它将通过 ADB 将键码 82 转发到模拟器,这不是最佳方式,但我喜欢它并愿意分享它。

在此处输入图片说明


Mhe*_*her 5

对于那些Command + M只是最小化模拟器的人:

  1. 退出模拟器
  2. 转到设置>工具>模拟器并取消Launch in a tool window选中复选框
  3. 打开模拟器
  4. 现在Command + M将打开开发者菜单

在此输入图像描述