1

我正在开发一个使用 NDK 的应用程序,我想从在 c 库中声明和实现的函数中获取日志输出,就像我们在 java android 应用程序代码中所做的那样。请帮忙。

4

1 回答 1

4

如果我理解正确,这些是从本机端获取日志输出所需的步骤:

首先,包括必要的日志头:

#include <android/log.h>

然后,为了方便使用,定义如下日志函数:

#define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "some-tag", __VA_ARGS__))
#define LOGW(...) ((void)__android_log_print(ANDROID_LOG_WARN, "some-tag", __VA_ARGS__))
#define LOGE(...) ((void)__android_log_print(ANDROID_LOG_ERROR, "some-tag", __VA_ARGS__))

最后,每当您想记录时,调用您定义的函数,就像在常规 C 中使用 printf 一样。

LOGI("someIntValue: %d", someIntValue);
LOGW("someCharValue: %c", someCharValue);
LOGE("someStringValue: %s", someStringValue);

请注意,LOGI 用于常规日志消息,LOGW 用于警告,LOGE 用于错误消息。您还可以查看位于 NDK 目录中的 native-activity 示例,我从中学习了如何登录 NDK。

于 2013-11-10T09:57:05.963 回答