有更短的宏可用以登录到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