手记

Flutter 85: Flutter Attach 调试 Flutter Code

      在实际开发过程中,为了满足项目业务方面以及兼容历史代码等方面,经常会采取 Flutter 功能模块以 aarModule 等引入方式;而 Flutter Code 代码是与 Android / iOS Native Code 区分为两个工程的;此时若需要调试应该怎么处理呢?

Android

      小菜目前主要从事 Android 开发,日常用的最多的是 Run / Debug 跟踪运行项目,而目前 Flutter Module 作为 Native Project 的子模块,直接 Run / Debug 会把 Flutter Module 当作一个新的 Project 运行;

      此时需要通过 Flutter Attach 方式在 AndroidStudio 与设备之间建立 Socket 连接,之后便可以对 Flutter Code 进行调试;

  1. Flutter Attach 运行 Flutter Code;此时等待连接 Waiting for a connection from Flutter on Redmi K30 5G…

  1. 运行安装 Android Native apk
  2. 与设备同步连接之后便可进行断点调试,此时 hot reload 非常便捷;

      若打开了 Native app 之后 Flutter Attach 仍旧一直卡在连接设备 Waiting for a connection from Flutter on… 可以尝试杀掉 app 重新进入 app 即可;

iOS

      采用 Flutter 跨平台技术,若对原生 Android / iOS 技术都有了解会便利很多;然而小菜对于 iOS 是一窍不通,那如何在 iOS 设备上调试 Flutter Code

      小菜请教 iOS 同学,主要有两种方式:第一种是完全按照 iOS 开发流程,配置环境,更新运行 Native iOS Code,之后 Flutter Attach 调试 Flutter Code;第二种是编译一个模拟器适用的 Debug 包,直接在模拟器安装,之后再通过 Flutter Attach 进行调试;

  1. 确定已安装 Xcode 开发工具;
  2. 打开 Xcode - Simulator 安装 iOS 同学预先提供的 Debug 包;
  3. Flutter Attach 运行 Flutter Code,与 Android 相同,与设备同步连接之后便可进行断点调试;

      小菜刚装好 Xcode 之后,通过 AndroidStudio 打开 Open iOS Simulator 一直没反应,查阅资料之后发现需要预先开通 Xcode 权限;

// switch 后为 Xcode Developer 路径
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/



      小菜测试 AndroidiOS 触发时机略有不同;Android 一般是先 Flutter Attach 之后再冷启动 appiOS 可以先运行 app 然后直接 Flutter Attach;但对我们测试影响不大;

      小菜对 Flutter 的学习和应用还处于基础阶段;如有错误,请多多指导!

来源: 阿策小和尚

0人推荐
随时随地看视频
慕课网APP