- Android板级支持与硬件相关子系统
- 韩超等
- 717字
- 2020-08-28 12:21:33
2.6 与硬件抽象层相关的框架层目录
实际上,各个硬件抽象层的内容在不同的Android版本中变化并不大,但是Android框架层的代码则有一些位置上的变化。从发展的过程上来看,从Android2.3到Android4.1版本之间的变化都不大,而Android4.2则有一些比较大的变化。
↘2.6.1一直保持不变的代码
Android框架层的主要内容在frameworks/base中,其中一些重点目录自Android2.3到Android4.2版本基本不变,甚至从Android1.x版本开始都没有发生大的变化。
·include/:框架层本地库的头文件(Android 4.x将部分内容移出)。
·libs/:框架层本地库的源代码(Android 4.x将部分内容移出)。
·cmd/:框架层的本地可执行程序和Java命令行程序源代码。
·core/java/:框架库(framework.jar)的Java代码。
·core/jni/:框架库的JNI的代码。
·services/java/:服务库(service.jar)的Java代码。
·services/jni/:服务库的JNI的代码。
·media/java/:多媒体部分的Java代码。
·media/jni/:多媒体部分的JNI代码。
↘2.6.2 框架层的本地代码
在Android 4.2中,frameworks/native是一个与frameworks/base并列的目录,navtive的含义为本地层的内容,原本在base目录中的一些本地的内容被拆分到native目录中。
几个主要的目录如下所示(内部的结构没有变化)。
·include/:utils、binder、ui和gui等几个本地库的头文件。
·libs/:utils、binder、ui和gui等几个本地库的实现。
·services/:sensorservice和surfaceflinger等几个服务库的代码。
·cmds/:sensorservice和surfaceflinger等几个可执行程序。
↘2.6.3 音频视频相关的代码
在Android4.2中,frameworks/av是一个与frameworks/base并列的目录,av的含义就是音频audio和视频vidoe,原本在base目录中的一些与音频视频相关的内容被拆分到av目录中,并且原本的下一级目录结构保持不变。
几个主要的目录如下所示。
·include/camera/:camera库的头文件。
·include/media/:media库(包括media和audio部分)的头文件。
·camera/:camera库的源代码。
·media/libmedia:media库源代码。
·media/libmediaplayerservice/:libmediaplayerservice库的源代码。
·media/libstagefright/:libstagefright库的源代码。
·media/mediaserver/:mediaserver可执行程序的源代码。
·services/audioflinger/:audioflinger服务库的源代码。
·services/camera/:cameraservice库的源代码。
·cmds/stagefright/: stagefright可执行程序。
以上目录一般只是上层的位置发生了变化,目录内部的结构则没有变化。