Android系统10 RK3399 init进程启动(十六) Android Log日志编写

本文详细解析Android系统中的日志API,包括不同缓冲区(main、system、radio等)的使用方法,以及Java和C++/C的接口实现,从框架到底层剖析,适合开发者进阶学习。

配套系列教学视频链接:

      安卓系列教程之ROM系统开发-百问100ask

说明

系统:Android10.0

设备: FireFly RK3399 (ROC-RK3399-PC-PLUS)

前言

Android系统中日志基本都是通过log系统来实现, 在代码中可以通过相应的接口来输出不同等级的日志, 不同的缓冲区有不同的API, 等级有Verbose, Debug,Info,Warn,Error。本章节主要讲解log日志的API。


一, 日志系统框架

之前的的课程中讲解了整体框架, 此处贴图让大家提升印象:

系统也提供的Java和C++/C语言不同的API:

  1. 在java层调用import android.util.Log,在需要打印Log的地方执行Log.v,Log.d,Log.i,Log.w,Log.e.
  2. c、c++层调用:在c,c++层包含此头文件:

老版本包含 #include <cutils/log.h>,代码调用LOGV,LOGD,LOGI,LOGW,LOGE

新版本包含 #include <log/log.h>, 代码调用ALOGV,ALOGD,ALOGI,ALOGW,ALOGE。

二, Android 不同缓冲区的API

Android系统中包含不同缓冲区, 特定缓冲区用的API不同:

main:查看主日志缓冲区(默认),不包含系统和崩溃日志消息。

system:查看系统日志缓冲区(默认)。

radio:查看包含无线装置/电话相关消息的缓冲区。

events:查看已经过解译的二进制系统事件缓冲区消息。

crash:查看崩溃日志缓冲区(默认)。

all:查看所有缓冲区。

default:报告 main、system 和 crash 缓冲区。

Main缓冲区API(JAVA/C/C++):

C/C++:

        ALOGV(), ALOGD(),ALOGI(),ALOGW(),ALOGE()

Log.java

        Log.v(),Log.d(),Log.i(),Log.w(),Log.e(),

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旗浩QH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值