Overview

Camera框架分为五层,即APP、Service、Provider、Driver及Hardware:

alt Android Camera Architecture

由上图可知,HIDL位于Service和Provider层之间。HIDL即HAL接口定义语言(Hardware Interface Definition Language, 发音为“hide-l”),它是用于指定HAL和用户之间接口的一种接口描述语言(IDL)。但根据google官方资料,从Android之后,HIDL已被废弃,Android将在其所有位置改用AIDL。

HIDL旨在用于进程间的通信(IPC),它成功地将Camera Hal MOdule从Camera Service中解耦出来,并承担着对Camera HAL的封装工作,减轻并降低了开发者的工作量和开发难度。

HIDL开发

Android源码的下载与编译

下载

首先在Manjaro中安装Repo:

yay -S repo

获取最新版本:

repo init -u https://android.googlesource.com/platform/manifest

或指定版本:

repo init -u https://android.googlesource.com/platform/manifest -b master

下载源码树:

repo sync

加快速度:

# -c: 当前分支, -j:线程数
repo sync -c -j8

编译

待续……