调试debug

本机模拟器调试:

实际上就是在本机器上启动了一个NPM的 web服务,将对应的js文件也放进去。 模拟器app 通过 localhost 来加载所有的js文件,通过 react-native 解析成native代码,最终渲染出UI。

连手机调试:

在本机器上启动NPM的web服务,将对应的js文件也放进去。 联机编译时,react-native-xcode.sh 脚本会生成一个 ip.txt 文件,里面是本机器的ip地址,并将该txt文件放入app的bundle里。 手机app 通过该IP 以及 NPM的web服务来加载所有JS文件。

UI层次调试

可以使用 react-devtools。 安装方式:

export ELECTRON_MIRROR="https://npm.taobao.org/mirrors/electron/" //换一下package源,避免墙问题
npm install -g react-devtools

PS:如果连手机调试,需要手机和电脑在同一个网段下。

然后用 react-devtools 启动工具即可。

堆栈还原

npx metro-symbolicate android/app/build/generated/sourcemaps/react/release/index.android.bundle.map < stacktrace.txt