7

在 CPP 代码中,例如在相机 HAL 中,不会打印 ALOGD 消息。就像在 set_preview_window() ALOGD("set_preview_window : X, rc %d", rc); 如何启用它们?

4

4 回答 4

3

尝试在要捕获日志的文件中添加以下语句。

#define LOG_NDEBUG 0
#define LOG_NIDEBUG 0
#define LOG_NDDEBUG 0

编译后可以尝试通过 adb logcat 获取日志。

于 2015-04-27T08:23:30.123 回答
3

这些宏 (ALOGX...) 在某些系统核心 C/C++ 头文件中定义。您可以在system/core/include/log/log.h (AOSP 6.0.0r1)中找到一个示例

有时需要在对应的 Android.mk 的 LOCAL_SHARED_LIBRARIES 中添加liblog :

LOCAL_SHARED_LIBRARIES := ... liblog

此外,您可能需要在C/C++ 相关源文件的顶部添加两行:

 #define LOG_NDEBUG 0
 #define LOG_TAG "LibName"

如果您想要 ALOGV() 日志,请不要忘记LOG_NDEBUG 0 。重建 lib/module 后,您应该能够在 logcat 中看到日志。

于 2017-04-13T15:32:43.893 回答
2

请参阅 的定义ALOGD以获取提示。

就我而言,我必须这样做

setprop persist.testapp.debug.log 5

5是调试级别。

于 2014-06-30T08:06:52.617 回答
1

要将日志从 CPP 获取到 Android,您可以使用以下命令

   __android_log_print(ANDROID_LOG_ERROR, "TRACKERS", "%s", Str);

要使用它,您需要导入以下库

#include <android/log.h>

如果你想获得简单的日志,你可以使用以下

LOG("Add description here");
于 2013-11-13T11:10:14.717 回答