接上面的文章,这篇是为抽象层添加服务,同样是罗老师的代码。
先定义硬件访问服务接口,如图所示。
添加配置项。
初始化环境。
source build/envsetup.sh
export PATH=/home/haidragon/Desktop/java-7-openjdk-amd64/bin/:$PATH
lunch
然后编译服务接口。
mmm ./frameworks/base/
查看framework.jar
实现硬件访问服务,这里路径不太一样但是我们大概看下就知道话哪里好。同时罗老师也给了提示。他书中源码多给了一个SystemServer.java 目录也和源码对应了起来,其实这个就是为了告诉我们和他在同一个目录下。
就放到这里吧。
然而把他编译进去。
mmm ./frameworks/base/services/core/
但是最终是要打包到services.jar所有要再输入:
mmm ./frameworks/base/services/
现在实现硬件访问服务的JNI方法。
修改onload.cpp
修改配置
编译:(一层层的编译吧 有android.mk目录的就不要偷懒)
mmm ./frameworks/base/services/core/jni/
mmm ./frameworks/base/services/core/
mmm ./frameworks/base/services/
mmm ./frameworks/base/
同样要修改源码前面加个A
检查
最后是更新system.img
make snod
刷入手机就行了。