HarmonyOS 鸿蒙Next flutter3.22.0项目跑起来后三方插件无法断点调试

HarmonyOS 鸿蒙Next flutter3.22.0项目跑起来后三方插件无法断点调试 项目根目录通过命令行执行 flutter build hap --release后,再用DevEco打开ohos工程,依赖的三方库源码全部变成.d.ets,而且无法断点调试。

鸿蒙flutter版本信息:

DevEco版本信息:

DevEco Studio 5.0.4 Release

Build #DS-233.14475.28.36.5011110

Build Version: 5.0.11.110, built on May 12, 2025

Runtime version: 17.0.12+1-b1087.25 x86_64

VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.

macOS 15.3

GC: G1 Young Generation, G1 Old Generation

Memory: 2048M

Cores: 8

Metal Rendering is ON

Registry:

  idea.plugins.compatible.build=IC-233.14475.28


更多关于HarmonyOS 鸿蒙Next flutter3.22.0项目跑起来后三方插件无法断点调试的实战教程也可以访问 https://www.itying.com/category-92-b0.html

6 回复

您好,在使用flutter build hap --release构建后,三方库源码变成了.d.ets文件,无法断点调试,这是release版本构建的正常现象。

【修改建议】

  • 确认项目是通过debug模式编译,可通过命令:
flutter run --debug

使用debug模式进行断点调试。

更多关于HarmonyOS 鸿蒙Next flutter3.22.0项目跑起来后三方插件无法断点调试的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


你好,我用了你上面说的debug模式编译,但是依赖的三方库源码还是.d.ets文件,没法源码调试,不知道什么原因,难到是操作过程有什么问题吗? 我列出我这边的步骤: 我试过的两种方式:

方式一:

  1. Android Studio打开flutter项目工程,在根目录使用flutter build hap --debug构建
  2. 构建完成后,使用Dev-eco打开flutter项目ohos工程,打开工程后会自动 Ohpm install和build init,这两个都是执行成功的
  3. 查看entry -> oh-modules下面的三方库源码,都是.d.ets文件,无法调试

方式二:

  1. Android Studio打开flutter项目工程,命令行使用flutter run --debug 运行
  2. 上一步运行成功后,使用Dev-eco打开flutter项目ohos工程,打开工程后会自动 Ohpm install和build init,这两个都是执行成功的
  3. 在Dev-eco使用flutter run --debug运行或者手动点击debug按钮运行,发现三方库源码都是.d.ets

请问是哪里操作有问题吗?

您试下在Android Studio中添加断点,在flutter device select选择harmonyOS设备XXXX(mobile),随后点击Debug’main.dart’进行断点调试;

这是oh-package.json配置

这是oh-package.json配置

鸿蒙Next环境下Flutter 3.22.0项目无法对三方插件进行断点调试,主要涉及调试符号加载问题。需检查DevEco Studio的调试配置,确认插件已正确集成且支持HarmonyOS架构。确保插件编译时生成对应调试信息,并在项目依赖中启用调试模式。部分插件可能因平台兼容性限制断点功能,需验证插件版本与HarmonyOS的适配情况。

这是因为你在构建时使用了 --release 模式。在 Flutter for HarmonyOS 中,flutter build hap --release 会生成优化的发布版本,此时三方插件的源码会被编译为 .d.ets 声明文件,无法进行源码级断点调试。

要启用断点调试,请改用调试模式构建:

flutter build hap --debug

或者直接运行:

flutter run

这样会保留完整的源码映射,支持在 DevEco Studio 中正常断点调试三方插件。

另外,请确保在 DevEco Studio 中正确加载了 Flutter 模块的符号路径。如果问题仍然存在,可以尝试清理构建缓存:

flutter clean

然后重新进行调试构建。

回到顶部