我正在尝试在核心Android框架文件中打印日志消息。例如,我尝试在MediaRecorderClient.cpp
下的frameworks\base\media\libmediaplayerservice\
内记录消息。我已尝试LOGV
,LOGE
,LOGD
,printf
和__android_log_print
,但没有成功。
我应该使用哪个命令来打印日志消息?
答案 0 :(得分:6)
应该使用日志,但它将打印到logcat而不是系统打印。
示例:
Log.d("filter", example text); // filter is any tag you want to use as filter
你可以在窗口显示视图中打开eclipse中的logcat - >其他 - > android - > logcat的
答案 1 :(得分:3)
你收到什么样的错误?如果它没有编译,请确保你已经包含< android / log.h>,也在Android.mk中:
LOCAL_LDLIBS := -llog
如果它编译但没有产生任何输出,那么,就像@Warpzit所说的那样,你必须查看logcat来查看你的消息。
答案 2 :(得分:1)
您似乎也只能将char *传递给JNI LOG方法。因此,如果调试字符串中有数字,则必须将它们放入char缓冲区(使用sprintf)。
答案 3 :(得分:0)
/system/core/include/cutils/log.h
定义用于登录Android Framework的宏。
因此,您取消注释源文件顶部显示#define LOG_NDEBUG 0
的行,它将启用VERBOSE日志记录。您需要重新编译整个库并将其放入android system.img build。
我相信宏调用是ALOGV,ALOGE等等。
它与其他答案类似:
答案 4 :(得分:0)
首先声明字符串
Private String Tag = getClass().getsimplename();
而不是你的方法
Log.d(Tag,"This is my oncreate method");