OpenHarmony开发者论坛

标题: **OpenHarmony怎么在native里添加日志** [打印本页]

作者: 云端筑梦    时间: 2024-9-2 17:53
标题: **OpenHarmony怎么在native里添加日志**
[md]# 一、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](https://forums-obs.openharmony.c ... 0es1p66ifpvwttv.png "屏幕截图 2024-08-31 143147.png")

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

![屏幕截图2024-08-31143526.png](https://forums-obs.openharmony.c ... 71eubh2iwevwt9e.png "屏幕截图 2024-08-31 143526.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](https://forums-obs.openharmony.c ... fks2067j6kgovcc.png "屏幕截图 2024-08-31 143645.png")

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

![屏幕截图2024-08-31144434.png](https://forums-obs.openharmony.c ... 2dvvrvyc0cvrhv8.png "屏幕截图 2024-08-31 144434.png")

![屏幕截图2024-08-31144457.png](https://forums-obs.openharmony.c ... h3flbf1rgirbih1.png "屏幕截图 2024-08-31 144457.png")

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

在DevEco Studio里创建一个新的native C++工程,CMakeLists.txt里添加target\_link\_libraries(entry PUBLIC libhilog\_ndk.z.so)

![屏幕截图2024-08-31145432.png](https://forums-obs.openharmony.c ... l5ztqzlh1zol8ex.png "屏幕截图 2024-08-31 145432.png")

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

![屏幕截图2024-08-31151504.png](https://forums-obs.openharmony.c ... ngoo5x2oees16oo.png "屏幕截图 2024-08-31 151504.png")

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

![屏幕截图2024-08-31151651.png](https://forums-obs.openharmony.c ... um7vn9vtvvcmr80.png "屏幕截图 2024-08-31 151651.png")

## 总结

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

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

![](https://i-blog.csdnimg.cn/direct ... b89e4f04fb1cdff.png)

![](https://i-blog.csdnimg.cn/direct ... b89e4f04fb1cdff.png)
[/md]




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5