概述
android输出调试信息之 #include <android/log.h>
android ndk中,想要输出调试信息并且观察,比较好的一个选择是使用logcat捕获信息,类似windows的debugView观察调试信息。为了能在程序里面输出信息到logcat工具,需要使用 **<android/log.h>**文件。
以下是该头文件显示的信息,写的比较明确,这里不做翻译
* Support routines to send messages to the Android log buffer,
* which can later be accessed through the `logcat` utility.
*
* Each log message must have
*
- a priority
*
- a log tag
*
- some text
/**优先级*/
typedef enum android_LogPriority {
/** For internal use only.内部使用
*/
ANDROID_LOG_UNKNOWN = 0,
/** The default priority, for internal use only.内部使用
*/
ANDROID_LOG_DEFAULT, /* only for SetMinPriority() */
/** Verbose logging. Should typically be disabled for a release apk.调试阶段使用 */
ANDROID_LOG_VERBOSE,
/** Debug logging. Should typically be disabled for a release apk. 调试阶段使用*/
ANDROID_LOG_DEBUG,
/** Informational logging. Should typically be disabled for a release apk. 一般用于显示一些运行状态*/
ANDROID_LOG_INFO,
/** Warning logging. For use with recoverable failures.即将出现错误 */
ANDROID_LOG_WARN,
/** Error logging. For use with unrecoverable failures. 产生无法解决的错误*/
ANDROID_LOG_ERROR,
/** Fatal logging. For use when aborting. 程序崩溃*/
ANDROID_LOG_FATAL,
/** For internal use only. 内部使用 */
ANDROID_LOG_SILENT, /* only for SetMinPriority(); must be last */
} android_LogPriority;
该头文件提供的方法:
/**
* Writes the constant string `text` to the log, with priority `prio` and tag
* `tag`.
*/
int __android_log_write(int prio, const char* tag, const char* text);
/**
* Writes a formatted string to the log, with priority `prio` and tag `tag`.
* The details of formatting are the same as for
* [printf(3)](http://man7.org/linux/man-pages/man3/printf.3.html).
*/
int __android_log_print(int prio, const char* tag, const char* fmt, ...)
/**
* Equivalent to `__android_log_print`, but taking a `va_list`.
* (If `__android_log_print` is like `printf`, this is like `vprintf`.)
*/
int __android_log_vprint(int prio, const char* tag, const char* fmt, va_list ap)
/**
* Writes an assertion failure to the log (as `ANDROID_LOG_FATAL`) and to
* stderr, before calling
* [abort(3)](http://man7.org/linux/man-pages/man3/abort.3.html).
*
* If `fmt` is non-null, `cond` is unused. If `fmt` is null, the string
* `Assertion failed: %s` is used with `cond` as the string argument.
* If both `fmt` and `cond` are null, a default string is provided.
*
* Most callers should use
* [assert(3)](http://man7.org/linux/man-pages/man3/assert.3.html) from
* `<assert.h>` instead, or the `__assert` and `__assert2` functions
* provided by bionic if more control is needed. They support automatically
* including the source filename and line number more conveniently than this
* function.
*/
void __android_log_assert(const char* cond, const char* tag, const char* fmt,...)
同时,也可以指定发送log到指定缓冲区,缓冲区有以下
/**
* Identifies a specific log buffer for __android_log_buf_write()
* and __android_log_buf_print().
*/
typedef enum log_id {
LOG_ID_MIN = 0,
/** The main log buffer. This is the only log buffer available to apps. */
LOG_ID_MAIN = 0,
/** The radio log buffer. */
LOG_ID_RADIO = 1,
/** The event log buffer. */
LOG_ID_EVENTS = 2,
/** The system log buffer. */
LOG_ID_SYSTEM = 3,
/** The crash log buffer. */
LOG_ID_CRASH = 4,
/** The statistics log buffer. */
LOG_ID_STATS = 5,
/** The security log buffer. */
LOG_ID_SECURITY = 6,
/** The kernel log buffer. */
LOG_ID_KERNEL = 7,
LOG_ID_MAX
} log_id_t;
以下两个方法,可以输出到指定的缓冲区
/**
* Writes the constant string `text` to the log buffer `id`,
* with priority `prio` and tag `tag`.
*
* Apps should use __android_log_write() instead.
*/
int __android_log_buf_write(int bufID, int prio, const char* tag,
const char* text);
/**
* Writes a formatted string to log buffer `id`,
* with priority `prio` and tag `tag`.
* The details of formatting are the same as for
* [printf(3)](http://man7.org/linux/man-pages/man3/printf.3.html).
*
* Apps should use __android_log_print() instead.
*/
int __android_log_buf_print(int bufID, int prio, const char* tag,
const char* fmt, ...)
最后
以上就是体贴书本为你收集整理的android输出调试信息之 #include <android/log.h>的全部内容,希望文章能够帮你解决android输出调试信息之 #include <android/log.h>所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复