android studio 中jni開發時日誌的打印與輸出

相關的參考鏈接:http://www.cnblogs.com/kebibuluan/p/7065213.html


1.1 我是直接在Android.mk中配置的,沒有在build.gradle中配置ndk相關的信息,這個是我的Android.mk信息


LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

OpenCV_INSTALL_MODULES:=on
OPENCV_CAMERA_MODULES:=off
OPENCV_LIB_TYPE:=STATIC
ifeq ("$(wildcard $(OPENCV_MK_PATH))","")

include D:\AndroidFile\androidTest\OpenCV-android-sdk\sdk\native\jni\OpenCV.mk
else
include $(OPENCV_MK_PATH)
endif

LOCAL_MODULE := ImgFun
LOCAL_SRC_FILES := autodect.cpp
LOCAL_LDLIBS += -lm -llog
include $(BUILD_SHARED_LIBRARY)



上面就是Android.mk文件的信息了,上面是靜態編譯,也可以改成#OPENCV_LIB_TYPE:=SHARED 這種編譯
方式。現在直接說日誌打印的事情添加如下內容:
// 引入log頭文件

1.2 在.c或.cpp文件中引用log頭文件 添加如下內容: // 引入log頭文件 #include  <android/log.h> // log標籤 #define  TAG    "這裏填寫日誌的TAG" // 定義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:是日誌級別; TAG:是要過濾的標籤,可以在LogCat視圖中過濾。 __VA_ARGS__:是實際的日誌內容。 完成上面2步之後,我們就可以在.c/cpp文件中添加LOGI、LOGD、LOGE去打印信息!使用LOGI、LOGD、LOGE的方法和使用printf一樣

1.3日誌類型 1)Log.v 的調試顏色爲黑色的,任何消息都會輸出,這裏的v代表verbose囉嗦的意思,平時使用就是Log.v(,); 2)Log.d的輸出顏色是藍色的,僅輸出debug調試的意思,但他會輸出上層的信息,過濾起來可以通過DDMS的Logcat標籤來選擇 3)Log.i的輸出爲綠色,一般提示性的消息information,它不會輸出Log.v和Log.d的信息,但會顯示i、w和e的信息 4)Log.w的意思爲橙色,可以看作爲warning警告,一般需要我們注意優化Android代碼,同時選擇它後還會輸出Log.e的信息。 5)Log.e爲紅色,可以想到error錯誤,這裏僅顯示紅色的錯誤信息,這些錯誤就需要我們認真的分析,查看棧的信息了。

發佈了23 篇原創文章 · 獲贊 5 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章