在 CPP 代码中,例如在相机 HAL 中,不会打印 ALOGD 消息。就像在 set_preview_window() ALOGD("set_preview_window : X, rc %d", rc); 如何启用它们?
问问题
14382 次
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 回答