Android系统层开发简介

2019年5月2日19:57:22 发表评论 1 views

一、系统层开发知识

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

二、开发板配置图

Android系统层开发简介

三、Android系统分层设计

Android系统层开发简介

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的硬件抓拍一张照片,然后一层一层返回,最后得到拍到的一张照片。

  • yiisaa
  • 这是我的微信扫一扫
  • weinxin
  • zhengweiqiangcom
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: