修改流程:
在hal层添加gps驱动
添加命令:
切换到gps模块命令
添加gps模块的代码 这个华大的已经给我们了
mkdir gps
添加模块的源码
这里需要修改里面的部分代码
源码根目录下添加环境
source ./build/envsetup.sh
lunch 114
单独编译模块
mmm hardware/libhardware/modules/gps/
注意:
mm命令和mmm命令的区别
mm是在需要编译的文件的目录下编译
mmm是在根目录下编译
原理讲解
如上图所示:
定位服务共分为四层:
最上面是应用层,以java为主。
第二层是框架层,这一层包含了供应用调用的接口及其系统服务的实现,主要由 Java 语言来实现。
第三层是硬件抽象层,本层由 C 以及 C++ 语言实现 , 框架层与共享库层使用 JNI 进行衔接。
最下面一层是 Linux 内核层 , 整个 Android 系统都是以 Linux 内核为基础的
加载时序图