Android C/C++ native编程NDK开发中logcat的使用

Android C/C++ native编程NDK开发中logcat的使用

前言

在NDK开发过程中,C/C++层,需要对代码进行一些调试,日志打印是我们解决异常或崩溃的重要手段,这里我就简单介绍下日志打印三步走。

首先我们先看下官方文档关于日志的相关说明。

我们最常用就是下面这个日志函数。

具体用法

1)Android.mk日志配置

复制代码
#打印日志库
LOCAL_LDLIBS := -llog

2)头文件的配置

复制代码
#include <android/log.h>

#define  LOG_TAG    "android_log"

#define  LOGV(...)  __android_log_print(ANDROID_LOG_VERBOSE, LOG_TAG, __VA_ARGS__)
#define  LOGD(...)  __android_log_print(ANDROID_LOG_DEBUG,  LOG_TAG, __VA_ARGS__ )
#define  LOGI(...)  __android_log_print(ANDROID_LOG_INFO,  LOG_TAG, __VA_ARGS__ )
#define  LOGW(...)  __android_log_print(ANDROID_LOG_WARN,  LOG_TAG, __VA_ARGS__ )
#define  LOGE(...)  __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__)

3)输出日志

复制代码
 LOGD("current android log %d\n",v);
 LOGI("current android log %d\n",v);
相关推荐
雨中飘荡的记忆9 小时前
ElasticJob分布式调度从入门到实战
java·后端
冬奇Lab11 小时前
Android触摸事件分发、手势识别与输入优化实战
android·源码阅读
城东米粉儿14 小时前
Android MediaPlayer 笔记
android
Jony_15 小时前
Android 启动优化方案
android
阿巴斯甜15 小时前
Android studio 报错:Cause: error=86, Bad CPU type in executable
android
张小潇15 小时前
AOSP15 Input专题InputReader源码分析
android
考虑考虑18 小时前
JDK25模块导入声明
java·后端·java ee
_小马快跑_19 小时前
Java 的 8 大基本数据类型:为何是不可或缺的设计?
java
_小马快跑_19 小时前
Kotlin | 协程调度器选择:何时用CoroutineScope配置,何时用launch指定?
android
_小马快跑_19 小时前
Kotlin | 从SparseArray、ArrayMap的set操作符看类型检查的不同
android