HarmonyOS鸿蒙Next中封装视频SDK库选择包类型问题
HarmonyOS鸿蒙Next中封装视频SDK库选择包类型问题
1、封装目标应用
我们的目标是想封装一个视频SDK库给到第三方集成商集成,而客户APP可能会集成多个集成商提供的功能模块,我们SDK包括c++部分so库已经arkts部分。
2、封装咨询
目前我看文档有har与hsp两种封装方式来实现,根据第一点应用来看,我们封装成哪一种格式更好些呢?
-
HAR:HAR是静态共享包,可以包含代码、C库、资源和配置文件,只能作为应用模块的依赖项被引用。打包构建时,HAR的编译产物会被放入HAP中,作为HAP的一部分。当HAR在项目中有被多个模块使用方时,使用它的HAP中都拥有一份相同的HAR编译产物。
-
HSP:HSP是动态共享包,可以包含代码、C库、资源和配置文件,作为应用模块的依赖项被引用。相较与HAR,HSP中的代码和资源可以独立编译,运行时与应用在同一个进程中,代码只存在一份。应用安装时HSP将会随HAP依次安装至设备中。
-
HAR会打包到HAP里,HSP可以被多个HAP引用,打包时不会打进HAP里,可以理解为特殊的HAP。 当只有一个模块使用时,用har,多个模块使用时用hsp。没有必须使用har的要求。
您提到客户APP会集成多个功能模块,这边建议您用hsp包,避免代码和资源的重复拷贝,具体您还是要根据您的使用情况来看。
更多关于HarmonyOS鸿蒙Next中封装视频SDK库选择包类型问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中封装视频SDK库时,选择包类型主要涉及动态共享库(Shared Library)和静态库(Static Library)。动态共享库以.so文件形式存在,适用于多个应用共享同一份代码,减少内存占用,但需要运行时加载。静态库以.a文件形式存在,编译时直接链接到应用,增加应用体积,但无需运行时加载。根据具体需求,若希望减少应用体积且不介意运行时加载,可选择动态共享库;若希望应用独立且不依赖外部库,可选择静态库。
在HarmonyOS鸿蒙Next中封装视频SDK时,选择包类型需根据应用场景和功能需求决定。常见包类型包括:
-
HAR(HarmonyOS Archive):适用于本地库,便于模块化开发。
-
HAP(HarmonyOS Ability Package):适用于独立应用或服务,包含完整功能。
-
AAR(Android Archive):兼容Android生态,适合跨平台开发。
建议根据项目需求选择:若仅需视频播放功能,HAR足够;若需完整应用,选择HAP;若需跨平台支持,可考虑AAR。