• Lv0
    粉丝1

积分316 / 贡献0

提问41答案被采纳12文章1

[经验分享] **OpenHarmony怎么在native里添加日志**

云端筑梦 显示全部楼层 发表于 2024-9-2 17:53:51

一、native在OpenHarmony的使用?

这个网上有很多的文章,我这里就不重复赘述了。 我推荐大家可以去看离北况归老师的文章,通俗易懂,写的特别好。 https://ost.51cto.com/posts/17750 https://ost.51cto.com/posts/18336

二、添加日志

1.在源码里添加日志

https://laval.csdn.net/66b18c2313d7d52ab426ecf0.html 参考这篇文章构建子系统、部件和模块,以这个例子为例怎么添加打印日志。

首先在bundle.json5文件中在components里添加hilog部件

屏幕截图2024-08-31143147.png

第二步在BUILD.gn文件中添加头文件并在外部依赖external_deps中添加"hilog:libhilog"

屏幕截图2024-08-31143526.png

最后在.cpp文件或者.c文件里添加#include"hdf_log.h"头文件就大功告成了。 打印的时候可以使用HDF_LOGI等接口打印,具体使用方法可以去看drivers\hdf_core\interfaces\inner_api\utils\hdf_log.h文件(如果有变量要打印记得要添加public,举例:%{public}d,或者执行hilog -p off命令)

屏幕截图2024-08-31143645.png

温馨提示:验证本实验的时候可以用./build.sh --product-name rk3568 --ccache --build-target=mytest --target-cpu arm64命令去编译,速度会快很多,编译完直接去out/rk3568/sample/hello目录下把可执行文件mytest推到开发板上测试就行了

屏幕截图2024-08-31144434.png

屏幕截图2024-08-31144457.png

2.怎么在DevEco Studio里添加打印日志

在DevEco Studio里创建一个新的native C++工程,CMakeLists.txt里添加target_link_libraries(entry PUBLIC libhilog_ndk.z.so)

屏幕截图2024-08-31145432.png

在cpp目录下创建一个common目录,继续创建log.h的头文件

屏幕截图2024-08-31151504.png

最后在hello.cpp文件里就可以打印日志了,如下图所示

屏幕截图2024-08-31151651.png

总结

在native C++里打印日志还是比较简单的,但是对于和我一样入门不久的同学可能还是容易踩坑,希望这篇文章能够帮助到大家。

注:因为本人的水平有限,有些地方可能讲解的不是很好,欢迎大家纠正。

©著作权归作者所有,转载或内容合作请联系作者

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部