Android系统层开发简介(一)

2019-01-08  本文已影响11人  xingzjx

一、系统层开发知识

Android系统层开发需要熟悉的知识:开发板知识,Linux有一定的了解,Android源码编译,Hal层开发,Framework层开发等。

二、开发板配置图

image

三、Android系统分层设计

image

1、CPU层和硬件层

包括CPU和底层各种硬件,一般是硬件的工程师负责,Android系统层工程师配合。CPU引导Boot启动。

2、Boot层

引导Linux Kenel的启动。

3、Linux Kenel层

Linux内核负责进程管理,驱动管理,电源管理等等。

4、Android OS层

Hal层:抽象出一套访问硬件和驱动的接口。

Framework(C++):调用Hal层接口,起着承上启下的作用。

ThindPart Library:第三方C/C++库,如webkit、sqlite等等。

Dalvik:虚拟机,负责APP进程的管理以及内存分配等工作。

Framework(java):包括AMS、PMS等系统服务以及Android四大组件等等。

APP层:上层应用,包括系统级APP和自己开发的APP等。

补充,假如需要改系统驱动或者硬件,如使用Camera2,只需要修改Hal层和Linux驱动层接口,而Hal层和Framework层的接口是不需要修改的。

四、相机调用流程

拍一张照片流程:首先启动相机APP,调用camera java层的API,然后通过Dalvik虚拟机获取Camera服务,假如Camera服务正在连接,那么会断开当前连接,同时和新的APP建立连接。然后Framework C++层会调用Hal抽象出来的Camera接口,接下来会调用底层的驱动,最后调到Camera的硬件抓拍一张照片,然后一层一层返回,最后得到拍到的一张照片。

上一篇下一篇

猜你喜欢

热点阅读