OpenHarmony开发者论坛

标题: HSP包概念与使用场景的具体询问 [打印本页]

作者: VincenT_T    时间: 2024-10-30 16:38
标题: HSP包概念与使用场景的具体询问

1.背景:
HSP-应用程序包开发与使用-应用程序包基础知识-开发基础知识-基础入门 - 华为HarmonyOS开发者
在以上官方文档中,表述为:
HSP不支持独立发布,而是跟随其宿主应用的APP包一起发布,与宿主应用同进程,具有相同的包名和生命周期。

然后HSP包又分为应用内HSP包,与集成态HSP包,其中,集成态HSP包表述为:
构建、发布过程中,不与特定的应用包名耦合


2.疑问:

HSP包,应用内HSP包,集成态HSP包,三者的概念区分,具体的应用场景,希望可以举例说明。

作者: 深开鸿_胡瑞涛    时间: 2024-10-31 10:36
HSP:是一种动态共享包,可以包含代码和资源,与宿主应用共享进程、包名和生命周期。
应用内HSP:是为特定应用定制的HSP,编译时与宿主应用的包名绑定,只能被该应用使用。
集成态HSP:是不与任何特定应用耦合的HSP,可以在构建和发布时被任何应用使用,工具链会自动处理包名替换。

HSP(Harmony Shared Package)
概念:
HSP是一种可以包含代码、资源等的动态共享包,它不能独立发布,必须与宿主应用的APP包一起发布。HSP与宿主应用共享相同的进程、包名和生命周期。
应用场景:
假设有一个公司开发了一款音乐播放器应用,该应用需要一个功能强大的音频处理库。这个库可以被封装在一个HSP中,然后与音乐播放器应用一起发布。这样,音频处理库就可以被音乐播放器应用直接使用,同时保持了代码和资源的共享。

应用内HSP
概念:
应用内HSP在编译过程中与宿主应用的包名(bundleName)强耦合,只能给某个特定的应用使用。
应用场景:
继续上面的例子,如果音乐播放器应用有一个独特的用户界面设计,这个设计被封装在一个应用内HSP中,那么这个HSP只能被这个音乐播放器应用使用,因为它在编译时与音乐播放器的包名绑定了。

集成态HSP
概念:
集成态HSP在构建和发布过程中不与特定的应用包名耦合;使用时,工具链支持自动将集成态HSP的包名替换成宿主应用的包名。
应用场景:
假设同一个公司还开发了一款视频播放器应用,这个应用也需要音频处理功能。公司可以创建一个集成态HSP,包含音频处理库,然后在构建和发布时不指定具体的宿主应用包名。当音乐播放器和视频播放器应用都需要这个音频处理库时,工具链会自动将集成态HSP的包名替换为当前宿主应用的包名,使得这个HSP可以被两个不同的应用共享使用。




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5