鸿蒙ArkUI-X跨语言调用说明:平台差异化【Android、ios动态化】

本文主要是介绍鸿蒙ArkUI-X跨语言调用说明:平台差异化【Android、ios动态化】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

动态化介绍

简介

ArkUI-X支持动态化,使用者可以根据自己需要动态发布跨平台内容,从而使跨平台部分和宿主应用进行解耦。动态化能力支持如下两个典型场景:

  1. 框架动态化:指ArkUI跨平台开发框架本身可以做到动态下发,即应用发布时可以不带框架基础库,降低应用原始发布包体积,在需要时才从云端动态下发和执行加载;
  2. 特性动态化:指用ArkTS语言开发的特性可以做到动态化,和宿主应用解耦,独立发布、升级版本;
说明:应用在使用动态化能力时需要遵循目标终端操作系统应用上架规则,如果违规可能有下架风险,风险由各自应用承担。 开发前请熟悉鸿蒙开发指导文档: gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。

实践参考

  • [Android平台动态化开发指南]

Android平台动态化开发指南

简介

本文介绍如何在Android平台进行ArkUI-X动态化开发,包括动态化目录规则及约束。

适用场景

动态化主要包括两个典型场景:

  • 场景1:框架动态化,为了降低应用ROM体积占用,及满足动态升级框架目的;
  • 场景2:特性Bundle动态化,特性和宿主应用发布解耦;

开发指南

目录说明

动态加载时要求应用沙箱内目录架构如下所示:

/data/data/应用/files/arkui-x    
├── feature1                    # 跨平台特性1
│   ├── ets                     # ets目录
│   │   ├──sourceMaps.map
│   │   └──modules.abc
│   ├── resources.index         
│   ├── resources              
│   ├── module.json
│   └── libs                    # 特性bundle带的so库
│       ├── arm64-v8a
│       ├── armeabi-v7a
│       └── x86_64  
├── systemres                   # ArkUI公共资源
└── libs                        # 根目录下libs库├── arm64-v8a               │    └──libarkui_android.so    # ArkUI-X引擎├── armeabi-v7a           └── x86_64
  1. /data/data/应用/files/arkui-x 可以视为ArkUI-X动态加载的沙箱根目录,框架和特性Bundle均需要放在这个目录下;
  2. 根目录下的libs文件夹放置引擎(libarkui_android.so),及其他公共库;
  3. 根目录下要求按照module级别组织,不可以重名

    加载优先级

  • 引擎so库:优先加载应用lib目录下,如果未找到则去应用沙箱根目录加载;
  • 插件so库:优先加载应用lib目录下,如果未找到则去应用沙箱根目录尝试加载,最后去插件自身的libs目录加载;
  • module加载:优先从应用assets目录下寻找,如果找不到则去沙箱内尝试加载;
  • systemres加载:同上,优先加载应用assets目录,找不到则去沙箱内加载;

    注意:不建议应用同一个module,即预制到应用assets内又在沙箱同时部署。

    框架初始化

    如果应用使用了框架引擎动态化,首次下载引擎库后将其放置/data/data/应用/files/arkui-x/libs/arm64-v8a

目录,之后再打开对应跨平台界面时初始化框架:

appDelegate = new StageApplicationDelegate();
appDelegate.initApplication(this)

后续再打开应用,建议按照正常流程在Application里初始化框架,提前完全引擎库加载,提高跨平台模块加载速度;

  • [iOS平台动态化开发指南]

iOS平台动态化开发指南

简介

本文介绍如何在iOS平台进行ArkUI-X动态化开发,包括动态化目录规则及约束。

适用场景

由于iOS平台AppStore不允许应用动态更新so库,因此ArkUI-X在iOS上动态化只能更新界面及业务逻辑构成的abc,不支持so库动态加载。应用需要将ArkUI-X基础库、插件及业务so库提前打包到应用内上架。

开发指南

目录结构

iOS平台ArkUI-X沙箱内目录结构如下所示:

/Data/Application/应用/Documents/files/arkui-x    
├── feature1                    # 跨平台特性1
│   ├── ets                     # ets目录
│   │   ├──sourceMaps.map
│   │   └──modules.abc
│   ├── resources.index         
│   ├── resources              
│   └── module.json
└── systemres                   # ArkUI公共资源

搜狗高速浏览器截图20240326151450.png

  1. /Data/Application/应用/Documents/files/arkui-x可以视为ArkUI-X动态加载的沙箱根目录,特性Bundle需要放在这个目录下;
  2. 根目录下要求按照module级别组织,不可以重名

加载优先级

  • module加载:优先从应用根目录下寻找,如果找不到则去沙箱内尝试加载;
  • systemres加载:同上,优先加载应用根目录下的资源,找不到则去沙箱内加载;

    注意:不建议应用同一个module,即预制到应用内又在沙箱同时部署。

最后呢,很多开发朋友不知道需要学习那些鸿蒙技术?鸿蒙开发岗位需要掌握那些核心技术点?为此鸿蒙的开发学习必须要系统性的进行。

而网上有关鸿蒙的开发资料非常的少,假如你想学好鸿蒙的应用开发与系统底层开发。你可以参考这份资料,少走很多弯路,节省没必要的麻烦。由两位前阿里高级研发工程师联合打造《鸿蒙NEXT星河版OpenHarmony开发文档》里面内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)技术知识点

如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。下面是鸿蒙开发的学习路线图。

高清完整版请点击→《鸿蒙NEXT星河版开发学习文档》

针对鸿蒙成长路线打造的鸿蒙学习文档。话不多说,我们直接看详细资料鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,帮助大家在技术的道路上更进一步。

《鸿蒙 (OpenHarmony)开发学习视频》

图片

《鸿蒙生态应用开发V2.0白皮书》

图片

《鸿蒙 (OpenHarmony)开发基础到实战手册》

获取这份鸿蒙星河版学习资料,请点击→《鸿蒙NEXT星河版开发学习文档》

OpenHarmony北向、南向开发环境搭建

图片

《鸿蒙开发基础》

  1. ArkTS语言

  2. 安装DevEco Studio

  3. 运用你的第一个ArkTS应用

  4. ArkUI声明式UI开发

  5. .……

图片

《鸿蒙开发进阶》

  1. Stage模型入门

  2. 网络管理

  3. 数据管理

  4. 电话服务

  5. 分布式应用开发

  6. 通知与窗口管理

  7. 多媒体技术

  8. 安全技能

  9. 任务管理

  10. WebGL

  11. 国际化开发

  12. 应用测试

  13. DFX面向未来设计

  14. 鸿蒙系统移植和裁剪定制

  15. ……

图片

《鸿蒙开发实战》

  1. ArkTS实践

  2. UIAbility应用

  3. 网络案例

  4. ……

图片

 获取这份鸿蒙星河版学习资料,请点击→《鸿蒙NEXT星河版开发学习文档》

总结

鸿蒙—作为国家主力推送的国产操作系统。部分的高校已经取消了安卓课程,从而开设鸿蒙课程;企业纷纷跟进启动了鸿蒙研发

并且鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,未来将会支持 50 万款的应用那么这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行!

这篇关于鸿蒙ArkUI-X跨语言调用说明:平台差异化【Android、ios动态化】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/997500

相关文章

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

如何解决线上平台抽佣高 线下门店客流少的痛点!

目前,许多传统零售店铺正遭遇客源下降的难题。尽管广告推广能带来一定的客流,但其费用昂贵。鉴于此,众多零售商纷纷选择加入像美团、饿了么和抖音这样的大型在线平台,但这些平台的高佣金率导致了利润的大幅缩水。在这样的市场环境下,商家之间的合作网络逐渐成为一种有效的解决方案,通过资源和客户基础的共享,实现共同的利益增长。 以最近在上海兴起的一个跨行业合作平台为例,该平台融合了环保消费积分系统,在短

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影