04-Flutter鸿蒙项目创建:生成第一个ohos项目并运行
04. Flutter鸿蒙项目创建:生成第一个ohos项目并运行

环境通过后,第一件事不是写复杂页面,而是创建一个最小可运行的 ohos 项目。这个项目用来验证 Flutter SDK、鸿蒙工程、构建工具和设备调试链路是否真正打通。

创建项目
进入项目目录:
cd /d D:\flutter_ohos_workspace\projects
flutter create --platforms ohos hello_ohos
cd hello_ohos
创建后检查目录:
hello_ohos
├─ lib
│ └─ main.dart
├─ ohos
│ ├─ entry
│ ├─ build-profile.json5
│ └─ oh-package.json5
├─ pubspec.yaml
└─ test
如果没有 ohos 目录,先检查当前调用的 Flutter 是否来自 flutter_flutter\bin。
写一个最小页面
把 lib/main.dart 改成下面的内容:
import 'package:flutter/material.dart';
void main() {
runApp(const HelloOhosApp());
}
class HelloOhosApp extends StatelessWidget {
const HelloOhosApp({super.key});
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
title: 'Hello OpenHarmony',
theme: ThemeData(
colorSchemeSeed: Colors.blue,
useMaterial3: true,
),
home: const HomePage(),
);
}
}
class HomePage extends StatelessWidget {
const HomePage({super.key});
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Flutter 鸿蒙')),
body: const Center(
child: Text(
'第一个 Flutter 鸿蒙应用',
style: TextStyle(fontSize: 22, fontWeight: FontWeight.w600),
),
),
);
}
}
拉取依赖并运行
执行:
flutter pub get
flutter devices
如果能看到设备:
flutter run --debug -d <deviceId>
如果只有一个设备,可以省略 -d:
flutter run --debug
第一次运行时间会比较长,因为需要下载缓存、构建鸿蒙工程并安装应用。
构建 hap 包
调试跑通后,再验证 release 构建:
flutter build hap --release
常见产物路径:
ohos/entry/build/default/outputs/default/entry-default-signed.hap
手动安装:
hdc install ohos/entry/build/default/outputs/default/entry-default-signed.hap
如果设备不止一个,使用:
hdc -t <deviceId> install ohos/entry/build/default/outputs/default/entry-default-signed.hap
项目创建检查

第一次创建项目只做一件事:保证最小页面能在鸿蒙设备上运行。不要同时改包名、签名、依赖、资源、原生插件。越多变量同时变化,越难定位问题。
把入口文件拆开
最小页面跑通后,可以把 main.dart 拆成入口和 App 配置两部分。后面增加页面、主题、路由时,就不需要把所有代码堆在一个文件里。
lib
├─ main.dart
└─ app.dart
main.dart:
import 'package:flutter/material.dart';
import 'app.dart';
void main() {
runApp(const HelloOhosApp());
}
app.dart:
import 'package:flutter/material.dart';
class HelloOhosApp extends StatelessWidget {
const HelloOhosApp({super.key});
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(colorSchemeSeed: Colors.blue, useMaterial3: true),
home: const Scaffold(
body: Center(child: Text('Hello OpenHarmony')),
),
);
}
}
创建失败的几个典型原因
flutter create --platforms ohos 失败时,常见原因集中在三类:
1. 当前 flutter 不是 flutter_flutter 仓库里的命令
2. DevEco SDK 变量没有配置完整
3. 项目路径过深、包含特殊字符或跨磁盘引用插件
先执行:
where flutter
flutter doctor -v
确认命令来源和 OpenHarmony 检查都正常,再重新创建项目。不要在失败目录里反复执行创建命令,目录已经生成一半时更容易出现残留配置。
第一次运行失败时的定位顺序
创建项目后运行失败,按下面顺序排查:
1. 当前目录是不是项目根目录
2. 项目中是否存在 ohos 目录
3. flutter pub get 是否成功
4. flutter devices 是否能看到设备
5. flutter run 输出的第一处错误是什么
不要直接删项目重建。第一次失败的日志通常最有价值,能看出是依赖问题、设备问题还是鸿蒙构建问题。
保留一个最小 Demo 分支
真实项目可以保留一个最小可运行分支或目录:
projects
├─ hello_ohos_min
└─ business_app
当业务项目构建失败时,先运行 hello_ohos_min。如果最小项目也失败,说明环境或设备有问题;如果最小项目正常,说明业务项目自身配置或依赖有问题。
通常最有价值,能看出是依赖问题、设备问题还是鸿蒙构建问题。
保留一个最小 Demo 分支
真实项目可以保留一个最小可运行分支或目录:
projects
├─ hello_ohos_min
└─ business_app
当业务项目构建失败时,先运行 hello_ohos_min。如果最小项目也失败,说明环境或设备有问题;如果最小项目正常,说明业务项目自身配置或依赖有问题。
更多推荐



所有评论(0)