NFD集成到应用hap
本库是在RK3568开发板上基于OpenHarmony3.2 Release版本的镜像验证的,如果是从未使用过RK3568,可以先查看润和RK3568开发板标准系统快速上手。
开发环境
编译三方库
-
下载本仓库
git clone https://gitee.com/openharmony-sig/tpc_c_cplusplus.git --depth=1 -
三方库目录结构
tpc_c_cplusplus/thirdparty/NFD # 三方库NFD的目录结构如下 ├── docs # 三方库相关文档的文件夹 ├── HPKBUILD # 构建脚本 ├── HPKCHECK # 测试脚本 ├── SHA512SUM # 三方库校验文件 ├── README.OpenSource # 说明三方库源码的下载地址,版本,license等信息 ├── README_zh.md # 三方库说明文档 ├── NFD_24.07_oh_pkg.patch # 三方库适配OpenHarmony的patch文件 -
在lycium目录下编译三方库 编译环境的搭建参考准备三方库构建环境
cd lycium ./build.sh NFD -
三方库头文件及生成的库 在lycium目录下会生成usr目录,该目录下存在已编译完成的32位和64位三方库
NFD/arm64-v8a NFD/armeabi-v7a
使用三方库验证
将编译产物发送到测试样机(编译环境目录最好与测试样机目录一致)
设置环境变量:
cd lycium/usr/NFD/arm64-v8a/bin
export __OHOS__=1
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/tpc_c_cplusplus/lycium/usr/boost/arm64-v8a/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/tpc_c_cplusplus/lycium/usr/sqlite/arm64-v8a/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/tpc_c_cplusplus/lycium/usr/ndn-cxx/arm64-v8a/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/tpc_c_cplusplus/lycium/usr/libpcap/arm64-v8a/lib
export PATH=$PATH:/data/tpc_c_cplusplus/lycium/usr/ndn-cxx/arm64-v8a/bin/
cp ../etc/ndn/nfd.conf.sample ../etc/ndn/nfd.conf
cp ../etc/ndn/autoconfig.conf.sample ../etc/ndn/autoconfig.conf
在测试样机中验证以下脚本能否正常运行:
./nfd-start 启动NFD服务 ./nfd-stop 停止NFD服务,./nfd-status 查看NFD服务状态
测试三方库
三方库的测试使用自己添加的测试用例来做测试,准备三方库测试环境
将tpc_c_cplusplus整个目录拷贝到测试机上,进入tpc_c_cplusplus/thirdparty/NFD目录,执行以下命令:
cd NFD-NFD-24.07/arm64-v8a-build
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/tpc_c_cplusplus/lycium/usr/boost/arm64-v8a/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/tpc_c_cplusplus/lycium/usr/sqlite/arm64-v8a/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/tpc_c_cplusplus/lycium/usr/ndn-cxx/arm64-v8a/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/tpc_c_cplusplus/lycium/usr/libpcap/arm64-v8a/lib
./unit-tests-core
./unit-tests-tools
./cs-benchmark
./pit-fib-benchmark
./unit-tests-daemon -t !Face/TestUnixStreamChannel -t !Mgmt/TestGeneralConfigSection
./unit-tests-daemon -t Mgmt/TestGeneralConfigSection