本文参考优快云大V罗升阳编写的《Android系统源码情景分析》
大纲概要
经过测试,能够打通整个安卓通路,所使用的是Android 5.02版本,在虚拟机Ubuntu系统中操作。具体代码及操作细节请参考其博客,本文仅对流程做一个总结!另外,随着安卓版本的更新,一些目录不是太准确,测试时候请注意。
为了便于描述,以hello命名驱动模块
一、添加Linux内核驱动程序
1、进入到kernel/common/drivers目录,新建hello目录,并在hello目录中增加hello.h文件
2、hello目录下增加驱动文件hello.c
3、hello目录中新增Kconfig和Makefile文件
4、修改arch/arm/Kconfig和drivers/kconfig两个文件,在menu”DeviceDrivers”和endmenu之间添加一行:source “drivers/hello/Kconfig”
5、 修改drivers/Makefile文件,添加一行:
obj-$(CONFIG_HELLO) += hello/
6、配置编译选项