Skip to content

支持指令

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 <平台列表>指定要支持的平台,逗号分隔。可选值:androidioswebohosmacoswindowslinux。若不指定,默认生成 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:项目名称设为 hongmengpubspec.yamlname 字段为 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.learn
  • learn:项目目录名,同时作为默认项目名称(pubspec.yamlnamelearn

在当前目录创建并指定项目名称:

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 仓库

基于 Flutter 官方文档整理