驱动程序 SDK for Android 版本说明

本部分包含 Android 版驱动程序 SDK 的版本说明。

v5.0.0(2023 年 9 月 12 日)

依赖项和配置更改

  • 将 Navigation SDK 更新到了 v5.x。
  • minSdkVersion 升级到了 API 23。
  • 将 Kotlin 版本升级到了 1.9.0。
  • Room 添加了依赖项。
  • 现在,使用驱动程序 SDK 的应用必须采用 API 31 或更高级别的 targetSdkVersion
  • 使用驱动程序 SDK 的应用现在必须启用 Java 8 库支持。如需了解更新说明,请访问 https://developer.android.com/studio/write/java8-support。
  • 使用 Proguard 或 Dexguard 的应用必须迁移到 R8。如需了解详情,请参阅 https://developer.android.com/build/shrink-code。
  • 使用驱动程序 SDK 的应用必须启用脱糖。如需了解相关说明,请参阅 https://developer.android.com/studio/write/java8-support#library-desugaring。

bug 修复

  • 修复了与 disableLocationTracking 同步相关的问题。
  • 引入了新的 DriverStatusListener 接口,可在异常状态更新中报告原因。
  • 修复了驱动程序保持不动的问题(从 v4.99.0 开始提供)。

v4.99.0(2023 年 8 月 9 日)

  • 支持一系列 NavSDK 依赖项版本。 ** 支持 v4.5.0 及更低版本(但不包含 v5.0.0)。
  • 防止在车辆静止时缩短预计到达时间。此变更会以实验的形式逐步推出,因此并非所有应用都会同时看到此变更。

v4.5.0(2023 年 5 月 12 日)

  • 将 Navigation SDK 依赖项更新为 v4.5。请注意,Navigation SDK 的组 ID 和工件 ID 已更改。

v4.4.3(2023 年 3 月 20 日)

依赖项更改

  • 将 Navigation SDK 依赖项升级到 v4.4.1。

v4.4.2(2023 年 2 月 15 日)

bug 修复

  • 缩短了 SDK 遇到临时连接问题时的网络恢复时间。此功能目前处于实验阶段。

  • 舍弃仅包含“原始”的 UpdateVehicle 请求位置。

  • 修复了“Route Overview”中的竞态条件ALPHA API。

v4.4.1(2022 年 11 月 18 日)

bug 修复

  • 修复了流量上传逻辑中的 bug。

其他更改

  • 对请求标头和状态代码报告进行了内部改进。

v4.4.0(2022 年 9 月 21 日)

bug 修复

  • 修复了阻止“使用 Google 地图驾车”的 bug删除通知。

依赖项更改

  • 将 Navigation SDK 依赖项升级到 v4.2.2。

v4.3.0(2022 年 8 月 24 日)

内部改进。

通知:冻结对 Android 5 的支持(2022 年 7 月 21 日)

对于最新的 SDK 版本 (v4.2.0) 为在 Android 5 上运行的应用提供额外一年的支持, API 级别 21 和 22。

这意味着:

  • 您的 Android 应用上运行的 Navigation SDK 和驱动程序 SDK 将支持 。
  • 2023 年 6 月 30 日之后,我们将仅支持 Android API 级别 23 及更高级别。 也就是说,我们将停止支持 Android API 级别 21 和 22, 所有 SDK 版本。这意味着,与 Android 21 相关的 bug 或 22 的任何 SDK 版本(包括 4.x)均不会被修复, 来保证 SDK 正常运行

此通知将替换 6 月发布的 Android 21 和 22 支持冻结通知 从 2021 年 10 月 18 日起,Android 23、24 和 25 将支持冻结。

v4.2.0(2022 年 6 月 8 日)

依赖项更改

  • 将 Nav SDK 依赖项升级到 v4.1.3。
  • 将支持的最低 Android API 级别降级到 21。

v4.1.0(2022 年 4 月 28 日)

API 更新

  • Task 对象的 parentId 属性重命名为了 trackingId。旧版 属性,但已被弃用。

  • 将一些返回值类型从 Future 更改为了更具体的提示类型 ListenableFuture以及从List到更具体的ImmutableList

v4.0.0(2021 年 11 月 29 日)

此版本支持的最低 Android API 级别为 23。

API 更新

在此版本中,Android 版驱动程序 SDK 已更新,包含以下内容: 更改。

VehicleStops API 更改

VehicleStop 对象现在会引用 TaskInfo 对象的列表,而不是 Task 对象的操作。如果您需要任务状态 那么我们建议您在应用代码中对其进行跟踪

崩溃监控

添加了崩溃监控和报告功能,以帮助提升 SDK 的稳定性。 此功能默认处于启用状态,不过如果您调用 setAbnormalTerminationReportingEnabled() 并向其传递值 false 然后再初始化 SDK。

Async getRemainingVehicleStops

身份验证

AuthTokenContext 接口中移除了不必要的属性。 废弃了 ServiceType。现在,您只需要 包含车辆 ID 和任务 ID,而不是依赖于 ServiceType

2021 年 10 月 18 日 - 冻结对 API 级别 23、24 和 25 的支持

阅读 10 月 18 日的公告

为了应对内部依赖项的变化,根据 Android API 级别 23, 24 和 25(Android 6、7.0 和 7.1)在新版本中不受支持 适用于 Android 的导航 SDK 和驱动程序 SDK 部分(从第三部分开始) 。

适用于 Android 版本的 Navigation SDK 和驱动程序 SDK 版本将从第三季度开始发布 2022 年第 1 季度将仅支持运行最低 Android API 级别 26。

使用 v4.x 或更低版本的导航和驱动程序 SDK 构建的应用版本 Android 将继续在搭载 Android API 级别 25 的设备上工作 及更低级别。

v3.0.4(2021 年 7 月 28 日)

功能

在这个版本中,驱动程序 SDK 正式成为 与 Navigation SDK 分开。请参阅 迁移指南 了解详情。

API 更新

添加了以下方法:

DeliveryDriverApi.getDriverSdkVersion()

稳定性和问题修复

报告 PERMISSION_DENIED 个错误,而不是将其分类 出现连接错误。

弃用公告(2021 年 6 月 21 日)

本公告介绍了 Driver SDK for Android 的弃用情况 和 Navigation SDK for Android。 此通知也是以重要服务通告 (MSA) 的形式发出的。 受影响的客户

为了简化客户集成,并加快我们交付实用 我们将导航 SDK for Android 和 Android 版驱动程序 SDK 转换成两个不同的二进制文件:

  • 适用于 Android 的导航 SDK,将提供导航/路由 为驱动程序提供额外功能
  • Android 版驱动程序 SDK,可让您利用舰队 用于行程或任务进度和分配的引擎有状态 Web 服务。

请注意,Android 版驱动程序 SDK 必须具有 适用于 Android 的 Navigation SDK,适用于核心路由函数。

有哪些变化?

v3 中的主要变更包括:

  • 两个二进制文件,而不是一个。
  • 为 Android 版驱动程序 SDK 类提供更清晰的软件包定义。
  • Navigation SDK for Android 包含 Maps SDK for Android (从 Navigation SDK for Android v2 开始)。
    • 这使得地图和导航功能可以在同一地图上共存 (例如在 NavigationView 上绘制多段线)并减少内存用量 因为使用了一个地图,而不是两个。
    • 适用于 Android 3.0 的 Navigation SDK 缺乏与 Navigation SDK for Android,但是 v3.2 可以解决此处的大多数问题。 请参阅我该怎么办以及何时?
  • 通过日志记录功能,我们可以更轻松地调试您可能遇到的问题。

以下方法在 v3 中也已移除,之前 标记为已弃用,并且已有替代解决方案 存在:

  • 以下 Nav/Driver SDK 方法已在 v1.16 中弃用 并已在 v3.0 中移除:
    • Waypoint#fromLatLng(*)
    • Waypoint#fromPlaceId(*)
    • Navigator#startGuidance(resumeIntent)
    • NavigationApi#initForegroundServiceManager(*)
  • 为了完整和清楚起见,请注意,有些方法已移除 。其中大部分是对重复的 Navigation SDK for Android 与 Maps SDK for Android。请参阅 迁移指南 以便更好地了解这些更改

废弃了适用于 Android 的驱动程序 SDK 和适用于 Android 的 Navigation SDK v1.x

Nav/Driver SDK v1 是在 2018 年发布的,v3 版本很快将 是时候弃用 v1 了, 支持许多主要版本

由于不必支持这一额外版本而节省的时间 更好地支持最新的主要版本,并开发更多 对我们的客户至关重要

因此,Nav/Driver SDK v1.x 现已弃用,将不再维护 2022 年 6 月 21 日之后

请花点时间了解一下 SDK 版本废弃机制的运作机制

阅读已撤消的通知

即将推出的 4.0 版 Navigation SDK for Android 和 Android 版驱动程序 SDK 将至少支持 [Android 6.0(API 级别 23)](https://developer.android.com/studio/releases/platforms#6.0){: .external}。 目前支持的最低版本是 Android 5.0(API 级别 21)。 我们预计在 2021 年第 4 季度发布 4.0 版。这意味着:

  • 使用 v4.x 之前的版本构建的应用版本将继续运行 搭载 Android 21 和 22 的设备。集成了我们的 最新的 SDK 可继续在搭载 Android 21 及更高版本的设备上使用。 这与之前相同。
  • 使用 Android 版驱动程序 SDK 构建的应用版本以及 适用于 Android 的 Navigation SDK v4.x(针对 2021 年第 4 季度(可能会发生变化)及之后将无法安装 搭载 Android 21 和 22. v4.x 的设备搭载的最低版本为 Android 6.0(API 级别 23); 因此使用即将推出的 v4.x 构建的应用版本只能 。重申一下 这意味着与 SDK 相关的变更以及您所做的任何应用变更 搭载 Android 21 和 22 的设备的驾驶员也无法看到“Made For”

Navigation SDK for Android v3 和 您要升级到的适用于 Android v3 的驱动程序 SDK 下表中进行了解释,以及这些功能何时推出。

您使用哪些驱动程序平台功能? 您是否使用这些功能 那么,您应该升级到的首个可用版本是... 预计收到款项的时间
(可能会发生变化)
迁移链接
仅限导航
(NavSDK 方法)
NavSDK v3.0.1 现在 指南
NavSDK v3.5(预计) 2021 年 9 月
导航和舰队引擎跟踪(NavSDK 和 DriverSDK 方法) Nav SDK v3.0 和驱动程序 SDK v3.0 驱动程序 v3.0 迁移指南已发布
NavSDK v3.x 和 DriverSDK v3.0

要继续使用已移除的方法,您可以继续使用 v1.x, 的预期支持或维护时间(请参阅下一部分)。

我们建议您迁移到 3.x 版。这意味着:

* v1.x 的最后一个版本将于 2021 年第 4 季度推出(因此 v1 为 之后会被标记为“功能已冻结”)。

* 最后一个版本可在此后 6 个月内进行修补,直至 2022 年 6 月 21 日。 此后,我们将无法回复错误或功能请求 。

请花点时间查看下表以及 [迁移指南](/maps/documentation/navigation-sdk-android/v2/migration) 帮助您从容应对这些变化

在什么时间之前我可以做些什么?

如果您目前使用的是... 您是否使用这些功能 立即升级 在 2021 年 9 月升级 迁移链接
v1.x
未使用 FleetEngine.java / 驱动程序功能)
NavSDK v3.0 指南
无选项 NavSDK 3.x
v1.x
(使用 FleetEngine.java / 驱动程序功能)
无选项 NavSDK 3.x +
DriverSDK 3.x
上述指南,以及发布时提供的驱动程序 v3.0 迁移指南。

我们建议您通知驾驶员使用搭载 Android 21 和 22 的设备 先升级到较新版本的 Android(最低为 Android 6.0) 集成适用于 Android 的驱动程序 SDK 和适用于 Android 的导航 SDK v4.x 及更高版本安装到您的驱动程序应用中。

v1.15.3(2020 年 10 月 9 日)

API 更新

  • Driver SDK 现在会订阅 Navigation SDK 以获取路况更新, 它们会发送到 Fleet Engine API。

稳定性和问题修复

  • 修复了 gRPC 运行时崩溃问题。

v1.15.2

功能

添加了停止常驻通知的功能。如果位置报告 已在 Fleet Engine 实例中停止,导航会在 Navigator 中停止, 所有导航监听器均已取消注册,并且 NavigationFragmentNavigationView 已暂停。

稳定性和问题修复

  • 修复了在清除 Fleet Engine 实例时导致抛出异常的 bug。

v1.15.1(2020 年 5 月 12 日)

功能

对 1.15.0 数据的初步分析表明了显著的改进 (减少“卡住”位置的数量)。此补丁修复 使经过改进的位置报告功能可以继续运行。该 ANR 问题与该问题无关 改进这些方面。

稳定性和问题修复

  • 修复了有时会导致在开头显示直线的错误 要在消费者应用中显示的路线
  • 修复了在报告位置信息时可能会导致 ANR 的错误 。这是得益于 onArrival() 项改进, 容易受到锁争用我们能够可靠地重现 ANR 问题 并能够验证这些修复是否 问题。用于生成 ANR 的修改后的测试应用已运行 8 小时 且在修复后未发生 ANR 的情况

v1.15.0(2019 年 3 月 23 日)

功能

  • 在开始、偏离路线、到达事件时引入了导航引导状态 来改进车辆位置跟踪。
  • 添加了继续获取道路被拦截地点的独立功能 导航状态。
  • 添加了与道路前贴靠位置有关的更多信息,例如准确度。

稳定性和问题修复

  • 将 navsdk 的 minSdkVersion 提高到了 19。
  • 修复了导致在下列情况下不遵循纬度/经度航点名称的 bug: 服务器端反向地理编码失败。

v1.14.2 版本(2019 年 2 月 2 日)

功能

  • 阻止 DriverSDK 向 Fleet Engine 发送 0,0 个位置信息(更好 行程分享和分配位置输入)。
  • 额外的日志记录,用于改善位置卡住问题并减少 分享历程的后备方案
  • 除非间隔时间发生变化,否则忽略对 setLocationReportingInterval() 的重复调用。
  • 更新了 setReportingInterval() 方法的 javadocs,使其包含目标 不鼓励以高速率调用该方法, 与所用的时间间隔不同
  • 提高了 API 29 的位置可靠性。

v1.13.0

稳定性和问题修复

  • 添加 okhttp 的依赖项,客户端必须将其添加到其 Gradle build 中。

v1.11.7(2019 年 10 月 18 日)

稳定性和问题修复

  • 现在,位置信息更新会在 onArrival() 触发一段时间后继续 。
  • 默认通知(自由导航模式下的常量字符串)与 为导航通知设置的配色方案。如需了解详情,请参阅 共享的持久性通知
  • 解决了延迟位置信息更新事件可能会导致 不真实的位置更新,会导致图像出现直线等 路线的起点。

v1.11.6(2019 年 10 月 4 日)

API 更新

  • 引入了一系列更改,确保驱动程序 SDK 能够恢复 发生网络故障后,位置会快速更新。连接到网络后 位置更新已在下一个预定位置重新开始 更新。

稳定性和问题修复

  • setVehicleState() 会立即返回结果。现在,FleetEngine 更新会在后台进行 线程。解决了应用无响应 (ANR) 问题。
  • 修复了导致旅程共享路线显示为 与旧版消费者 SDK 直接搭配使用。确保不会 一次性航点由驱动程序 SDK 添加到路线中。