如何在Android框架中打印日志消息

时间:2011-11-29 08:08:49

标签: android java-native-interface logging native-code mediarecorder

我正在尝试在核心Android框架文件中打印日志消息。例如,我尝试在MediaRecorderClient.cpp下的frameworks\base\media\libmediaplayerservice\内记录消息。我已尝试LOGVLOGELOGDprintf__android_log_print,但没有成功。

我应该使用哪个命令来打印日志消息?

5 个答案:

答案 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等等。

它与其他答案类似:

How to get Verbose logging in logcat for a specific module

答案 4 :(得分:0)

首先声明字符串

Private String Tag = getClass().getsimplename();

而不是你的方法

 Log.d(Tag,"This is my oncreate method");