19 Star 73 Fork 128

OpenHarmony-SIG / tpc_c_cplusplus

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
hap_integrate.md 4.23 KB
一键复制 编辑 原始数据 按行查看 历史
leehom 提交于 2023-07-18 17:54 . 修改文档

minizip 集成到应用hap

本库是在RK3568开发板上基于OpenHarmony3.2 Release版本的镜像验证的,如果是从未使用过RK3568,可以先查看润和RK3568开发板标准系统快速上手

开发环境

编译三方库

  • 下载本仓库

    git clone https://gitee.com/openharmony-sig/tpc_c_cplusplus.git --depth=1
  • 三方库目录结构

    tpc_c_cplusplus/thirdparty/minizip-ng # 三方库minizip-ng的目录结构如下
    ├── docs                              # 三方库相关文档的文件夹
    ├── BUILD.gn                          # 构建脚本,支持rom包集成
    ├── bundle.json                       # 三方库组件定义文件
    ├── CMakeLists.txt                    # 构建脚本,支持hap包集成
    ├── HPKBUILD                          # 构建脚本,可生成北向应用调用的so文件
    ├── SHA512SUM                         # 三方库校验文件
    ├── README.OpenSource                 # 说明三方库源码的下载地址,版本,license等信息
    ├── README_zh.md   
  • 在lycium目录下编译三方库

    编译环境的搭建参考准备三方库构建环境

    cd lycium
    ./build.sh minizip-ng googletest xz zstd bzip2 openssl
  • 三方库头文件及生成的库

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

    minizip-ng/arm64-v8a minizip-ng/armeabi-v7a 
    # 依赖库
    openssl/arm64-v8a openssl/armeabi-v7a xz/arm64-v8a xz/armeabi-v7a zstd/arm64-v8a zstd/armeabi-v7a bzip2/arm64-v8a bzip2/armeabi-v7a
  • 测试三方库

应用中使用三方库

  • 在IDE的cpp目录下新增thirdparty目录,将编译生成的头文件拷贝到该目录下,将编译生成的三方库以及依赖库全部(动态库名字带版本号和不带版本号的都需要)拷贝到工程的libs目录下,如下图所示:

     minizip_install_dir

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

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

测试三方库

三方库的测试使用原库自带的测试用例来做测试,准备三方库测试环境

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

 minizip_test

参考资料

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/openharmony-sig/tpc_c_cplusplus.git
git@gitee.com:openharmony-sig/tpc_c_cplusplus.git
openharmony-sig
tpc_c_cplusplus
tpc_c_cplusplus
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891