harmony_flutter_ohos_module

HarmonyOS next之ohos开发 flutter_module

1.DevEco-Studio搭建原生工程

使用 [flutter_flutter](https://gitee.com/openharmony-sig/flutter_flutter),配置相关的环境变量

使用 [flutter_engine](https://gitee.com/openharmony-sig/flutter_engine) 生成的engine产物

2.搭建flutter_module工程

# 1. 创建 flutter子模块工程
flutter create -t module my_flutter_module
# 2. 编译生成 flutter_module.har
cd my_flutter_module
flutter build har --debug
cd -
# 3. 复制 EntryAbility.ets 和 Index.ets 到 MyApplication 中
cp my_flutter_module/.ohos/entry/src/main/ets/entryability/EntryAbility.ets MyApplication/entry/src/main/ets/entryability/EntryAbility.ets
cp my_flutter_module/.ohos/entry/src/main/ets/pages/Index.ets MyApplication/entry/src/main/ets/pages/Index.ets

ohos工程引用flutter

ohos工程引用flutter工程有两种使用方式

方式一:ohos工程 引用 har 文件

1. 复制 har 文件
cp -r my_flutter_module/.ohos/har/* MyApplication/har/

2. 修改 MyApplication/oh-package.json5

{
  // ...
  "dependencies": {
    "flutter_module": "har/flutter_module.har"
  },
  "overrides": {
    // 有冲突的依赖需要放到这里消除冲突
    "@ohos/flutter_ohos": "har/flutter.har",
    "plugin_xxx": "har/plugin_xxx.har"
  }
}
3. 使用 Deveco Studio 配置 MyApplication 的签名
4. 运行 MyApplication

方式二:ohos工程 直接引用 flutter_module 源码

1. 复制 flutter_module 源码 和 flutter相关文件
cp -r my_flutter_module/.ohos/flutter_module MyApplication/
mkdir -p MyApplication/flutter_module/src/main/resources/rawfile
cp -r my_flutter_module/.ohos/flutter_module/src/main/resources/rawfile/flutter_assets MyApplication/flutter_module/src/main/resources/rawfile
cp my_flutter_module/.ohos/har/flutter.har MyApplication/har/flutter.har
2. 修改 MyApplication/build-profile.json5
{
  // ...
  "modules": [
    {
      "name": "entry",
      "srcPath": "./entry",
      "targets": [
        {
          "name": "default",
          "applyToProducts": [
            "default"
          ]
        }
      ]
    },
    // 以下为新增内容
    {
      "name": "flutter_module",
      "srcPath": "./flutter_module",
      "targets": [
        {
          "name": "default",
          "applyToProducts": [
            "default"
          ]
        }
      ]
    }
  ]
}
3. 修改 MyApplication/oh-package.json5
{
  // ...
  "dependencies": {
    "flutter_module": "./flutter_module",
    "@ohos/flutter_ohos": "./har/flutter.har"
  },
  "overrides": {
    "@ohos/flutter_ohos": "./har/flutter.har"
  }
}
4. 使用 Deveco Studio 配置 MyApplication 的签名
5. 运行 MyApplication
### 鸿蒙 HarmonyOS Flutter 编译 HAR 包教程 #### 准备工作 为了成功编译HAR包,在项目环境中需安装并配置好Flutter SDK和HarmonyOS SDK。确保已设置环境变量以便命令行工具能够识别这些SDK。 #### 创建Flutter模块 通过执行`flutter create my_flutter_module`创建一个新的Flutter模块,其中`my_flutter_module`是自定义名称。此操作会初始化一个基础的Flutter项目框架[^2]。 #### 修改 `build.gradle` 进入项目的根目录下的`build.gradle`文件中添加必要的依赖项来支持HarmonyOS平台特定的功能实现: ```gradle dependencies { implementation 'com.huawei.flutter.plugins:flutter_plugin' } ``` 对于更详细的Gradle配置调整,请参照官方文档指南完成相应修改以适应具体需求场景的要求。 #### 构建选项设定 针对HarmonyOS目标设备进行构建时,可以利用如下CLI指令指定本地引擎路径和其他必要参数来进行优化后的编译过程: ```bash flutter build har --local-engine=/path/to/local/engine/src/out/ohos_release_arm64 -v ``` 这里`/path/to/local/engine/src/out/ohos_release_arm64`应替换为实际使用的预编译好的HarmonyOS版本对应的Flutter engine位置;而`-v`标志用于启用详细日志输出便于调试期间查看进度信息。 #### 打包与混淆处理 当准备发布应用之前,建议开启代码混淆功能增强安全性。这一步骤通常是在IDE内完成——比如使用DevEco Studio作为集成开发环境的话,则可以在其界面里找到相关设置入口激活该特性。这样做的好处在于能有效防止反向工程破解行为的发生,从而更好地保护开发者权益[^3]。 #### 发布前验证 最后,在正式提交至商店审核之前务必进行全面测试确保存在任何潜在兼容性问题都已被解决,并且所有预期功能均正常运作无误之后再考虑上线分发给最终用户群体体验试用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值