Android Framework应用框架层和HAL硬件抽象层以及Linux Kernel底层之间的关系

Android应用框架层和硬件抽象层以及底层之间的关系

1. JNI技术:

(1).JNI技术简单的说就是在本地Java语言声明本地方法和加载动态链接库(.so文件)

(2).动态链接库(.so文件)是由NDK编译C/C++文件而成的。

2. HAL层开发:

(1).HAL是Hardware Abstraction Layer的简称。也称为硬件抽象层。

(2).硬件访问服务是在Framework层实现的。

(3).硬件访问服务是用Java语言实现的,硬件抽象层是用C++语言编写的。因此硬件访问服务必须通过JNI技术调用硬件抽象层的接口。

(4).硬件抽象层调用Linux Kernel底层的接口。

3. Android HAL存在的主要原因:

(1).并不是所有的硬件设备都有标准的Linux Kernel的接口。

(2).某些设备制造商并不希望公开硬件驱动,所以采用HAL开发的方式。

(3).针对某些硬件,Android有一些特殊的需求。

附图:

注:

Android包含一个C/C++库的集合,使Android系统的各个组件使用。

这些功能通过Android的应用框架层暴漏给开发者。

时间: 2024-10-07 19:12:15

Android Framework应用框架层和HAL硬件抽象层以及Linux Kernel底层之间的关系的相关文章

Android应用程序框架层和系统运行库层日志系统源代码分析

文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6598703 在开发Android应用程序时,少不了使用Log来监控和调试程序的执行.在上一篇文章Android日志系统驱动程序Logger源代码分析中,我们分析了驱动程序Logger的源代码,在前面的文章浅谈Android系统开发中Log的使用一文,我们也简单介绍在应用程序中使Log的方法,在这篇文章中,我们将详细介绍Android应用程序框架

Android Framework ContentProvider框架

ContentProvider统一了对数据源操作的接口,并支持进程间通信(IPC),应用进程之间可以通过ContentProvider对外暴露接口,来分享数据. 作为android中核心组件,不得不深入了解,翻看了android的源码写篇blog与大家分享. 1.我画了一个静态类结构图,看下图: 上图中已经把ContentProvider的核心结构列举了出来. 1.IContentProvider定义了所有可以操作数据源的接口,如:query,insert等. 2.ContentProvider

Android的系统框架的深入认识

Android采用层次化系统架构,官方公布的标准架构如下图所示.Android由底层往上分为4个主要功能层,分别是linux内核层(Linux Kernel),系统运行时库层(Libraries和Android Runtime),应用程序架构层(Application Framework)和应用程序层(Applications). Linux内核层 Android以Linux操作系统内核为基础,借助Linux内核服务实现硬件设备驱动,进程和内存管理,网络协议栈,电源管理,无线通信等核心功能.An

飞凌干货丨OK-xx18 Android实时时钟框架介绍

RTC(Real-TimeClock)实时时钟为操作系统提供了一个可靠的时间,并且在断电的情况下,RTC实时时钟也可以通过电池供电,一直运行下去.本文以OK-4418-C为例,介绍在Android实时时钟框架. 整体流程介绍由于实时时钟子系统,硬件抽象层.框架层.应用层的android开发包都已经做好,因此此接口的主要设计工作在于rx8010芯片的驱动的实现,包括芯片的初始化及配置时间,读取时间及接入实时时钟子系统等功能. 板子上电以后,内核驱动会初始化rtc芯片rx8010,并生成/dev/r

.Net程序员玩转Android系列之二~Android Framework概要(1)

从windows操作系统说起 人们总是喜欢从将陌生的事物和自己所了解的东西关联起来,以加深对未知事物的了解,这一讲我们从windows操作系统说起,逐步引领带大家走入android的世界.写任何程序都需要知道程序运行的原理和环境,就比如开发winform程序,你至少需要知道操作系统的原理,CLR运行时,了解一些常用的C/C++库.诚然,你不需要全部了解得很清楚也能写出很不错的应用程序,但是你了解的越清楚,钻研得越透彻,那么你越能开发出适合于你所在平台的.更优化的应用程序.譬如在windows操作

Android的系统框架

Android的系统架构采用了分层架构的思想,如图1所示.从上层到底层共包括四层,分别是应用程序程序层.应用框架层.系统库和Android运行时和Linux内核.  图1:Android系统架构图 每层功能简要介绍如下: 一 应用程序层 该层提供一些核心应用程序包,例如电子邮件.短信.日历.地图.浏览器和联系人管理等.同时,开发者可以利用Java语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等.友好共处. 二 应用程序框架层 该层是Android应用开发的基础,开发人员大部

Android软硬整合设计与框架揭秘: HAL&Framework &Native Service &App&HTML5架构设计与实战开发

掌握Android从底层开发到框架整合技术到上层App开发及HTML5的全部技术: 一次彻底的Android架构.思想和实战技术的洗礼: 彻底掌握Andorid HAL.Android Runtime.Android Framework.Android Native Service.Android Binder.Android App.Android Testing.HTML5技术的源泉和精髓等核心技术,不仅仅是技术和代码本身,更重要的是背后的设计思想和商业哲学. 一.课程特色 l  贯通And

Android软硬整合设计与框架揭秘: HAL&Framework &Native Service &App&Browser架构设计与实战开发

在软硬整合领域, Android以其对软件和硬件的高度开放性引领了当今的软硬整合潮流,全世界正在进行一场轰轰烈烈的Android运动,Android以不可思议的速度渗透越来越广的领域,Android智能手机.Android智能电视.Android微波炉.Android平板电脑.Android智能机器人.Android车载系统等越来越多的Android产品涌入人们的工作和生活中,自从Google的[email protected]战略发布以来,更是让世界对Android充满了怦然心动的期待,可以预

[android底层] hal硬件抽象层编写

两个与hal有关的结构体 hw_module_t ,hw_device_t 一.jni和hal之间的关系 Tip:几种app,jni,hal,framework之间的关系框架     这篇文章用的框架是第二种框架的编写,他们的关系如下: 可以看出jni主要通过pModule和pdevice来获取hal中的变量来操作hal层 二.jni操作hal 获取hal层:1.jni获取hal层的module和device对象 操作hal层:2.jni操作hal层 jni操作hal完整代码参考[android