汽车应用

构建 Android Auto 导航、停车和收费应用。
最近更新时间 当前稳定版 下一候选版本 Beta 版 Alpha 版
2021 年 6 月 16 日 1.0.0 - - 1.1.0-alpha01

声明依赖项

如需添加对汽车应用库的依赖关系,您必须将 Google Maven 代码库添加到项目中。如需了解详情,请参阅 Google 的 Maven 代码库

在应用或模块的 build.gradle 文件中添加所需工件的依赖项:

Groovy

dependencies {
    implementation "androidx.car.app:app:1.0.0"

    // For testing
    implementation "androidx.car.app:app-testing:1.1.0-alpha01"
}

Kotlin

dependencies {
    implementation("androidx.car.app:app:1.0.0")

    // For testing
    implementation("androidx.car.app:app-testing:1.1.0-alpha01")
}

如需详细了解依赖项,请参阅添加构建依赖项

反馈

您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对库的改进有某些建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。

创建新问题

如需了解详情,请参阅问题跟踪器文档

版本 1.1.0

版本 1.1.0-alpha01

2021 年 6 月 16 日

发布了 androidx.car.app:app:1.1.0-alpha01androidx.car.app:app-automotive:1.1.0-alpha01androidx.car.app:app-testing:1.1.0-alpha01版本 1.1.0-alpha01 中包含这些提交内容

新功能

  • API 级别 2:新增了 SignInTemplateLongMessageTemplate,可用于车辆停好后的登录流。
  • API 级别 2:NavigationTemplate 内新增了地图互动支持
  • API 级别 2:新增对多个文本长度的支持,允许应用提供多个版本的字符串,以根据车载显示屏的尺寸显示相应版本。
  • 请参阅开发指南和库 Javadoc,详细了解如何在与 API 级别 2 兼容的汽车主机中使用这些功能以及相关的设计准则。

API 变更

  • 将所有 *Callback 接口方法设为默认方法,并将 OnRequestPermissionsCallback 重命名为 OnRequestPermissionsListener (Ib3ec9)
  • 更新了 androidx.car.app.hardware 类,以移除不必要的构建器和参数类。(I67beb)
  • 添加了 androidx.car.app.hardware 类,用于访问汽车特有数据,例如燃油、电池和速度。(Iff3c9)
  • 添加了对 MessageTemplateActionStrip 支持 (Ida657)
  • 已将 setLoading 添加到 MessageTemplate 中。(I2a4b5)
  • ConnectionToCar 已重命名为 CarConnection (Ife9bd)
  • 更改了 NavigationTemplate 以返回显式 PanModeDelegate (I13877)
  • 更新了 CarContext.requestPermissions 的参数顺序 (Ib890a)
  • 更新了元数据键,以将最低 Car API 级别定义为 androidx.car.api.minCarApiLevel (Ib0d41)
  • 创建了一个可用于观察汽车连接状态的 API (Ifc935)
  • 添加了对设置 Action 切换开关的支持,并添加了平移模式 Action 类型 (Ica6af)
  • 创建了 CarNotificationManager,以支持在汽车内发送通知 (I10d7a)
  • 添加了 ConstraintManager,用于提供来自主机的列表限制 (I8690e)
  • NavigationTemplate 中添加了平移模式和地图操作栏 API (I77aa6)
  • SurfaceCallback 中为导航应用添加了平移和缩放 API (Id5e9d)
  • CarAppApiLevel 已更新至 2 (Ic1540)
  • 添加了向 CarAppService 请求权限的功能 (I5421e)
  • 为多文本 API 添加了 RequiresCarApi(2) 注解 (Iacb62)
  • 允许在半列表模板标题中使用多个文本变体 (Ib8df7)
  • 添加了新的 LongMessageTemplate(要求 Car API 级别为 2)(Ic5cee)

bug 修复

  • 更新了图片大小要求,以顾及到较大的车载显示屏 (I116dc)
  • 禁止在模板主体中添加 2 个以上操作 (I32157)
  • 已确保汽车应用库中创建的所有 PendingIntent 都设置了标志。(If84feb/186394900
  • 更新了 javadoc,使 Row 的文本可以在刷新时更改 (If3f9c)
  • androidx.activity:activity:1.2.0 现在是 API 依赖项 (Id1cb9)
  • SignInTemplateLongMessageTemplate 设为要求在其主体中包含仅限停车状态下的操作,并更新了文档以指示只能在停车后显示这些操作 (Iddaa9)
  • 修复了启动期间会弹出 Screen 的异常(Ifcf40b/184664896
  • 允许在 ForegroundCarColorSpan 中使用自定义文本颜色 (I69e59)
  • 修复了以下问题:在对 Screen 执行 ON_DESTROY 之后观察到对 Session 执行 ON_DESTROYI52e01b/183696617
  • 更新了允许将 TravelEstimate 的剩余时间设置为未知时间时的 javadoc。(I99610b/183632456
  • 更新了 Action,以支持标题和任何自定义背景颜色中的 ForegroundColorSpan (I578e4)
  • 如果在执行程序执行之前清除了回调,就不会执行 NavigationManagerCallback#onStopNavigationI7fc5eb/181143772
  • 修复了要求应用显式依赖于 lifecycle-common-java8 的问题 (I8b8c8)

已知问题

  • SignInTemplate 中,当用户想要确认输入时,屏幕键盘会显示“搜索”图标而非“输入”图标。若要解决此问题,用户可以使用在输入字段获得焦点时激活的手机键盘。
  • 在 Android Auto 版本 6.5 中,可能会针对某些轻触手势错误地调用 SurfaceCallback 中的平移和缩放回调。

Car App Testing 版本 1.0.0

版本 1.0.0-alpha01

2021 年 3 月 24 日

发布了 androidx.car.app:app-testing:1.0.0-alpha01版本 1.0.0-alpha01 中包含这些提交内容

这是先前关闭的源代码测试库的第一个 Jetpack 版本。如需了解如何在测试中使用此库,请参阅我们的示例

新功能

  • 模型类的控制器已被移除。模型 getter 现在是公共 API 接口的一部分,可用于验证在构建器中设置的值。
  • 之前的 CarAppServiceController 已被新的 SessionController 取代,用于测试与热点的连接的生命周期相关逻辑。

版本 1.0.0

版本 1.0.0

2021 年 4 月 21 日

发布了 androidx.car.app:app:1.0.0版本 1.0.0 中包含这些提交内容。

1.0.0 的主要功能

  • 4 月初,我们宣布开发者可以开始使用 androidx.car.app:app:1.0.0-rc01 将应用发布到正式版发行渠道。汽车应用库 v1.0.0 现为稳定版本,且与 Android Auto 6.1 及更高版本完全兼容。
  • 请参阅开发指南,详细了解如何使用该库为 Android Auto 构建导航、停车和充电应用。

bug 修复

  • 修复了启动期间会弹出 Screen 的异常(70aae1b/184664896
  • 修复了以下问题:在对 Screen 执行 ON_DESTROY 之后观察到对 Session 执行 ON_DESTROY0ceecbb/183696617

版本 1.0.0-rc01

2021 年 3 月 24 日

发布了 androidx.car.app:app:1.0.0-rc01版本 1.0.0-rc01 中包含这些提交内容

bug 修复

  • 修复了在清除回调后调用 NavigationManagerCallback#onStopNavigation 的竞态条件问题。如果在回调执行程序实际运行之前清除了回调,就会出现此问题(I7fc5eb/181143772
  • 修复了要求应用显式依赖于 lifecycle-common-java8 的问题 (I8b8c8)
  • 修复了应用在移除回调后收到 stopNavigation 调用时,系统抛出 NullPointerException 的问题(Ib8b89b/181143772
  • 实施了多项改进,确保当应用的生命周期至少不处于 CREATED 状态时,系统将不向应用发送调用(I86965b/179800224b/177921120
  • 修复了由于应用清单中指定的最低 API 无效,导致主机上出现 ANR 的问题。(Iffeddb/174231592

版本 1.0.0-beta01

2021 年 2 月 24 日

发布了 androidx.car.app:app:1.0.0-beta01版本 1.0.0-beta01 中包含这些提交内容

这是先前闭源库的第一个 Jetpack 版本,且与 Android Auto 6.1 或更高版本兼容。请参阅开发指南,详细了解如何使用该库构建汽车应用。

新功能

bug 修复

  • 修复了按顺序弹出屏幕时恢复的 Screen 不正确的问题。(b/177590791)