如何愉快地调试一个 React Native for Android APP

如题所述

首先确保你的电脑和手机设备在同一个Wi-Fi环境下。
其次你需要开启USB调试才能在你的设备上安装你的APP。一定要确定你已经打开设备的USB调试开关!
确保你的设备已经被成功连接,可以输入adb devices核实:

在右边那列看到device说明你的设备已经被正确连接了。注意,你只应当连接仅仅一个设备。
因为如果你连接了多个设备(包含模拟器在内),你后续的一些操作可能会失败。拔掉不需要的设备,或者关掉模拟器,确保adb devices的输出只有一个是连接状态。
现在我们可以运行 react-native run-android 来在设备上安装并启动我们的应用了


句命令执行后,实际上就是在本地起一个node server,并且将你的android
project编译打包,再上传到你的手机上。然后当js文件有改动或debug模式下手动选择reload
js时候会自动更新bundle文件,达到改动js文件后即时显示的调试效果。
这“红屏”又是什么鬼?别着急,是正常的,我们需要连接上开发服务器,下面的步骤会解决这个问题。

摇晃手机,或者运行adb shell input keyevent 82,可以调出开发者菜单。

点击进入Dev Settings
点击Debug server host for device
输入你电脑的IP地址和端口号(譬如我的是192.168.3.15:8081)

注意:如果你的设备是android5.0以上版本(API 21+),就不用折腾这步了
而是:运行adb reverse tcp:8081 tcp:8081 (建立一个从设备向电脑转发的端口,前提是设备和电脑通过USB相连)
不需要更多配置,你就可以使用Reload JS和其它的开发选项了
Chrome开发者工具
在Chrome上调试js代码,需要在开发菜单中选择Debug JS,这会打开一个新的页。

Chrome中,按下? + option + i或者选择视图(View) -> 开发者(Developer) ->
开发工具(Developer Tools)来打开开发工具控制台。打开有异常时暂停(Pause On Caught
Exceptions)选项,能够获得更好的开发体验。
Chrome中并不能直接看到App的用户界面,而只能提供console的输出,以及在sources项中断点调试js脚本。

要查看APP日志?
在终端下运行adb logcat *:S ReactNative:V ReactNativeJS:V可以看到你的应用的日志。

实时刷新
这个选项可以在你的js代码变更了之后,自动触发所连设备或者模拟器自动刷新。
开启方法:先打开开发菜单,选择Dev Settings,然后选择Auto reload on JS change选项。
到此才能完整的调试Android RN, 繁琐到累绝不爱。。
等等,能否想办法简化一下过程?

既然我们的RN项目里包含了完整的android工程,何不把android工程导入到android studio 去运行?不但可以同时查看js的日志和native的日志,而且开发android的同学最熟悉AS,利用AS的快捷键和各类插件提升调试效率。
have a try , 答案是肯定的!
执行react-native start 也可以起一个node server,只是它不帮你安装APP到device 。

以上就是我踩坑后整理的方法,按这套组合拳就可以愉快地调试了。水平有限,抛砖引玉,如果你有更好的方法!欢迎拍砖!
此处插播一个广告:拍砖请拍到我们的杏树林开放空间(246078103),期待感兴趣的同学加入。
之后要解决的一些issue
1,关于设备MinSdkVerison
RN 只支持Android4.1.2(API16)以上设备,4.0根据网络数据大概占比0.7比例,随着大部分app已经不支持4.0以下设备了,这块倒还可以接受 , 目前我们的病历夹是3.0(API-11) , 口袋是4.0(API-14)
2,我们的androidRN现在只能通过Debug JS才能渲染出界面,而不能正常的用Reload JS
3,在界面跳转时卡的令人发指
温馨提示:内容为网友见解,仅供参考
无其他回答

如何愉快地调试一个 React Native for Android APP
首先确保你的电脑和手机设备在同一个Wi-Fi环境下。其次你需要开启USB调试才能在你的设备上安装你的APP。一定要确定你已经打开设备的USB调试开关!确保你的设备已经被成功连接,可以输入adb devices核实:在右边那列看到device说明你的设备已经被正确连接了。注意,你只应当连接仅仅一个设备。因为如果你连接了...

React Native 0.74 Android 环境搭建指南
1.2 安装JDK如果电脑上已有JDK1.8版本,请确保替换为React Native 0.74所需的版本。通过运行命令查看所有安装的JDK版本,若不符合要求,需按照官方指南安装相应版本的JDK。推荐使用Zulu OpenJDK以提高性能和稳定性。1.3 安装Android Studio依据官方Android教程,安装Android编辑器、Android SDK和Android虚拟...

如何在Android和iOS平台运行React Native应用
2、通过react-native run-android命令安装react native程序到Android上 PS:第一次使用react-native run-android命令时,因为需要下载很多配置文件,所以需要耐心等待,以后就不需要等待了 接下来我通过command+n新建一个终端,1首先先切换到项目路径,再在终端中输入react-native run-android命令 ...

React Native框架写小程序,并运行在App的一种方法
React Native如何与小程序结合?我们可以将混合应用模式从“原生H5”改为“原生+小程序”,将小程序搬到App中运行。在React Native工程基础上集成FinClip小程序解析引擎,只需10行代码即可完成小程序集成。FinClip官方提供了详细的环境搭建文档,项目运行稳定。在VSCode+Xcode开发组合环境下,你可以选择两种不同...

如何配置React Native真机调试
修改URL地址:打开项目目录下的AppDelegate.m文件,修改里面的URL,把localhost改为你的电脑的IP。在Mac系统下,你可以在系统设置\/网络里找到电脑的IP地址。选择设备:把手机插上数据线,连接到你的电脑,这时候就可以在调试设备里,看到你自己的设备。点击当前选中的模拟设备即可展示所有设备,如下图,然后...

reactnative安卓远程调试wifi调试
1、保持设备在统一网段网络 2、调试主机启动adb服务 `adb reverse tcp:8081 tcp:8081`建议添加到 package.json里的 scripts里。比如 "adb": "adb reverse tcp:8081 tcp:8081"方便用yarn adb启动 3、打开调试菜单(晃动设备),settings -> Debugging -> "Debug server host & port for device",...

react native 适配安卓有难度么
1.布局及样式,与其说适配的难度,不如说改变的程度。相对ios,android的布局方式还是比较丰富的,android开发同学也使用xml管理layout、theme、style切换为rn的css-layout后第一感觉就是:有点弱,有点怪。布局会复用css-layout(face

ReactNative运行闪退的解决思路及解决办法(android)
既然闪退,那肯定是有错误导致的,那我们就通过adb工具打印一下android的日志瞧一瞧 通过adb工具日志打印,获取具体报错信息 发现日志内存在 java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libfbjni.so result: 0 的报错 修改 android\\app\\build.gradle 文件 ...

react-native-debugger 开发调试指南
使用React Native Debugger进行调试,您需要先启动模拟器并进入调试界面,可以通过快捷键CMD + d 或 CMD + m 进行操作。接着,等待服务链接过程完成。调试过程中,您可能会发现默认情况下网络调试功能并未开启。这时,您可以通过右键单击并选择“Enable Network Inspect”来激活此功能,以便在调试过程中查看...

配置react native 环境需要哪些版本的sdk
1、首先安装了nodejs4.1版本2、然后安装了npminstall-greact-native-cli模块3、安装androidsdk并且配置android环境变量4、安装gradle环境5、进入这个博客里边有react-nativeforandroid项目,下载下来,然后执行npminstall先安装react依赖模块包6、打开两个命令窗口1.一个执行react-nativestart,另一个执行react-...

相似回答