使用流程
- 启动Metro服务 npm start,可以设置不同端口号npm run start –verbose – –port 8082
- 启动项目npm run android
- 打开开发者菜单,点击Debug,如果没有打开浏览器调试窗口,可尝试在Settings页面配置IP:Port,设置端口转发
开发人员菜单
- Android真机调试方式:摇一摇手机,弹出调试窗口
- VS Code中按F1,输入reactnative:显示开发人员菜单
- 通过adb命令:adb shell input keyevent 82
调试菜单
Reload
如果只是修改了JS文件,可通过此菜单重新load。如果修改了资源文件则需要重新编译项目。
Change Bundle Location
改变打包后的地址
Show Element Inspector
显示元素检查器
Disable Fast Refresh
禁止快速刷新
Show Perf Monitor
显示监控窗口
Settings
Enable Sampling Profiler
Debug
点击Debug,会打开浏览器调试窗口,可以在浏览器中通过开发者工具进行debug。可以在浏览器页面reload
Android端如何debug
- 项目根目录启动项目,确保package server启动。localhost:8081可以访问
- 对于Android5.0+,端口转发,adb reverse tcp:8081 tcp:8081,
- 打开开发者菜单,选择Setting,配置Debug server host & port for device,输入ip:8081
- 点击菜单中的Reload
常见问题总结
Invariant Violation: Calling synchronous methods on native modules is not supported in Chrome
Error: Unable to resolve module ./debugger-ui/debuggerWorker.xxxx.js
尝试打开React Native Debug Menu 页面,重新关闭打开debug