Android SystemService
modified: device/rockchip/common/BoardConfig.mk modified: device/rockchip/common/init.rk30board.rc modified: frameworks/base/Android.mk modified: frameworks/base/api/current.txt modified: frameworks/base/api/system-current.txt modified: frameworks/base/core/java/android/app/ContextImpl.java modified: frameworks/base/core/java/android/content/Context.java modified: frameworks/base/services/java/com/android/server/SystemServer.java Untracked files: (use "git add <file>..." to include in what will be committed) frameworks/base/core/java/android/app/GAManager.java frameworks/base/core/java/android/app/IGAManager.aidl frameworks/base/gaapimanager/ frameworks/base/services/core/java/com/android/server/GAService.java
Android创建系统服务(XHService)
实现功能:调用自己的Service,实现控制红蓝灯。
一、接口
首先定义一个 AIDL 文件,接口
1 | frameworks/base/core/java/android/app/IGAManager.aidl |
二、封装
Manager 这个就是一个封装类,用来封装 aidl接口的
三、功能
功能实现在Service
四、注册与编译
1、 aidl 接口参与编译
frameworks/base/Android.mk core/java/android/app/IAlarmManager.aidl \ core/java/android/app/IXHManager.aidl \ core/java/android/app/IGAManager.aidl \
2、注册成为系统服务,开机自动运行
frameworks/base/services/java/com/android/server/SystemServer.java gaService = new GAService(context); ServiceManager.addService(Context.GA_SERVICE,gaService);
3、定义标识符 (规范)
frameworks/base/core/java/android/content/Context.java
在 Context 中添加用于识别这个服务的标识符
public static final String GA_SERVICE = "GA_SERVICE";
4、功能和封装方法建立联系
GAManager.java & GAService.java
frameworks/base/core/java/android/app/ContextImpl.java
5、编译
更新系统api接口需要同时提交current.txt
解释一下什么是current.txt?
修改framework/base下面的api时要注意更新api/current.txt
so,要make update-api,更新一下,编译完之后,文件自动生成定义的方法
如果编译成功,current.txt 会生成定义的方法
五、封装成api 给应用调用
封装成api,资源更小,客户调用更方便
分类:
RockChip
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】