在查看android源代码过程中, 只是看代码, 往往没有办法验证对代码的估测是否准确, 这时我们经常通过插入自己的log的方式来测试 某个函数是否调用到, 某个参数在运行过程中的值是多少. 下面jwisp把android各层中加入log语句的方法整理如下.
1. java代码
在android源码中, 只要是java代码基本上都在framework中 , 所有的java代码中, 加入logo的方式也就三步:
(a) 导入log包
import android.util.Log;
(b) 定义log标签
很多java类的第一句代码已经定义了当前类的TAG,比如DeviceStorageMonitorService.java类中的第一句
private static final String TAG = "DeviceStorageMonitorService";
当然我们也可以定义自己的标签, 以便在从上到下中, 只打印我们自己关注的log
private static final String MYTAG = "MytagTest";
(c) 添加log语句, Log的输出有 : v, i, d, w, e 五种级别
比如, 我们需要在电池管理BatteryService.java中打印出每次电量变化后的的log, 怎么实现呢
在BatteryService.java(frameworks/base/services/java/com/android/server)中找到update()方法, 在其中添加如下代码:
if (mBatteryLevel != mLastBatteryLevel){
Log.i(MYTAG, "BatteryService.java -> update : mBatteryLevel = " +mBatteryLevel);
}
在设备或模拟器运行后, 只需要敲入如下命令即可在电量

本文详细介绍了在Android源代码调试中如何插入log语句,包括Java代码、C/C++代码以及MK文件中的log添加方法。通过在代码中加入不同级别的log,可以帮助开发者在运行时监测函数调用、参数值以及编译信息。

被折叠的 条评论
为什么被折叠?



