支持指令
Flutter-Ohos 鸿蒙定制版已适配 OpenHarmony 开发的指令列表如下:
| 指令名称 | 指令描述 | 使用说明 |
|---|---|---|
| doctor | 环境检测 | flutter doctor |
| config | 环境配置 | flutter config --<key> <value> |
| create | 创建新项目 | flutter create --platforms [ohos,android,ios] --org <org> <appName> |
| create | 创建 module 模板 | flutter create -t module <module_name> |
| create | 创建 plugin 模板 | flutter create -t plugin --platforms [ohos,android,ios] <plugin_name> |
| create | 创建 plugin_ffi 模板 | flutter create -t plugin_ffi --platforms [ohos,android,ios] <plugin_name> |
| devices | 已连接设备查找 | flutter devices |
| install | 应用安装 | flutter install -t <deviceId> <hap文件路径> |
| assemble | 资源打包 | flutter assemble |
| build | 测试应用构建 | flutter build hap --debug [--target-platform ohos-arm64] [--local-engine=<兼容ohos的debug engine产物路径>] |
| build | 正式应用构建 | flutter build hap --release [--target-platform ohos-arm64] [--local-engine=<兼容ohos的release engine产物路径>] |
| run | 应用运行 | flutter run [--local-engine=<兼容ohos的engine产物路径>] |
| attach | 调试模式 | flutter attach |
| screenshot | 截屏 | flutter screenshot |
| pub | 获取依赖 | flutter pub get |
| clean | 清除项目依赖 | flutter clean |
| cache | 清除全局缓存数据 | flutter pub cache clean |
flutter create 详解
flutter create 用于创建新的 Flutter 项目,支持多种参数定制项目配置。
基本用法
bash
flutter create <项目目录>常用参数
| 参数 | 说明 |
|---|---|
--project-name <名称> | 指定项目名称,即 pubspec.yaml 中的 name 字段。必须全小写,可用下划线分隔。若不指定,则默认使用项目目录名 |
--platforms <平台列表> | 指定要支持的平台,逗号分隔。可选值:android、ios、web、ohos、macos、windows、linux。若不指定,默认生成 Android、iOS、Web 等平台 |
--org <组织标识> | 指定组织标识,用于生成包名(Android)和 Bundle Identifier(iOS)。格式为反向域名,如 com.example。包名最终为 com.example.<project-name> |
-t <模板类型> | 指定项目模板类型。可选值:app(默认应用)、module(Flutter 模块)、plugin(插件)、plugin_ffi(FFI 插件) |
常见示例
指定项目名称和支持平台:
bash
flutter create --project-name hongmeng --platforms android,ios,web,ohos hongmeng--project-name hongmeng:项目名称设为hongmeng,pubspec.yaml中name字段为hongmeng--platforms android,ios,web,ohos:生成 Android、iOS、Web、鸿蒙四个平台的原生工程目录- 最后的
hongmeng:项目目录名,即在本目录下创建hongmeng/文件夹
指定组织标识:
bash
flutter create --platforms android,ios,ohos,web --org com.mawanli learn--org com.mawanli:组织标识为com.mawanli,生成的 Android 包名为com.mawanli.learn,iOS Bundle Identifier 为com.mawanli.learnlearn:项目目录名,同时作为默认项目名称(pubspec.yaml中name为learn)
在当前目录创建并指定项目名称:
bash
flutter create --platforms android,ios,ohos,web --org com.mawanli --project-name learn .--project-name learn:项目名称设为learn(覆盖从目录名推断的默认值).:表示在当前目录下创建项目,而不是新建子目录。适合在已存在的空目录中初始化项目
选择建议
- 如果项目目录名和你想要的项目名一致,可以省略
--project-name - 如果需要自定义包名,务必使用
--org指定组织标识 - 使用
.在当前目录创建时,确保目录为空或不存在冲突文件
flutter run 详解
flutter run 用于在连接的设备上运行 Flutter 应用,支持指定设备和 Web 服务器配置。
基本用法
bash
flutter run # 在默认设备上运行
flutter run -d <设备ID> # 在指定设备上运行常用参数
| 参数 | 说明 |
|---|---|
-d <设备ID> | 指定运行的目标设备。可通过 flutter devices 查看可用设备列表。常用值:chrome(Chrome 浏览器)、web-server(Web 服务器模式)、ohos(鸿蒙设备)、设备序列号等 |
--web-port <端口号> | 指定 Web 服务器监听的端口号。仅在 -d web-server 或 -d chrome 时有效。默认随机分配端口 |
--web-hostname <主机名> | 指定 Web 服务器监听的主机名。默认为 localhost,仅允许本机访问。设为 0.0.0.0 可允许局域网内其他设备访问 |
--local-engine <路径> | 指定本地 Engine 产物路径,用于调试或测试自定义 Engine 构建 |
常见示例
在 Web 服务器模式下运行并指定端口:
bash
cd /workspace/src/hongmeng && flutter run -d web-server --web-port=8080-d web-server:以 Web 服务器模式运行,不会自动打开浏览器,而是在终端输出访问 URL。适合在远程开发环境或无 GUI 的服务器上使用--web-port=8080:Web 服务器监听 8080 端口,访问地址为http://localhost:8080
允许局域网访问的 Web 运行:
bash
cd /workspace/src/hongmeng && flutter run -d web-server --web-hostname=0.0.0.0 --web-port=8080--web-hostname=0.0.0.0:Web 服务器监听所有网络接口,局域网内其他设备可通过本机 IP 地址访问(如http://192.168.1.100:8080)--web-port=8080:指定端口号为 8080
web-server vs chrome
web-server模式:不自动打开浏览器,适合远程开发、CI/CD 环境,或需要手动控制浏览器打开方式的场景chrome模式(-d chrome):自动打开 Chrome 浏览器并支持 DevTools 调试,适合日常本地开发- 如果需要在手机上预览 Web 版效果,使用
--web-hostname=0.0.0.0并通过局域网 IP 访问
提示
- 构建 Hap 命令直接执行
flutter build hap即可,不再需要--local-engine参数,直接从云端获取编译产物。 - 更多详情参见 flutter_flutter 仓库。
