1. 在NDK下要Debug的難度相對較高, 所以可以藉由印Log的方式來Debug
要在NDK下使用主要有三步驟
(a) Android.mk下加入 LOCAL_LDLIBS += -L$(SYSROOT)/usr/lib -llog
(b) 在目標檔案加入 #include <android/log.h>
(c) 在要秀Log的地方使用 __android_log_print(Log類型, "TAG", "訊息");
以下舉實際步驟為例:
2. 開啟你的Eclipse, 弄好NDK環境, 可以參考之前的
[Android] 4-1 在Eclipse安裝NDK並使用JNI呼叫C++
然後開啟Android.mk, 在裡面加入 LOCAL_LDLIBS += -L$(SYSROOT)/usr/lib -llog
3. 打開目標檔案, 在最上面加入 #include <android/log.h>
4. 在要秀Log的地方使用 __android_log_print(Log類型, "TAG", "訊息");
第一個參數決定Log的類型, 第二個是顯示的TAG, 第三個是你要秀的訊息
LOG的類型有很多, 基本上會用到對應Android的Log相對類型
ANDROID_LOG_VERBOSE,
ANDROID_LOG_DEBUG,
ANDROID_LOG_INFO,
ANDROID_LOG_WARN,
ANDROID_LOG_ERROR,
ANDROID_LOG_FATAL,
5. 接著介紹一種比較smart的寫法
(a) 在最上先define TAG "TAG名稱"
(b) 再將各類型的Log先define如下, 以其中一種為例
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, TAG, __VA_ARGS__)
6. 這樣再呼叫的時候就可以直接使用LOGD("顯示內容"),
一整個就變的方便許多, 看起來也很清爽
7. 最後執行程式, 可以在DDMS下看到顯示的Log
留言列表