NDK開發之日誌列印

2022-04-07 12:57:00 字數 1205 閱讀 5645

要在ndk中列印日誌,只需要以下三步:

一、在android.mk中新增以下內容:

local_ldlibs := -lm -llog

或者local_ldlibs:=-l$(sysroot)/usr/lib -llog以上兩行**二選一。

注意,這行**要新增在include $(clear_vars)之後,否則沒有效果。比如我有乙個c檔案,乙個cpp檔案,分別是jni1.c和jni3.cpp,那麼你要列印日誌應該這樣新增:

include $(clear_vars)

local_ldlibs := -lm -llog

local_module := jni1

local_src_files := jni1.c

include $(build_shared_library)

include $(clear_vars)

local_ldlibs:=-l$(sysroot)/usr/lib -llog

local_module := jni3

local_src_files := jni3.cpp

include $(build_shared_library)

二、引用標頭檔案

#include

三、定義變數

//定義tag之後,我們可以在logcat通過tag過濾出ndk列印的日誌

#define tag jnitest

// 定義info資訊

#define logi(...) __android_log_print(android_log_info,tag,__va_args__)

// 定義debug資訊

#define logd(...) __android_log_print(android_log_debug, tag, __va_args__)

// 定義error資訊

#define loge(...) __android_log_print(android_log_error,tag,__va_args__)android_log_info是日誌級別,這和logcat中是一一對應的,tag是過濾標籤,__va_args__是我們要列印的實際的日誌內容。

做完上面三步可以列印日誌了:

logi(the string is :%s,str1);注意:列印日誌時如果是字串切不可列印jstring,要將jstring轉換為c 字串然後列印**換方式看前文)。

C 之日誌列印

一 c 日誌輸出到檔案 眾所周知,在c 標準庫中提供了乙個控制台 console 輸出物件 std cout,程式設計師可以呼叫該物件將需要檢視的內容輸出到控制台。除了std cout外,c 標準庫還提供了乙個檔案輸出流,程式設計師可以使用它定乙個流物件,如 std ofstream fout 並關...

NDK開發指南 NDK安裝

android ndk 安裝 安裝 1 安裝需要 android ndk目前可以在linux os x 或者 windows作業系統上使用 windows使用者需要安裝cygwin1.7或以後的版本,注意,現在msys和cygwin1.5現在已經不支援了 你必須搭建了android sdk環境才可以...

iOS開發 常見日誌列印

一 列印當前的函式和行號 我們可以在列印時使用一些預編譯巨集作為列印引數,來列印當前的函式和行號。如 nslog s d obj func line obj 其中 func 和line 都是預編譯的巨集,編譯時會分別替換為當前函式和當前行號。下面是一些常用於列印日誌的巨集。巨集說明 func 列印當...