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

前言:


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


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


libarchive支持常见的 7ztarzipgzxz,rar 格式解压缩。


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


首先:


libarchive集成到应用hap


下载本仓库:


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

三方库目录结构:


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

应用中使用三方库



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

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

测试三方库


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


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



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


参考资料


posted @ 2025-06-28 15:45  同步—TLNX  阅读(42)  评论(0)    收藏  举报