从驱动层到应用层打通Android系统通路

本文详细介绍了如何在Android 5.02版本中从添加Linux内核驱动程序开始,逐步实现HAL层访问、JNI接口、硬件服务编写以及系统级APP测试的全过程,最终成功打通Android系统的通路。在Ubuntu环境下操作,注意不同版本可能存在的目录差异。测试过程中遇到的SELinux权限问题可能导致APP崩溃。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文参考优快云大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、配置编译选项

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值