鸿蒙-ArkTS和Native之间的交互使用7使用三方库libarchive开发解压缩功能

仿佛云烟
发布于 2025-6-28 16:48
浏览
0收藏

前言:

鸿蒙-ArkTS和Native之间的交互使用7使用三方库libarchive开发解压缩功能-鸿蒙开发者社区


 之前讲过鸿蒙原生的Zip模块和三方库解压模块,但是都达不到非常好用的要求,都有一定的缺陷。(前两种的好出就是简单,轻量,易用)


接下来我们要重点讲的是 libarchive三方库,基于Native开发方式。


libarchive支持常见的 ​​7z​​​, ​​tar​​​, ​​zip​​​, ​​gz​​​, ​​xz,rar​​ 格式解压缩。


三方库链接:​​OpenHarmony-SIG/tpc_c_cplusplus - Gitee.com​


首先:


libarchive集成到应用hap


下载本仓库:


git clone https://gitee.com/openharmony-sig/tpc_c_cplusplus.git


三方库目录结构:


tpc_c_cplusplus/thirdparty/libarchive #三方库的目录结构如下
├── docs                              #三方库相关文档的文件夹
├── HPKBUILD                          #构建脚本
├── SHA512SUM                         #三方库校验文件
├── README.OpenSource                 #说明三方库源码的下载地址,版本,license等信息
├── README_zh.md   


在lycium目录下编译三方库 编译环境的搭建参考​​准备三方库构建环境​


cd lycium
./build.sh libarchive


三方库头文件及生成的库 在lycium目录下会生成usr目录,该目录下存在已编译完成的32位和64位三方库


libarchive/arm64-v8a
libarchive/armeabi-v7a


应用中使用三方库


鸿蒙-ArkTS和Native之间的交互使用7使用三方库libarchive开发解压缩功能-鸿蒙开发者社区


  • 在最外层(cpp目录下)CMakeLists.txt中添加如下语句


#将三方库加入工程中
target_link_libraries(entry PRIVATE {OHOS_ARCH}/libarchive.so)
#将三方库的头文件加入工程中
target_include_directories(entry PRIVATE {OHOS_ARCH}/include)


测试三方库


三方库的测试使用原库自带的测试用例来做测试


进入到构建目录获取,执行ctest,运行测试用例(libarchive-arm64-v8a-build为构建64位的目录,libarchive-armeabi-v7a-build为构建32位的目录)  


鸿蒙-ArkTS和Native之间的交互使用7使用三方库libarchive开发解压缩功能-鸿蒙开发者社区


通过上述方法就可以把libarchive集成到鸿蒙NDK项目中来。接下来就可以基于libarchive的一些方法进行解压缩功能的开发了。


参考资料


分类
收藏
回复
举报
回复
    相关推荐