一、前言
最近在弄系统定制功能的时候(比如打印File构造函数的参数),需要修改libcore中的核心代码并打印日志输出。虽然Android提供了android.utils.Log日志工具类,但是不能在android java层的核心库libcore中调用。虽然可以使用System.out输出,但是不能满足需求。所以参考android.utils.Log的实现方式移植导libcore核心库中供整个安卓系统java层调用。
二、移植Log的方式讨论
将android.utils.Log移植到libcore中可以两种方式:
(1)、在现有的类中添加方法,并在native追加对应的方法,这种方式相对简单
比如java.lang.System中添加相应的方法,在对应System.c中添加对应的jni方法。
(2)、在libcore中添加新的接口类,并实现native的方法,这种方式相对复杂一点
本着学习研究的心态,以下选方案2来操作。
三、移植过程
1.添加java.lang.XLog日志类
(1).创建java.lang.XLog类
在libcore路径位置: