Flutter 85: Flutter Attach 调试 Flutter Code-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

Flutter 85: Flutter Attach 调试 Flutter Code

简介: 0 基础学习 Flutter,小插曲之了解 Flutter Attach 在 Native 和 Flutter 端调试测试!

      在实际开发过程中,为了满足项目业务方面以及兼容历史代码等方面,经常会采取 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...
  2. 运行安装 Android Native apk
  3. 与设备同步连接之后便可进行断点调试,此时 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 的学习和应用还处于基础阶段;如有错误,请多多指导!

来源: 阿策小和尚

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章