HarmonyOS hsp制作与引用

1. HarmonyOS hsp制作与引用

1.1 介绍

  HSP动态共享包(模块),应用内HSP指的是专门为某一应用开发的HSP,只能被该应用内部其他HAP/HSP使用,用于应用内部代码、资源的共享。应用内HSP跟随其宿主应用的APP包一起发布,与该宿主应用具有相同的包名和生命周期。官网文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/in-app-hsp-0000001523312158-V2
  对于企业大型应用开发,有部分公共的资源和代码,只能在开发态静态共享,并且打包到每个依赖的HAP里,这样导致包体积较大,且有重复多份公共资源和代码重复打包到应用中。
  为了解决运行态状态无法共享,以及减少包体积,让多个HAP能够共享同一公共资源代码,DevEco Studio支持动态共享包HSP(Harmony Shared Package)。
  应用内HSP指的是专门为某一应用开发的HSP,只能被该应用内部其他HAP/HSP使用,用于应用内部代码、资源的共享。 应用内HSP跟随其宿主应用的APP包一起发布,与该宿主应用具有相同的包名和生命周期。
  当前暂不支持跨应用共享包。一个项目自能有一个HSP包。

1.1.1 HSP旨在解决HAR存在的几个问题

(1)多个HAP引用相同的HAR,导致的APP包大小膨胀问题。
(2)多个HAP引用相同的HAR,HAR中的一些状态变量无法共享的问题。

1.1.2 HSP的一些约束

(1)HSP及其使用方都必须是Stage模型。
(2)HSP及其使用方都必须使用esmodule编译模式。
(3)HSP不支持在配置文件中声明abilities、extensionAbilities标签。

1.2 流程

1.2.1 创建步骤

  该工程为Stage模型,在工程中创建HAR模块。
  (1)点击项目右键=>New=>Module
在这里插入图片描述
  (2)New Module选择Static Library
在这里插入图片描述
  (3)在该Module的build-profile.json5中添加"artifactType": "obfuscation"开启代码混淆
在这里插入图片描述
  (4)编辑Hsp包
在这里插入图片描述

  (5)编译构建的HSP可在模块下的build目录下获取,包格式为.hsp。*
在这里插入图片描述

1.2.2 在使用方模块中引用HSP

  在使用方entry/feature模块的oh-package.json5文件中添加HSP模块引用,以引用名为sharedlibrary的HSP为例:
(1)Add.ets

{..."dependencies": {"sharedlibrary": "file:../sharedlibrary"}
}

在这里插入图片描述
  添加引用后,dependencies字段内的片段将出现报错:
在这里插入图片描述
  将鼠标放置在报错处会出现提示,在提示框中点击Run ‘ohpm install’。
在这里插入图片描述

1.3 运行引用HSP的使用方模块

  连接本地真机或本地模拟器。
  单击Run > Edit Configurations,选择Deploy Multi Hap标签页,勾选Deploy Multi Hap Packages,选择使用方模块(如entry)和HSP模块(如sharedlibrary),点击OK。
在这里插入图片描述
  单击Run > Run’模块名称’(如Run ‘entry’)或。
  DevEco Studio会启动应用/服务的编译构建,完成后应用/服务即可运行在本地真机或模拟器上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/3492.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

react —— useState 深入

基础用法 useState Hook 提供了这两个功能: State 变量 在第一次重新渲染期间,这将具有作为参数传递的值State setter 函数 set 函数将允许将状态的值更新为不同的值,如果 set 函数中提供的值不同,则将触发重新渲染。 注意&…

MyBatis基础操作

黑马程序员JavaWeb开发教程 文章目录 根据资料中提供的《tlias智能学习辅助系统》页面原型及需求,完成员工管理的需求开发一、环境准备1、准备数据库表emp2、创建一个新的springboot工程,选择引入对应的起步依赖(mybatis、mysql驱动、lombok&…

【树莓派4B】如何点亮树莓派的LED灯

在之前一系列文章中,使用python、行人入侵检测,确没有使用树莓派的硬件。控制引脚进行输出: 如何写python点亮led灯闪烁,我灯接在gpio13,GPIO19,gpio26。我都想闪烁。 你可以使用Python的GPIO库来控制树莓派上的LED灯。首先&…

Linux 安装 nvm,并使用 Jenkins 打包前端

文章目录 nvm是什么nvm下载nvm安装设置 nvm 环境变量设置 Jenkins 打包命令 nvm是什么 nvm全英文也叫node.js version management,是一个nodejs的版本管理工具。nvm和n都是node.js版本管理工具,为了解决node.js各种版本存在不兼容现象可以通过它可以安装…

数仓开发LAG 和 LEAD 函数详细解析和用例

在做Iot大数据开发时,需要用到lag和lead函数来计算设备故障。下面详细解析lag和lead函数的作用和例子。 LAG 和 LEAD 函数是用于在 Spark SQL 中进行窗口函数操作时常用的两个函数,它们用于获取某一行在分组内的前一行或后一行的数值。下面详细解释它们…

element-ui el-tabs el-tab-pane 的使用

实现效果&#xff1a;1、去掉它的下划线 2、标签切换的蓝色线条 3、字体&#xff0c;鼠标滑过字体、点击的字体 4、如果数据超出&#xff0c;出现左右滑动标签 html <div class"activity"><div class"cont"><el-tabsv-if"search &…

实验 | RT-Thread:L1

1 线程间同步 同步是指按预定的先后次序进行运行&#xff0c;线程同步是指多个线程通过特定的机制&#xff08;如互斥量&#xff0c;事件对象&#xff0c;临界区&#xff09;来控制线程之间的执行顺序&#xff0c;也可以说是在线程之间通过同步建立起执行顺序的关系&#xff0…

视频抽帧转图片,opencv和ffmpeg效果测评

最近在做一个项目&#xff0c;需要从视频中抽帧转图片&#xff0c;于是对opencv和ffmpeg效果进行了测评。 文章目录 1. open cv2. ffmpeg3.抽帧效果对比 1. open cv open cv 视频抽图片的教程&#xff0c;推荐以下链接&#xff0c;抽的帧数可以自行调节&#xff01; 用pythono…

maya 设置半径 获取时长,设置时长

maya 选择当前节点的所有子节点&#xff0c;设置半径&#xff0c;获取动画时长&#xff0c;并且设置时长 python 脚本 import maya.cmds as cmds# 获取当前选择的节点 selected_nodes cmds.ls(selectionTrue)# 创建一个列表来存储所需的节点&#xff1a;当前选中的节点及其所…

四川易点慧电子商务:抖音小店引领潮流,先进模式打造电商新标杆

在当下数字化浪潮中&#xff0c;电子商务行业如日中天&#xff0c;四川易点慧电子商务有限公司以其独特的视角和前瞻性的战略布局&#xff0c;成功在抖音小店领域崭露头角&#xff0c;成为行业内的佼佼者。本文将深入剖析四川易点慧电子商务的成功秘诀&#xff0c;以及其在抖音…

Mysql当前列的值等于上一行的值累加前一列的值

Mysql当前列的值等于上一行的值累加前一列的值 前言&#xff1a;公司项目需要做数据可视化&#xff0c;统计一些数据&#xff0c;比如用户增长量&#xff0c;按每天分组&#xff0c;还要计算每天累加的用户量&#xff0c;一开始也是想了很久&#xff0c;不知道怎么做&#xff…

百度网盘svip白嫖永久手机2024最新教程

百度网盘&#xff08;原名百度云&#xff09;是百度推出的一项云存储服务&#xff0c;已覆盖主流PC和手机操作系统&#xff0c;包含Web版、Windows版、Mac版、Android版、iPhone版和Windows Phone版。用户将可以轻松将自己的文件上传到网盘上&#xff0c;并可跨终端随时随地查看…

从0到1:如何成为优秀产品经理?必备哪些硬核技能?

成为一名优秀的产品经理&#xff0c;需要深入理解产品设计的理念、出发点&#xff0c;以及如何把控和收集需求。首先&#xff0c;产品设计的出发点应该是工具化思维、以人为本的设计&#xff0c;以及以完成商业目的的设计。这意味着产品经理需要根据产品的不同阶段&#xff0c;…

基于SpringBoot和Leaflet的地震台网信息预警可视化

目录 前言 一、后台管理设计与实现 1、Model层 2、业务层 3、控制层 二、前端预警可视化设计与实现 1、网页结构 2、数据绑定 三、效果展示 总结 前言 在之前的几篇博客中&#xff0c;我们讲解了如何在Leaflet中进行预警信息提示效果&#xff0c;以及基于XxlCrawler进…

软件无线电系列——宽带中频带通采样(超外差接收体制)和射频直接带通采样定理(盲区采样定理)

本节目录 一、宽带中频带通采样(超外差接收体制) 1、宽带中频带通采样的原理 2、宽带中频带通采样的设计示例 二、射频直接带通采样定理 1、整带采样 2、射频直接带通采样本节内容 一、宽带中频带通采样(超外差接收体制) 1、宽带中频带通采样的原理 宽带中频带通采样(超外差接…

wstunnel (websocket模式ssh)

接上一篇 修改客户端运行参数 ssh -o ProxyCommand"./wstunnel client -L stdio://%h:%p ws://192.168.254.131:8080" 127.0.0.1 其中127.0.0.1为服务端的本地ssh访问&#xff0c;可以修改为通过服务端访问其他设备的ssh服务。例如&#xff1a; ssh -o ProxyComma…

Python框架:Django和Flask介绍应用场景和优缺点

Python框架&#xff1a;Django和Flask介绍应用场景和优缺点 Django 和 Flask 都是 Python 语言的 Web 框架&#xff0c;它们用于构建 Web 应用程序。以下是它们的基本介绍、使用方式、优点、缺点以及适用场景的对比。 Django 是什么 Django 是一个高级的 Web 框架&#xff0c…

三 SpringMVC返回数据以及RESTFul设计标准

SpringMVC返回数据 一 控制页面跳转 1.1 快速使用 开发模式回顾在 Web 开发中&#xff0c;有两种主要的开发模式&#xff1a;前后端分离和混合开发。前后端分离模式&#xff1a;[重点]指将前端的界面和后端的业务逻辑通过接口分离开发的一种方式。开发人员使用不同的技术栈和…

【Ajax-异步刷新技术】什么是Ajax之续章 !

文章目录 Ajax第五章1、layui的后台布局2、layui的数据表格1、在jsp页面中编写table2、在页面中引入文件3、编写代码4、参照文档修改表格属性 **3、最终效果** 第六章1、继续第五章内容1、layui组件2、添加数据3、查看数据4、修改数据5、删除数据 2、批量删除核心 3、数据表格重…

橡胶硫化机的单片机控制

/*** 2020 10 16 21:21硫化机控制程序 ***/ /****L971 CODE5035*********************/ #include <REG52.H> #include <intrins.h> #include <string.h> #include …