首页 > 其他分享 >ohos 开发 flutter_module

ohos 开发 flutter_module

时间:2024-11-14 09:01:21浏览次数:1  
标签:module MyApplication ohos har com flutter

1.DevEco-Studio 搭建原生工程
使用 flutter_flutter,配置相关的环境变量

使用 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 源码

  5. 复制 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
    cyhh.51yjjy.com,cyhh.testoppo.com,cyhh.huaxinlighting.com
    cyhh.51jyo.com,cyhh.bctiantuo.com

  6. 修改 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"
    ]
    }
    ]
    }
    ]
    }

  7. 修改 MyApplication/oh-package.json5
    {
    // ...
    "dependencies": {
    "flutter_module": "./flutter_module",
    "@ohos/flutter_ohos": "./har/flutter.har"
    },
    "overrides": {
    "@ohos/flutter_ohos": "./har/flutter.har"
    }
    }
    cyhh.yjh9988.com,cyhh.jyh01.com,cyhh.gzysart.com
    cyhh.kfamaw.com,cyhh.shplcchina.com

  8. 使用 Deveco Studio 配置 MyApplication 的签名

  9. 运行 MyApplication

标签:module,MyApplication,ohos,har,com,flutter
From: https://www.cnblogs.com/bkbk1234/p/18545233

相关文章

  • Flutter OHOS 外接纹理适配简介 - 图片显示
    FlutterOHOS外接纹理适配简介-图片显示Flutter在OHOS平台使用外接纹理,图片场景,以PixelMap的形式注册到flutterengine,与视频播放和相机预览有所区别。注:1.一般而言,为了方便复用,会将ohos对接flutter外接纹理的功能代码作为一个module模块组件单独写一个插件注册到......
  • harmony_flutter_amp 导入高德地图
    接入功能目前已接入amap_flutter_location_ohos已经接入了updatePrivacyShow、updatePrivacyAgree、setApiKey、setLocationOption、startLocation、stopLocation、stopLocation、destroy方法初始化1.高德地图隐私弹窗设置AMapFlutterLocation.updatePrivacyAgree(true);......
  • 告别头文件,编译效率提升 42%!C++ Modules 实战解析 | 干货推荐
    编者按:AlibabaCloudLinux(简称“Alinux”)是目前阿里云上占比第一的操作系统。2021年,龙蜥以Alinux产品为基础发布了AnolisOS8正式版。本文中,阿里云智能集团开发工程师李泽政以Alinux为操作环境,讲解模块相比传统头文件有哪些优势,并通过若干个例子,学习如何组织一个C++模......
  • Flutter【05】企业级Flutter架构实践
    企业级Flutter架构实践:多端统一的移动应用解决方案一、架构概述本文介绍一个完整的企业级Flutter应用架构设计,采用三层架构模式,实现了Android、iOS和Web多端统一开发。二、架构层次详解2.1宿主层宿主层是整个应用的容器层,负责承载Flutter模块:移动端集成Android端通......
  • Introspect M5513-DDR5 MR-DIMM Module Test System
    M5513DDR5MR-DIMMModuleTestSystemComplete ChaaracterizationandFuncationalTestingofMR-DIMMModulesTheM5513isanall-inclusivememorytestsystemfornext-generationDDR5multiplexed-rankdualinline memorymodules(MR-DIMM).Operating......
  • 如何查看 SAP ABAP Kernel Module 的源代码
    StackOverflow上有个网友提问,想查看ABAP系统生成UUID方法,在KernelModulepf_create_uuid16c32里实现的源代码:https://stackoverflow.com/questions/42110195/how-to-open-kernel-module-in-abap笔者之前的文章提到,类似上图高亮这种ABAPKernelModule,通过C语......
  • 学习笔记(三十五):[email protected] (线性容器ArrayList)
    概述:一种线性数据结构,底层基于数组实现 一、导入import{ArrayList}from'@kit.ArkTS'; 二、定义letarrayList:ArrayList<string|number>=newArrayList(); 三、常用函数1、add,在ArrayList尾部插入元素 2、insert,在长度范围内任意位置插入指定元素......
  • 学习笔记(三十六):[email protected] (非线性容器HashMap)
    概述:HashMap底层使用数组+链表+红黑树的方式实现,查询、插入和删除的效率都很高。HashMap存储内容基于key-value的键值对映射,不能有重复的key,且一个key只能对应一个value一、导入import{HashMap}from'@kit.ArkTS' 二、定义lethashMap:HashMap<string,number>=ne......
  • 【Azure Developer】在使用Azure Bot Service JavaScript的实例代码遇见Cannot find m
    问题描述从Github中下载了JavaScript的BotServiceEchoBot实例代码,本地执行,总是报错Cannotfindmodule'node:crypto' 错误信息Error:Cannotfindmodule'node:crypto'Requirestack:atFunction.Module._resolveFilename(internal/modules/cjs/loader.js:902:15)......
  • pip install了之后还是显示no module named xxx的解决办法
    1.先查看pip的模块安装路径 就是图片里面的/usr/lib/python2.7/site-packages2.然后查看python的默认模块路径linux直接输入python,进行控制台然后继续:importsys查看print(sys.path) 会出现一个site-packages的路径,这个就是模块的路径。在site-packages添加一个路径文......