Android Camera架构分层及代码结构(MTK version)

本文详细介绍了Android Camera的架构,分为应用层、应用框架层、HAL层和内核层。MTK版本的Camera架构重点在于如何通过Binder机制在客户端和服务端通讯,以及HAL层如何根据V4l2规范实现硬件驱动。在Android应用中使用Camera需要声明权限和特性,而底层硬件的修改主要集中在HAL层和内核驱动。
摘要由CSDN通过智能技术生成

Android的Camera包含取景器(viewfinder)和拍摄照片(takepicture)的功能。目前MTKAndroid Camera程序的架构分成客户端和服务器两个部分,它们建立在Android的进程间通讯Binder的结构上。Camera模块同样遵循Android的框架,如下图所示。

Camera 架构主要分为以下几个层次:

1.应用层

Camera的应用层在Android上表现为直接调用SDK API开发的一个Camera 应用APK包。代码在\packages\apps\Camera下。主要是Java写的基于android.hardware.Camera类调用的封装,并且实现Camera应用的业务逻辑和UI显示。android.hardware.Camera就是Android提供给上层调用的Camera类。这个类用来连接或断开一个Camera服务,设置拍摄参数,开始、停止预览,拍照等。它也是Android Camera应用框架封装暴露出来的接口。一个Android应用中若要使用这个类,需要在Manifest文件声明Camera的权限,另外还需要添加一些<uses-feature>元素来声明应用中的Camera特性,如自动对焦等。具体做法可如下:

<uses-permissionandroid:name="android.permission.CAMERA" />
<uses-featureandroid:name="android.hardware.camera" />
<uses-featureandroid:name="android.hardware.camera.autofocu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值