总体介绍
Android Camera 框架从整体上看是一个 client/service 的架构,
有两个进程:
client 进程,可以看成是 AP 端,主要包括 JAVA 代码与一些 native c/c++代码;
service 进 程,属于服务端,是 native c/c++代码,主要负责和 linux kernel 中的 camera driver 交互,搜集 linux kernel 中 camera driver 传上来的数据,并交给显示系统显示。
client 进程与 service 进程通过 Binder 机制通信, client 端通过调用 service 端的接口实现各个具体的功能。
1总体框图
2应用层
主要代码在packages/apps/Camera/
3Framework层
3.1 Framework.jar
这层的代码主要编译成framework.jar frameworks/base/core/java/android/hardware/Camera.java
这部分是提供给Android的应用接口
3.2 libandroid_runtime.so
这层是Camera的JAVA native调用部分:./frameworks/base/core/jni/android_hardware_Camera.cpp