Android NDK學習之:Eclipse配置NDK環境及列印日誌
上一篇部落格Android NDK開發學習:我的第一個NDK專案雖然是用Eclipse開發,但是在編譯專案和執行專案時,都用到了CMD視窗命令,包括javah及ndk-build等命令。如果Eclipse工具可以直接進行編譯NDK專案,不用來回切換Eclipse及CMD視窗多好呀。這個願望肯定是可以實現的。接下來開始Eclispe之NDK配置。
第一步:首先配置Eclispe中NDK環境,Eclipse-->Window-->Preferences--->Android--->NDK,如圖配置:
第二步:對要進行編譯的Android專案進行配置。工程滑鼠右鍵--->Properties-->Resource--->Builers,進行下圖配置。
1,NEW一個Builder
2,對新建的Builder進行配置:
還需要進行一個配置,如圖:
現在就在Eclipse及Android專案都配置好了,把我們專案中之前生成的libs下的.so檔案及obj檔案刪除,直接用Eclipse執行專案,發現沒有問題的。這樣就比之前來回與cmd與Eclipse中切換輕鬆多了。
---------------NDK開發之Eclipse列印LOG日誌--------------------------------------------------------------
我們開發專案的時候,通過列印LOG日誌來除錯程式是常用手段之一,那NDK開發的日誌怎麼列印呢?主要有以下幾步:
1. 引入標頭檔案 #include <Android/log.h>
#include <android/log.h>
2. 在android.mk中新增LOCAL_LDLIBS += -L$(SYSROOT)/usr/lib -llog(千萬不要寫錯,注意空格,否則什麼都不顯示)
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := first LOCAL_SRC_FILES := first.c # for logging LOCAL_LDLIBS += -llog include $(BUILD_SHARED_LIBRARY)
3.__android_log_print(ANDROID_LOG_INFO, "TAG","%s", “HELLO”); 其中TAG是標誌最後就是內容了。
#define TAG "ldm"
#define LOGV(...) ((void)__android_log_print(ANDROID_LOG_VERBOSE, TAG, __VA_ARGS__))//列印日誌方法,Warn級別LOG
4,呼叫列印日誌方法。
JNIEXPORT jstring JNICALL Java_com_ldm_firstndk_MainActivity_getStringFromC(
JNIEnv *env, jobject obj) {
LOGV("my ndk log"); //呼叫列印日誌方法
return (*env)->NewStringUTF(env, "My First JNI PROJECT!");
}
在NDK開發包中的samples中很多示例專案都有列印日誌的demo,我們可以多學習下。推薦部落格:http://blog.csdn.net/luoshengyang/article/details/6581828,寫得很實用。