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