Flutter:混编模式下的调试方案

2023-02-08  本文已影响0人  时光啊混蛋_97boy

作为软件开发,调试过程必不可少,那么在混编模式下有什么调试方案和技巧呢?我们本地既有原生工程代码,又有 Flutter 工程代码,想要同时调试原生代码和 Flutter 代码,一般有两种方案:

方案一:iOS 和 Flutter 同时调试,不支持断点

① Xcode 打开 iOS 项目,运行项目并打开 Flutter 项目页面。
② Android Studio 打开嵌在 iOS 项目中的 Flutter 项目,控制台选择 Terminal 选项卡。在终端输入命令行:flutter devices,打印出已连接到计算机的设备。

③ 在终端输入如下命令行,后面的是 iPhone 的设备号,这里是模拟器。flutter attach 的作用是将当前Flutter 项目连接到某个正在运行的应用程序上。

flutter attach -d 60BB7784-43BA-4569-871A-3BA6D4E136D0

连接成功后,当我们修改了 Flutter 项目的代码后,可以按照下面的快捷键在终端进行相应操作:

Hot reloadHot restart 区别:

Performing hot restart...                                               
Restarted application in 680ms.

Performing hot reload...                                                
Reloaded 0 libraries in 107ms (compile: 16 ms, reload: 0 ms, reassemble: 11 ms).

二、iOS 和 Flutter 同时调试,支持断点方案

① Android Studio 打开嵌在 iOS 项目中的 Flutter 项目,工具栏点击 Flutter Attach

此时控制台 Debug 选项卡输出日志信息:

在 Flutter 和 Native 混编的过程,使用 flutter attach 同步代码出现如上错误。这是因为有多个端口,选择其中一个执行就可以了,一般选择不带数字的一个。可以重新运行 XCode 工程或者直接关掉模拟器,重新连接。

Debug service listening on ws://127.0.0.1:61933/-4kIlDugw3g=/ws
Syncing files to device iPhone 14 Pro Max...

连接完成,可以进行断点调试。同样在控制台上边可以通过点击 Hot reloadHot restart 按钮来实现代码修改的更新操作。

当我们想要在 Flutter 侧调试代码的时候,只需要在控制台上打好断点就可以了,等APP运行到断点处时就会自动停止下来,进入断点流程。

上一篇下一篇

猜你喜欢

热点阅读