修改android framework 添加service


1. 修改點

pizza\frameworks\base\services\java\com\android\server\hwapu\ClassMonitorService.java

作用:監控服務

pizza\frameworks\base\services\policy\src\com\android\internal\policy\impl\PhoneWindowManager.java

作用:禁用或啟用home鍵,power鍵

pizza\frameworks\base\core\java\android\view\WindowManagerPolicy.java

作用:添加自定義接口

pizza\frameworks\base\hwapu-class\java\android\hwapu\ICallBackApp.aidl

pizza\frameworks\base\hwapu-class\java\android\hwapu\IClassMonitor.aidl

pizza\frameworks\base\hwapu-class\java\android\hwapu\ClassMonitorManager.java

pizza\frameworks\base\hwapu-class\java\android\hwapu\PacketInfo.java

作用:應用層通過aidl調用服務,編譯文件定義在frameworks\base\Android.mk文件當中

pizza\frameworks\base\services\java\com\android\server\SystemServer.java

作用:根據配置文件創建監控服務

pizza\device\rockchip\rk30sdk\device.mk

作用: 添加編譯控制條件  如:ro.rk.calsssmointor_enable=true

 

 

 

 

http://blog.csdn.net/conowen/article/details/7260982/

mm: 編譯單獨模塊

2. 編譯方法

單獨編譯模塊,模塊可以apk ,so, jar

編譯之后不需要重新打包系統,只要直接替換真機的相應文件就可以,直接查看效果

http://blog.csdn.net/aaa2832/article/details/7693967

http://blog.csdn.net/aaa2832/article/details/7693967

單編譯framework相關模塊

1. 建立編譯環境

在pizza 目錄下

source  build/envent.sh
lunch 9

2. 編譯 pizza\frameworks\base\policy\Android.mk 得到android.policy.jar

Install: out/target/product/rk30sdk/system/framework/android.policy.jar

具體的.class文件集合:out\target\common\obj\JAVA_LIBRAYIES\android.policy_intermediates\classes.jar

3. 編譯 pizza\frameworks\base\services\java\Android.mk 得到services.jar

在pizza\frameworks\base\services\java\目錄下,輸入mm 單獨編譯模塊

得到的結果 Install: out/target/product/rk30sdk/system/framework/services.jar 其是dex格式的文件

具體的.class文件集合:out\target\common\obj\JAVA_LIBRAYIES\services_intermediates\classes.jar

4.弄到手機里面

adb remount

adb push XXX system/framework

adb push 。。。。。。

adb reboot

禁用或啟用home鍵,power鍵

1. 修改PhoneWindowManager.java  當中interceptKeyBeforeQueueing方法代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM