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方法代碼