AOSP之修改framework

2,840 阅读1分钟
framework的定制一般是为了满足App层或者整个系统的某一种需求。

下面模拟两种改动:

  • 在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