一、前言

本文以初学者的视角记录了在Flutter鸿蒙环境搭建中的一些问题及其解决方案,旨在为同样处于入门阶段的开发者提供参考,帮助大家避开搭建过程中的常见坑,顺利开启Flutter for OpenHarmony的开发之旅。

二、记录问题及其解决方案

问题1:鸿蒙项目缺少入口模块配置,Flutter编译时无法找到应用的启动入口,导致构建失败

现象如下:

执行 flutter build app --release 报错: this ohos project don't have a entry module , can't build to a application.

解决方案:

步骤1:检查项目的入口模块配置

1. 打开项目根目录下的 ohos 文件夹,查看是否存在 entry 模块(鸿蒙应用的核心入口模块);
  • 如果没有 entry 模块:需通过DevEco Studio为该Flutter鸿蒙项目创建entry模块,并将其设为应用的主入口。
  • 如果已有 entry 模块:检查模块的配置文件是否正确。

2. 检查 ohos/build.gradle 文件,确认是否引入了entry模块。

步骤2:配置entry模块的启动入口

1. 进入 entry/src/main/ets 目录,确保存在 MainAbility.ts (鸿蒙Ability入口),并检查其配置:

import Ability from '@ohos.app.ability.Ability';
import window from '@ohos.window';

export default class MainAbility extends Ability {
  onCreate(want, launchParam) {
    super.onCreate(want, launchParam);
  }

  onWindowStageCreate(windowStage: window.WindowStage) {
    super.onWindowStageCreate(windowStage);
    windowStage.loadContent('pages/index', (err, data) => {
      if (err) {
        console.error('Failed to load the content. Cause: ' + JSON.stringify(err));
        return;
      }
    });
  }
}

2. 检查 entry/src/main/module.json5 ,确认 abilities 节点配置了正确的入口Ability。

步骤3:重新关联Flutter与鸿蒙入口

1. 确保Flutter的入口代码( lib/main.dart )正常,包含 main() 函数:​

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter OHOS Demo',
      home: const Scaffold(
        body: Center(child: Text('Hello Flutter OHOS!')),
      ),
    );
  }
}

2. 在鸿蒙entry模块中,确保集成了Flutter引擎的初始化代码,让鸿蒙Ability能加载Flutter页面。

步骤4:重新执行构建命令

1. 先执行 flutter pub get 确保依赖完整;

2. 进入项目根目录,重新执行。

三、总结

Flutter鸿蒙开发环境搭建的核心难点集中在版本兼容、签名配置、依赖适配和设备适配四个方面。初学者只需遵循“匹配对应版本、严格配置签名、参考社区推荐依赖、善用适配组件”的原则,就能顺利解决大部分问题。搭建过程中遇到疑问时,优先查阅开源鸿蒙跨平台社区的官方指南和技术文章,能少走很多弯路。(例如:https://blog.csdn.net/qq_74796274/article/details/155064027?sharetype=blog&shareId=155064027&sharerefer=APP&sharesource=ttkkbb3&sharefrom=link

四、运行结果


五、社区引导

欢迎加入开源鸿蒙跨平台社区:

https://openharmonycrossplatform.csdn.net

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐