Platform: rk3399
OS: Android 7.1
Kernel: v4.4.83
从上往下架构如下:
rk3399使用的是Camera API v1以及HAL1版本,各个层的文件路径如下:
应用框架:
利用 android.hardware.Camera API 来与相机硬件进行互动。在内部,此代码会调用相应的JNI以访问与该相机互动的原生代码。
路径:
frameworks/base/core/java/android/hardware/camera2
JNI:
此代码会调用较低级别的原生代码以获取对物理相机的访问权限,并返回用于在框架级别创建 android.hardware.Camera 对象的数据。
路径:
frameworks/base/core/jni/android_hardware_Camera.cpp
Native:
可提供相当于 android.hardware.Camera 类的原生类。此类会调用 IPC binder 代理,以获取对相机服务的访问权限。
frameworks/av/camera
相机服务: