修改android framework 添加service

1. 修改点

pizzaframeworksaseservicesjavacomandroidserverhwapuClassMonitorService.java

作用:监控服务

pizzaframeworksaseservicespolicysrccomandroidinternalpolicyimplPhoneWindowManager.java

作用:禁用或启用home键,power键

pizzaframeworksasecorejavaandroidviewWindowManagerPolicy.java

作用:添加自定义接口

pizzaframeworksasehwapu-classjavaandroidhwapuICallBackApp.aidl

pizzaframeworksasehwapu-classjavaandroidhwapuIClassMonitor.aidl

pizzaframeworksasehwapu-classjavaandroidhwapuClassMonitorManager.java

pizzaframeworksasehwapu-classjavaandroidhwapuPacketInfo.java

作用:应用层通过aidl调用服务,编译文件定义在frameworksaseAndroid.mk文件当中

pizzaframeworksaseservicesjavacomandroidserverSystemServer.java

作用:根据配置文件创建监控服务

pizzadevice ockchip k30sdkdevice.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. 编译 pizzaframeworksasepolicyAndroid.mk 得到android.policy.jar

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

具体的.class文件集合:out argetcommonobjJAVA_LIBRAYIESandroid.policy_intermediatesclasses.jar

3. 编译 pizzaframeworksaseservicesjavaAndroid.mk 得到services.jar

在pizzaframeworksaseservicesjava目录下,输入mm 单独编译模块

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

具体的.class文件集合:out argetcommonobjJAVA_LIBRAYIESservices_intermediatesclasses.jar

4.弄到手机里面

adb remount

adb push XXX system/framework

adb push 。。。。。。

adb reboot

禁用或启用home键,power键

1. 修改PhoneWindowManager.java  当中interceptKeyBeforeQueueing方法代码

原文地址:https://www.cnblogs.com/pengxinglove/p/5331785.html