在Android的C和C++层打印log

背景

  • Platform: RK3399
  • OS: Android7.1.2
  • Kernel: v4.4.103

在Android的C/C++层打印log

不使用TAG

  1. 添加头文件#include <utils/Log.h>D
  2. 在需要的地方使用ALOGEALOGIALOGD,例如ALOGE("log");

    使用TAG

    方法如下:
    在需打印的C/C++文件中添加
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #define LOG_TAG "JNI_DEBUG"
    #include <android/log.h>
    #define ALOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,## __VA_ARGS__)
    #define ALOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG, ## __VA_ARGS__)
    #define ALOGD(...) __android_log_print(ANDROID_LOG_DEBUG,LOG_TAG, ## __VA_ARGS__)

    fun()
    {
    ALOGE("debug log");
    }

然后adb logcat -s JNI_DEBUG 即可过滤log

可在 framework 层、 JNI 层等地方使用。

参考

  1. https://blog.csdn.net/kris_fei/article/details/83418883
Donate comment here