有更短的宏可用以登錄到logcat。這個例子工程奇巧(4.4.2)
#define LOG_TAG "my_log_tag"
#include <cutils/log.h>
ALOGD("Format this %d, some_int);
在Android.mk中,liblog圖書館建設 'mydroid'(全Android系統版本)時增加LOCAL_SHARED_LIBRARIES。如果使用ndk編譯LOCAL_LDLIBS:= -L $(SYSROOT)/ usr/lib -llog可以使用。
include $(CLEAR_VARS)
LOCAL_MODULE := foo
LOCAL_SRC_FILES := foo.c
# if mydroid
LOCAL_SHARED_LIBRARIES := liblog
# in ndk, use LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog instead
include $(BUILD_EXECUTABLE)
還有其他各種爲所有級別的日誌定義的宏。從cutils/log.h
:
#define ALOGV(...) ((void)ALOG(LOG_VERBOSE, LOG_TAG, __VA_ARGS__))
#define ALOGD(...) ((void)ALOG(LOG_DEBUG, LOG_TAG, __VA_ARGS__))
...
#define ALOGE(...) ((void)ALOG(LOG_ERROR, LOG_TAG, __VA_ARGS__))
@StarDust添加了一個編輯 - 您必須明確鏈接到日誌記錄庫。 – richq 2011-04-13 11:36:59
我只是添加#define選項來覆蓋'printf' __android_log_print' – Zaffy 2012-09-26 14:10:22
謝謝!你從字面上挽救了我的一天。 :) – conciliator 2013-11-20 12:14:32