Android的Camera架构介绍
第一部分 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.so 。
主要的头文件在以下的目录中:
frameworks/base/include/ui/
Camera 底层库在以下的目录中:
frameworks/base/libs/ui/
这部分的内容被编译成库 libui.so 。
Camera 服务部分:
frameworks/base/camera/libcameraservice/
这部分内容被编译成库 libcameraservice.so 。
为了实现一个具体功能的Camera,在最底层还需要一个硬件相关的Camer库(例如通过调用video for linux驱动 程序和Jpeg编码程序实现)。这个库将被Camera的服务库 libcameraservice.so 调用。
Android的Camera架构介绍
最新推荐文章于 2025-03-26 18:05:57 发布