现在的位置: 首页 > 综合 > 正文

Android Camera 调用流程

2014年02月16日 ⁄ 综合 ⁄ 共 1051字 ⁄ 字号 评论关闭

Android Camera的代码结构

Android的Camera代码主要在以下的目录中:
Camera的JAVA部分
packages/apps/Camera/。其中Camera.java是主要实现的文件。这部分内容编译成为目标是Camera.apk
com.android.camera这个包,几个主要的类文件如下:
PhotoViewer:GalleryPicker.java(所有图片集)--->ImageGallery.java(某个Folder下图片列表)--->ViewImage.java(看某张具体图片)
VideoPlayer:GalleryPicker.java(所有视频集) --->MovieView.java(看某一个视频)
Camera:Camera.java(Camera取景及拍照)
VideoCamera:VideoCamera.java(VideoCamera取景及摄像)

Camera的framework供上层应用调用的部分

base/core/java/android/hardware/Camera.java

这部分目标是framework.jar

Camera的JNI部分
frameworks/base/core/jni/android_hardware_Camera.cpp
这部分内容编译成为目标是libandroid_runtime.so。

Camera UI库部分
frameworks/base/libs/camera
这部分的内容被编译成库libcamera_client.so。

Camera服务部分
frameworks/base/services/camera/libcameraservic
这部分内容被编译成库libcameraservice.so。

Camera HAL层部分
hardware/msm7k/libcamera

vendor/qcom/android-open/libcamera2
为了实现一个具体功能的Camera,在HAL层需要一个硬件相关的Camera库(例如通过调用video for linux驱动程序和Jpeg编码程序实现或者直接用各个chip厂商实现的私有库来实现,比如Qualcomm实现的libcamera.so和libqcamera.so),实现CameraHardwareInterface规定的接口,来调用相关的库,驱动相关的driver,实现对camera硬件的操作。这个库将被Camera的服务库libcameraservice.so调用。

抱歉!评论已关闭.