C語言中打印log到android控制臺

一、引入log庫

  • 1.如果是使用android.mk的方式手動生成so庫,在android.mk的配置文件中加入配置:

      LOCAL_LDLIBS += -llog
    
  • 2.如果是使用構(gòu)建腳本的方式生成so庫,需要在build.gradle文件的ndk閉包中配置:

      defaultConfig {
          applicationId "com.huyingzi.xxxx"
          minSdkVersion 15
          targetSdkVersion 22
          versionCode 1
          versionName "1.0"
    
          testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    
          ndk{
              moduleName "helloword"
              abiFilters "armeabi","armeabi-v7a","x86"
    
              ldLibs "log"  //引入log庫
          }
      }
    

3.如果是使用Cmake的方式構(gòu)建so庫,在CMakeLists.txt文件里面已經(jīng)默認(rèn)引入log庫不需要再自行配制

二、C代碼中引入頭文件

#include <android/log.h>
#define LOG_TAG "System.out"
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)

三、打印日志的代碼(跟C語言中printf的使用方式一樣)

    //打印logcat
    LOGD("name=%s age=%f\n",name,age);

四、給jni日志添加開關(guān)

#include <android/log.h>
#define DEBUG 0 //日志開關(guān),1為開,其它為關(guān)
#if(DEBUG==1)
#define LOG_TAG "JNI"
#define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE,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 LOGE(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__)
#else
#define LOGV(...) NULL
#define LOGD(...) NULL
#define LOGI(...) NULL
#define LOGE(...) NULL
#endif
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,284評論 25 708
  • Android游戲開發(fā)實(shí)踐(1)之NDK與JNI開發(fā)02 承接上篇Android游戲開發(fā)實(shí)踐(1)之NDK與JNI...
    AlphaGL閱讀 3,780評論 0 24
  • 一、NDK產(chǎn)生的背景 Android平臺從誕生起,就已經(jīng)支持C、C++開發(fā)。眾所周知,Android的SDK基于J...
    Ten_Minutes閱讀 3,542評論 1 27
  • 從前舊事休再提 往事從此盡 各走天涯 以往回憶隨風(fēng)吹 心中各掛念 不再泛起 癡情此一朝 花開不再戀 夢里往癡他朝笑...
    甘古閱讀 115評論 1 1
  • 一,圖片排成一排,向左一直切換,或向右一直切換,左右滾動無限循環(huán)原理 二,左右滾動無限循環(huán) 代碼預(yù)覽 三,淡入淡出...
    從前慢pearl閱讀 553評論 0 0