用Android Studio 代码模板快速在JNI中添加Android log支持


在涉及C/C++开发的过程中,我们往往也和常规Android开发一样,习惯于通过log输出来观察和调试程序。当我们需要在native代码( C/C++)中打印log时,要怎么做呢?

IDE特性

在当前比较新的Android Studio版本上(笔者以Android Studio 3.2 为例),当新建工程时,如果勾选上C/C++代码支持,在工程初始化好以后,会默认生成CMakeLists.txt编译脚本文件,已经为我们添加好了Android log库文件的链接支持,不像以前ndk的mk文件,需要手动添加"LOCAL_LDLIBS :=-llog"等语句,这点还是做得很友好了。下面是一个默认生成的CMakeLists.txt文件部分内容:
在这里插入图片描述

需要怎么做?

我们需要做的,就是根据Android NDK 原生 API的建议,和参考NDK log参考文档,自行编写封装宏,方便以后试用。通常我们定义成下面这样:

#ifndef __CUSTOM_ANDROID_LOG_H
#define __CUSTOM_ANDROID_LOG_H

#include <android/log.h>

#define TAG "JniLog" // 这个是自定义的LOG的标识
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, TAG, __VA_ARGS__) // 定义LOGD类型
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, TAG, __VA_ARGS__) // 定义LOGI类型
#define LOGW(...) __android_log_print(ANDROID_LOG_WARN, TAG, __VA_ARGS__) // 定义LOGW类型
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR, TAG, __VA_ARGS__) // 定义LOGE类型
#define LOGF(...) __android_log_print(ANDROID_LOG_FATAL, TAG, __VA_ARGS__) // 定义LOGF类型

#endif //__CUSTOM_ANDROID_LOG_H

如果我们比较频繁的在不同工程中用到这些log定义,一种方式是:直接拷贝一份其他工程中现成的;但如果手边不方便马上找到一份现成的,怎么办呢?下面就是更快捷的方法。

在Android Studio中添加一个代码模板

开打方式:File->Setting->Editor->File and Code Templates
点击“Files” Tab下面的“+”按钮,添加一个代码模板:
在这里插入图片描述
name是会出现将来的New菜单中的名字,自定义即可,如Android Log Header;extension改为h
在这里插入图片描述
然后将下面的内容添加到文本区域:

#[[#ifndef]]# __CUSTOM_ANDROID_LOG_H
#[[#define]]# __CUSTOM_ANDROID_LOG_H

#[[#include]]# <android/log.h>

#[[#define]]# TAG "JniLog" // 这个是自定义的LOG的标识
#[[#define]]# LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, TAG, __VA_ARGS__) // 定义LOGD类型
#[[#define]]# LOGI(...) __android_log_print(ANDROID_LOG_INFO, TAG, __VA_ARGS__) // 定义LOGI类型
#[[#define]]# LOGW(...) __android_log_print(ANDROID_LOG_WARN, TAG, __VA_ARGS__) // 定义LOGW类型
#[[#define]]# LOGE(...) __android_log_print(ANDROID_LOG_ERROR, TAG, __VA_ARGS__) // 定义LOGE类型
#[[#define]]# LOGF(...) __android_log_print(ANDROID_LOG_FATAL, TAG, __VA_ARGS__) // 定义LOGF类型

#[[#endif]]# //__CUSTOM_ANDROID_LOG_H

最后Apply -> OK保存。

使用

现在当我们在一个目录上右键选择New,就会展开显示我们添加的代码模板选项了:
在这里插入图片描述
然后输入一个文件名,就可以快速添加一个包含各种log宏定义的头文件了。
在这里插入图片描述在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值