修改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