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

要访问应用程序内开发者菜单: 在iOS中摇晃设备或在模拟器中按control +⌘+ z。 在Android上摇晃设备或按硬件菜单按钮(在较旧的>设备和大多数模拟器上可用,例如在genymotion中,您可以按⌘+ m到>模拟硬件菜单按钮单击)


当前回答

在Linux上,ctrl+m应该可以工作,但它不能解决这个问题,单击(…)(它的扩展控件),然后关闭该窗口。现在你可以用ctrl+m打开菜单。然后:

点击(…)(它的扩展控件) 关闭扩展控件 ctrl + m

其他回答

在开发react原生应用程序时,我们经常摆弄终端

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

"menu": "adb shell input keyevent 82"

然后点击$ yarn菜单

使菜单显示在模拟器上 它将通过ADB将键码82转发给模拟器 不是最佳的方式,但我喜欢它,感觉分享它。

我在Mac OS上,所以当我按下命令时,它启用了缩放选项。 这是我的解决方案

打开配置窗口[…]]按钮 进入“设置”选项卡->“常规”选项卡->将键盘快捷方式发送到字段 如图所示,将值更改为“Virtual device”

之后,将焦点放在模拟器上并按Command + M,出现dev菜单。

对于Linux,你点击模拟器旁边的三个点“…”,在虚拟传感器上检查“移动”,然后尝试快速移动x, y或z坐标。

在Android模拟器中的应用程序中,在macOS中按Command + M,在Linux和Windows中按Ctrl + M。

这可能不是直接的解决方案,但我已经创建了一个库,允许您使用3个手指触摸而不是摇晃打开开发菜单时,在开发模式

https://github.com/pie6k/react-native-dev-menu-on-touch

你只需要在里面包装你的应用程序:

从react-native-dev-menu-on-touch导入DevMenuOnTouch; //或:import {DevMenuOnTouch} from 'react-native-dev-menu-on-touch'

class YourRootApp extends Component {
  render() {
    return (
      <DevMenuOnTouch>
        <YourApp />
      </DevMenuOnTouch>
    );
  }
}

当你必须在真正的设备上调试并且你有同事坐在你旁边时,它真的很有用。