http://source.android.com/porting/camera.html
Camera
構建一個camera庫
爲了實現一個camera驅動,創建一個動態鏈接庫實現在CameraHardwareInterface.h中定義的camera接口,你必須把你的動態鏈接庫命名爲libcamera.so,從而在運行時它會從/system/lib被裝載。你還需要把libcamera的源文件以及Android.mk文件放在vendor/acme/chipset_or_board/libcamera/中。
下面的stub Android.mk文件保證了libcamera編譯和連接合適的庫。
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := libcamera LOCAL_SHARED_LIBRARIES := \ libutils \ librpc \ liblog LOCAL_SRC_FILES += MyCameraHardware.cpp LOCAL_CFLAGS += LOCAL_C_INCLUDES += LOCAL_STATIC_LIBRARIES += \ libcamera-common \ libclock-rpc \ libcommondefs-rpc include $(BUILD_SHARED_LIBRARY)
流程圖
預覽
下圖展示了camera 預覽時必須的程序調用以及動作的流程。
照相
下圖展示了拍攝照片時時必須的程序調用以及動作的流程。