AOSP之修改framework

framework的定制通常是为了知足App层或者整个系统的某一种需求。

下面模拟两种改动:java

  • 在SystemServer.java中系统全部服务启动以前,打印一句日志,模拟系统行为的修改

一、使用下面命令进入SystemServer.java所在的目录android

godir SystemServer.java复制代码

二、在该目录下打开SystemService.java文件bash

三、找到main方法this

四、输入下面代码并保存spa

Slog.i("hpp", "this is hpp add log");复制代码

五、直接在该目录下执行mm命令
日志

六、经过Install关键字定位编译输出文件的位置code

Install: out/target/product/generic/system/framework/services.jar复制代码

七、将编译的jar文件push到系统中视频

adb push $(gettop)/out/target/product/generic/system/framework/services.jar /system/framework/复制代码

若是提示Read-only file system错误,须要先执行rem

adb remount复制代码

八、重启系统
get

stop;start复制代码

九、过滤log

adb logcat -s 'hpp'复制代码
  • 二、在App层调用Log.wtf打印日志,当日志TAG="hpp"的时候,在Framework层修改Log的输出结果,模拟对App API的修改

一、进入AOSP/android6.0/frameworks/base/目录,使用sublime打开该目录

subl .复制代码

二、查找Log文件

三、查找wtf方法,加入以下代码,保存文件

if (tag.equals("hpp")) {
    msg = "msg is changed";
 }复制代码

四、编译

mm复制代码

五、经过Install关键字定位编译输出文件的位置

六、将编译的jar文件push到系统中

adb push $(gettop)/out/target/product/generic/system/framework/framework.jar /system/framework/复制代码

七、重启系统

stop;start复制代码

八、过滤log

adb logcat -s 'hpp'复制代码

参考视频:

https://www.365yg.com/i6436853139567018498/#mid=1565254704995330

https://www.365yg.com/i6436857505522909698/#mid=1565254704995330

相关文章
相关标签/搜索