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