附录 C:车载设备界面插件 API 的最低兼容版本
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
原始设备制造商 (OEM) 应尽快切换到最新版本的 car-ui-lib-plugin-apis
(1.2.0 或更高版本)。理想情况下,OEM 不应推出任何使用较低版本的插件。
为何应用此更新?
之前的 Android 版本通过 Java 8+ API 脱糖支持实现了对 Java 8+ API 的支持。系统会将缺失 API 的实现编译到应用中,并重写 APK 的字节码以引用这些实现(而不是平台上的库)。
如要从车载设备界面库插件加载界面组件的 OEM 实现,需要引用由 car-ui-lib-plugin-apis
接口定义的方法。这些方法引用是在运行时从应用中对车载设备界面库插件进行的,并且应用和插件实现中的方法签名应该完全相同。
某些构建系统因特定最低 SDK 级别的要求而始终启用 API 脱糖。car-ui-lib-plugin-apis
接口的脱糖方法签名可能与未脱糖的 OEM 插件实现中的签名不同,这会导致插件无法加载。
因此,使用内部 Google 构建系统编译的某些 GAS 应用与车载设备界面库插件不兼容。因此,我们移除了对需要脱糖的 Java 8(及更高版本)API 的所有依赖项。此更改需要更新由 car-ui-lib-plugin-apis
定义的接口的 API。
针对 OEM 插件需要执行的步骤
以下步骤介绍了如何更新您的 API。
更新插件实现以使用最新版 car-ui-lib-plugin-apis
。如需获取最新版本(1.2.0 或更高版本),请参阅 Google 的 Maven 制品库。
更新插件实现以实现 PluginFactoryOEMV4
接口。如果某个组件是由 OEM 插件实现的,此更改需要执行以下步骤。更新以下组件的 OEM 实现:
工具栏,用于实现 ToolbarControllerOEMV2
。
内容列表项,用于扩展 ContentListItemOEMV2
。
IME 搜索结果处理,用于扩展 ImeSearchInterfaceOEMV2
。
更新应用以使用最新版本的车载设备界面库。
如果未应用此更新,会出现什么情况?
如果未针对 OEM 插件完成上述步骤,诸如 Google 汽车服务 (GAS) 之类的脱糖应用将无法加载车载设备界面库插件的实现,并且不会通过插件机制应用任何 OEM 自定义设置。
车载设备界面库的现有 RRO 自定义设置不受此问题影响,会继续照常运行。
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2022-11-11。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u6700\u540e\u66f4\u65b0\u65f6\u95f4 (UTC)\uff1a2022-11-11\u3002"}
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2022-11-11。"]]