Android 原生模块新增接口记录

本篇主要记录在 Android 原生模块上自上而下添加接口的过程,Android 原生模块在结构上有异曲同工之处,基本可借鉴,本篇将以 GNSS 模块为例,记录整个过程以及遇到的编译问题。

对于在模块中添加接口的任务,首先需要清楚该模块的结构是怎样的。在 Android 的通信结构摸清楚之后,再根据原有接口的流程新建自己的接口。
具体实现的逻辑因需求而异,下面记录 GNSS 模块新增接口的仓库和遇到的问题

1、Android JAVA API 层

路径:android/frameworks/base/location/java/android/location

文件:LocationManager.java

ILocationManager.aidl

说明:API 层主要是给应用提供接口,GPS 的接口位于 android/location 包中

2、Android AIDL 接口校验

路径:android/frameworks/base/api/

文件:current.txt

说明:API 接口添加,编译时会校验当前 api 与 编译api 对比,需要使用 make update-api 进行 api 更新

3、Android framework java service 层

路径:android/frameworks/base/services/core/java/com/android/server

android/frameworks/base/services/core/java/com/android/server/location

文件:LocationManagerService.java

GnssLocationProvider.java

猜你喜欢

转载自blog.csdn.net/Yang_Mao_Shan/article/details/129709031