完成从环境搭建到交叉编译后,进入验证环节至关重要。业界 C/C++ 三方库的测试框架各异(如 ctest、make check 或原生 demo),为确保原生库功能完整性,需基于原生库的测试用例进行验证。这要求我们在设备端集成 make、cmake、busybox、perl 及 shell_cmd 等工具。
准备二进制工具包
首先将 Lycium CI tools 工程克隆到本地开发机:
cd /data/mkdir tools
cd tools
git clone https://gitee.com/han_jin_fei/lycium-citools.git
根据目标设备架构选择对应的静态编译工具包解压使用:
- AARCH64 (arm64-v8a):包含
cmake_make、busybox、perl及shell_cmd工具,支持运行make test和ctest。 - ARM (armeabi-v7a):对应 32 位 OHOS 设备,提供同名的
armeabi-v7a-*工具包。
此外,目录内包含 setCIenv.sh 脚本用于自动配置 CI 环境,以及 SHA512SUM 文件用于校验完整性。
上传与配置环境
将压缩后的工具包推送到鸿蒙设备。确保 hdc 命令已配置在环境变量中,若未配置可参考 DevEco Studio 中的 toolchains 路径设置。
# 打包
tar -zcvf lycium-citools.tar.gz lycium-citools
# 上传至设备/data 目录
hdc file send lycium-citools.tar.gz /data
# 登录设备并解压
hdc shell
cd /data
tar -zxvf lycium-citools.tar.gz
解压后进入目录执行环境配置脚本:
cd lycium-citools
sh setCIenv.sh
注意:若脚本报错提示 make 或 cmake 不可用,说明软链接未加入环境变量,需手动执行:
export PATH=/usr/CIusr/bin:$PATH
编写测试脚本
lycium 框架提供了 HPKCHECK 模板供开发者配置自动化测试。只需在脚本中指定当前三方库需要执行的测试命令即可。
通用模板结构
source HPKBUILD > /dev/null 2>&1
logfile=${LYCIUM_THIRDPARTY_ROOT}/${pkgname}/${pkgname}___test.
() {
res=0
/-build
ctest > 2>&1
res=$?
}


