本指南介绍了如何将汽车摄像头实现从Extended View System (EVS) API 迁移到 Camera2 API。我们计划弃用用于摄像头功能的 EVS API。此转换旨在通过使用 Camera2 框架,在 Android Automotive OS (AAOS) 上标准化摄像头开发。
迁移原因
以下因素是迁移的基础。
统一 API: Camera2 为 Android 上的所有摄像头开发提供了一个统一且一致的 API,适用于所有外形规格(手机、平板电脑、电视和汽车)。
更广泛的访问权限: Camera2 可供系统应用、第一方应用和第三方应用使用。这与 EVS 不同,后者仅限于系统应用和第一方应用。
减少碎片化: Camera2 消除了 OEM 维护和支持两个单独的摄像头堆栈的需求。
标准功能: Camera2 受益于为核心 Android 摄像头框架开发的持续增强功能和功能。
受影响的 EVS 组件
当 EVS 被弃用时,以下 EVS 组件可能会受到影响:
EVS HIDL 接口 1.0 和 1.1 及实现。这些 接口(包括框架 HAL EVSManager 1.0 和 1.1 以及 Mock 和 V4L2 HAL)已在 Android 14 中被弃用。
EVS AIDL 接口和实现。包括 EVS 管理器提供的内置 API。
CarEVSManager 和 CarEVSService。Java 服务,使用车辆硬件抽象层 (VHAL)
GEAR_SELECTION属性来提供对 EVS 和后视摄像头集成的访问权限。EVS 模拟 HAL 和 V4L2 UVC HAL。EVS 模拟器和基于 V4L2 的实现。
超声波 API。所有基于 EVS 的超声波传感器 API。
EVS 到 Camera2 兼容性库
迁移到 Camera2 详细介绍了 EVS 和 Camera2 之间的差异,并 介绍了如何将所需的 EVS 功能转换为 Camera2 API。 我们计划准备一个可选的兼容性库(shim 层)来支持这些迁移。
测试套件合规性
所有 Camera2 实现都必须通过以下 Android 合规性测试:
- 兼容性测试套件 (CTS) 验证整体 Android 兼容性。
- 供应商测试套件 (VTS) 测试 Camera HAL 接口。
如需了解详情,请参阅 Camera HAL 测试。
反馈
我们非常重视您针对从 EVS 迁移到 Camera2 的具体反馈。如需提供 意见,请参阅报告和跟踪 bug。提交问题时,请在标题中添加“EVS to Camera2 Migration Guide”。