这是 Android Camera API 1 ,Camera 的架构与 Android 整体架构是保持一致的:
Framework : Camera.java
Android Runtime : android_hardware_Camera.cpp
Library :
Client (Camera.cpp, ICameraClient.cpp, etc...)
Server (CameraService.cpp, ICameraService.cpp, etc...)
HAL : CameraHardwareInterface.h
整体架构简图:
相关源码位置:
Framework:
/frameworks/base/core/java/android/hardware/Camera.java
Android Runtime:
frameworks/base/core/jni/android_hardware_Camera.cpp
C/C++ Libraries:
Client:
frameworks/av/camera/CameraBase.cpp
frameworks/av/camera/Camera.cpp
frameworks/av/camera/ICamera.cpp
frameworks/av/camera/aidl/android/hardware/ICamera.aidl
frameworks/av/camera/aidl/android/hardware/ICameraClient.aidl
Server:
frameworks/av/camera/cameraserver/main_cameraserver.cpp
frameworks/av/services/camera/libcameraservice/CameraService.cpp
frameworks/av/services/camera/libcameraservice/api1/CameraClient.cpp
frameworks/av/camera/aidl/android/hardware/ICameraService.aidl
HAL:
HAL 1:
frameworks/av/services/camera/libcameraservice/device1/CameraHardwareInterface.h
HAL 3:
frameworks/av/services/camera/libcameraservice/device3/***