Android 的Camera 架构介绍 1
1 Camera 概述 Android 的 Camera 包含取景器(viewfinder)和拍摄照片的功能
目前 Android 发布版的Camera 程序虽然功能比较简单,但是其程序的架构分成客户端和服务器两个部分,它们建立在 Android 的进程间通讯 Binder 的结构上
以开源的Android 为例,Camera 的代码主要在以下的目录中: Camera 的JAVA 程序的路径: packages/apps/Camera/src/com/android/camera/ 在其中 Camera
java 是主要实现的文件 frameworks/base/core/java/android/hardware/Camera
java 这个类是和JNI 中定义的类是一个,有些方法通过 JNI 的方式调用本地代码得到,有些方法自己实现
Camera 的JAVA 本地调用部分(JNI): frameworks/base/core/jni/android_hardware_Camera
cpp 这部分内容编译成为目标是 libandroid_runtime
主要的头文件在以下的目录中: frameworks/base/include/ui/ Camera 底层库在以下的目录中: frameworks/base/libs/ui/ 这部分的内容被编译成库 libui
Camera 服务部分: frameworks/base/camera/libcameraservice/ 这部分内容被编译成库 libcameraservice
为了实现一个具体功能的Camera,在最底层还需要一个硬件相关的Camer 库(例如通过调用 video for linux驱动程序和Jpeg 编码程序实现)
这个库将被 Camer