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

相關文章
相關標籤/搜索