我已经看到了一些边界情况和奇怪的开发人员界面。
来自“摇动你的设备”,这真的不切实际,尤其是在平板电脑上
使用Android Studio模拟按下按钮。
有没有一致的方法来做到这一点?我们不能使用实习 API 在我们的应用程序中有一个调试按钮来启动这样的菜单navigator.popUpDevMenu()
吗?
如果没有,您如何摇晃平板电脑以使其正常工作。这也旨在解决如何在真实设备上配置 HMR。React Native 确实改善了开发体验,但我会说特定的事情会减慢它的速度。
我已经看到了一些边界情况和奇怪的开发人员界面。
来自“摇动你的设备”,这真的不切实际,尤其是在平板电脑上
使用Android Studio模拟按下按钮。
有没有一致的方法来做到这一点?我们不能使用实习 API 在我们的应用程序中有一个调试按钮来启动这样的菜单navigator.popUpDevMenu()
吗?
如果没有,您如何摇晃平板电脑以使其正常工作。这也旨在解决如何在真实设备上配置 HMR。React Native 确实改善了开发体验,但我会说特定的事情会减慢它的速度。
如果您使用的是 mac,有一个方便的工具叫做 Frappe。https://github.com/niftylettuce/frappe
您可以在 shell 中使用此命令
adb shell input keyevent 82
如果尚未运行react-native run-android
或在您运行react-native run-android
. 您需要重新启用开发服务器端口。您可以运行此命令并使用上一个命令重试
adb reverse tcp:8081 tcp:8081
编辑:此解决方案仅适用于 android 设备,并且是上述问题中提出的黑客之一。所以是可以改进的。然而,它被选为有效答案,直到发生这种情况。
我添加了一个简单的绝对定位按钮和这个 onClick 处理程序
imoprt { NativeModules } from 'react-native';
...
onMenuButtonClick(){
NativeModules.DevMenu.show();
}
我创建了一个库,允许您在开发模式下使用 3 指触摸而不是摇动来打开开发菜单
https://github.com/pie6k/react-native-dev-menu-on-touch
你只需要把你的应用程序包装在里面:
import DevMenuOnTouch from 'react-native-dev-menu-on-touch';
// or: import { DevMenuOnTouch } from 'react-native-dev-menu-on-touch'
class YourRootApp extends Component {
render() {
return (
<DevMenuOnTouch>
<YourApp />
</DevMenuOnTouch>
);
}
}
当您必须在真实设备上进行调试并且您的同事坐在您旁边时,这非常有用。
如果您有小米手机,给出的答案将不起作用,因为有一个安全选项阻止弹出窗口打开,您需要为您的应用程序允许它:
进入设置 > 已安装的应用程序 > [您的应用程序名称] > 权限管理器,并启用“显示弹出窗口”。
再摇一摇。开发人员菜单应该会按预期弹出,只需稍微晃动一下。
来源:https : //matthewphiong.com/debugging-react-native-app-on-a-xiaomi-phone