close

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

01.png

 

3. 打開目標檔案, 在最上面加入 #include <android/log.h>

02.png

 

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,

03.png

 

5. 接著介紹一種比較smart的寫法

(a) 在最上先define TAG "TAG名稱"

(b) 再將各類型的Log先define如下, 以其中一種為例

#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, TAG, __VA_ARGS__)

04.png

 

6. 這樣再呼叫的時候就可以直接使用LOGD("顯示內容"),

一整個就變的方便許多, 看起來也很清爽

05.png

 

7. 最後執行程式, 可以在DDMS下看到顯示的Log

06.png  

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 RX1226 的頭像
    RX1226

    給你魚竿

    RX1226 發表在 痞客邦 留言(1) 人氣()