OpenHarmony浏览器内核arkwebUT测试编译记录_arkweb编译
一、准备工作
硬件资源:rk3568
获取浏览器内核源码:
项目首页 - chromium_src:chromium src主仓 - GitCode
repo:
windows和linux环境下安装repo-CSDN博客
hdc测试工具:
下载地址:每日构建 | OpenHarmony CI 下载ohos-sdk-public全量包,解压选择linux版本,将hdc和libusb_shared.so文件放到/usr/bin目录下,加上执行权限 (chmod 755 hdc)
测试指令参考OpenHarmony HDC工具详解 | 华为开发者联盟
二、编译执行
根据readme执行以下步骤:
1.repo拉取源码
(下载代码:以132_trunk分支为例,要下载其他分支代码请替换-b 后带的manifest分支参数,其余详见项目)。
repo init -u https://gitcode.com/openharmony-tpc/manifest -b 132_trunk -m developer.xml --no-repo-verifyrepo sync -crepo forall -c \'git lfs pull\'
2.编译并替换so库
./build_arkweb.sh -t w -A rk3568
(可能因为系统更新的缘故,博主rk3568上的鸿蒙系统无nweb目录,所以改为替换arkwebcore目录中的so库)执行hdc命令如下
hdc shell \"mount -o remount,rw /\"hdc file send libarkweb_render.so /data/app/el1/bundle/public/com.ohos.arkwebcore/libs/armhdc file send libarkweb_engine.so /data/app/el1/bundle/public/com.ohos.arkwebcore/libs/armpausehdc shell rebootpause
3.编译二进制文件
ninja -C ./src/out/rk3568 base_unittests
4.发送至设备并进行测试
发送 :
hdc 本地文件名 send 接收目录
执行:
hdc shell (进入指令交互)
cd (定位到接收目录)
chmod +x 文件名 (为二进制文件增加可执行权限)
/文件名 (执行二进制文件)
hdc base_unittests send /data/app/el1/bundle/public hdc shellcd /data/app/el1/bundle/publicchmod +x base_unittests/base_unittests
三、示例测试结果
所有测试用例跑完之后会进行结果统计:
四、编译遇到的问题
1.找不到头文件
问题描述:
src/arkweb/ohos_adapter_ndk/date_time_format_adapter/date_time_format_adapter_impl.h缺少对src/third_party/ohos_ndk/includes/ohos_adapter/date_time_format_adapter.h的引用。引用路径缺失
解决办法:
补全路径,回溯4层目录,重新定位
解决流程:
按ctrl定位到问题目录,全局查找该头文件fine -name \"文件名\"
补全该头文件的路径
2. unknown type name int64
问题描述:int64_t 误写为 int64,且类内初次定义,不需重载
解决方法:
3.TEST_F误测试不存在的成员函数
问题描述:TEST_F误测试不存在的成员函数
解决方法:
注释无意义的PrivacyStatus测试用例
4. undefined symbol: OH NativevSync Create
问题描述:库文件没有被正确链接到项目中
解决方法:build.gn增加链接
进入build.gn的目录增加adapter_ndk的libs的资源(注意一定要是报错文件同层级目录下的build.gn)