[RK3399][Android7.1] Camera各个层源文件路径记录
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
相机服务:
相机服务是与 HAL 进行互动的实际代码
路径:
frameworks/av/services/camera/libcameraservice
HAL:
硬件抽象层定义了由相机服务调用且您必须实现以确保相机硬件正常运行的标准接口。
路径:
hardware/rockchip/camera/CameraHal
驱动:
配置位于
hardware/rockchip/camera/SiliconImage
内核中对应是:
kernel/drivers/media/video/rk_camsys