openharmony—4.1 softbus_tool 工具编译使用测试笔记(持续更新)
相关资料:
1.communication_dsoftbus: 暂无描述 - Gitee.com
2.dsoftbus_tool: OpenHarmony 分布式软总线样例
3.OpenAtom OpenHarmony
4.OpenAtom OpenHarmony
编译该demo之前需要大家搭建拉取openharmony源码,搭建开发环境,同时全量编译成功,具体可以看这两篇文章
创作中心-CSDN
创作中心-CSDN
我们将仓库,拉取下来
dsoftbus_tool: OpenHarmony 分布式软总线样例
目录如下
softbus_tool目录如下
1.复制文件夹
我们将softbus_tool文件夹放入 openharmony源码目录/foundation/communication/dsoftbus/tests/
2.编辑GN
打开OpenHarmony/foundation/communication/dsoftbus/core/BUILD.gn
增加
"../tests/softbus_test:softbus_test"
3.编译
进入openharmony目录,使用如下命令编译
sudo ./build.sh --product-name rk3568 --ccache --build-target dsoftbus
3.1 解决编译报错
报错
原因为在hilog在4.1中的需要增加依赖才可以使用
重新编译
3.2 编译成功
编译结果在
3.3 清理之前编译结果
sudo rm -rf ./out/rk3568
3.4 编译64位版本
sudo ./build.sh --product-name rk3568 --target-cpu arm64 --ccache --build-target dsoftbus
编译失败,因为当前系统不支持64位
3.5 加快编译的命令
第一次编译完成之后,我们可以直接使用之前的GN,不需要每次都重新构建,所以可以直接使用如下命令
sudo ./build.sh --product-name rk3568 --ccache --build-target dsoftbus --fast-rebuild
4.将编译后的结果放置到开发板上
这里我们需要先将文件挪到window上,然后使用hdc工具将文件发送到开发板上
相关资料:
OpenHarmony 开源鸿蒙北向开发——hdc工具安装_鸿蒙hdc下载-CSDN博客
OpenHarmony 开源鸿蒙北向开发——hdc工具使用及常用命令(持续更新)-CSDN博客
我这里是在鸿蒙系统下./data/创建了test目录,然后使用hdc工具传输到该目录,同时我直接在softbus_tool目录下打开的cmd,所以直接使用如下命令将文件传送至开发板
hdc file send softbus_tool ./data/test
然后我们使用hdc工具进入openharmony的shell,
hdc shell
之后进入鸿蒙后台可以看见该文件,
然后我们需要修改权限,使用如下命令
chmod 777 ./data/test/softbus_tool
5.运行
我这里直接在hdc工具的shell下运行该文件,运行成功
5.1 运行报错
但是依照softbus_tool仓库的README运行时,产生报错
而我使用使用串口后台运行是这样提示的
5.2 查看日志
我们这边先运行工具,但是不输入命令
然后打开另一个hdc shell
使用如下命令,查看所有进程
ps -ef | grep "softbus"
找到softbus tol的进程PID,即2269
使用hilog查看该pid日志
hilog -P 2235
同时在原先的shell下输入命令操作softbus_tool工具,日志如下
仍旧报错
而在hilog这边
查了下资料发现softbus tool仓库的README是基于openharmony3.1编写的,与openharmony4.1不同。
相关资料: communication_dsoftbus: 暂无描述 - Gitee.com
我们应该使用如下几个命令
******Softbus Tool Command List****** *
04 - JoinLNN * *
05 - LeaveLNN * *
08 - PublishLNN * *
09 - StopPublishLNN * *
10 - RefreshLNN * *
11 - StopRefreshLNN * *
20 - SendMessage * *
21 - SendBytes * *
22 - SendStream * *
23 - SendFile * *
************************************
5.3 运行报错
尝试发现,无法进入回调函数,将源码中的信号量部分注释掉,发现可以了
重新编译,发现运行可以了,这里我复制了一份softbus tool作为softbus test,编译后在开发板上运行
发现可以了