下面模拟两种改动:
- 在SystemServer.java中系统所有服务启动之前,打印一句日志,模拟系统行为的修改
1、使用下面命令进入SystemServer.java所在的目录
godir SystemServer.java
2、在该目录下打开SystemService.java文件
3、找到main方法
4、输入下面代码并保存
Slog.i("hpp", "this is hpp add log");
5、直接在该目录下执行mm命令
6、通过Install关键字定位编译输出文件的位置
Install: out/target/product/generic/system/framework/services.jar
7、将编译的jar文件push到系统中
adb push $(gettop)/out/target/product/generic/system/framework/services.jar /system/framework/
如果提示Read-only file system错误,需要先执行
adb remount
8、重启系统
stop;start
9、过滤log
adb logcat -s 'hpp'
- 2、在App层调用Log.wtf打印日志,当日志TAG="hpp"的时候,在Framework层修改Log的输出结果,模拟对App API的修改
1、进入AOSP/android6.0/frameworks/base/目录,使用sublime打开该目录
subl .
2、查找Log文件
3、查找wtf方法,加入如下代码,保存文件
if (tag.equals("hpp")) {
msg = "msg is changed";
}
4、编译
mm
5、通过Install关键字定位编译输出文件的位置
6、将编译的jar文件push到系统中
adb push $(gettop)/out/target/product/generic/system/framework/framework.jar /system/framework/
7、重启系统
stop;start
8、过滤log
adb logcat -s 'hpp'
参考视频:
https://www.365yg.com/i6436853139567018498/#mid=1565254704995330
https://www.365yg.com/i6436857505522909698/#mid=1565254704995330