本部分包含 Driver SDK for Android 的版本说明。
v7.99.0(2026 年 11 月 11 日)
问题修复
修复了以下问题:如果中间运营商代理在连接设置期间停滞,则尝试与 Fleet Engine 建立安全连接的操作可能会无限期处于待处理状态,从而导致行程状态和车辆跟踪更新无法在某些移动网络上刷新。Driver SDK 现在会强制执行连接超时,并在新连接上自动恢复。
修复了调用
DriverApi.clearInstance()(FleetEngineEventHandler、FusedLocationWriter和DriverApi执行器)时出现的线程和执行器泄漏问题。
依赖项和配置变更
将 Jetpack DataStore 依赖项(
androidx.datastore:datastore-core和androidx.datastore:datastore-guava)升级到了版本 1.2.1。将 Kotlin 依赖项版本升级到了 v2.4.0。
将支持的 Navigation SDK 版本范围更新为 [7.9.0, 8.0.0)。
v7.1.0(2026 年 5 月 14 日)
依赖项和配置变更
添加了 Jetpack DataStore 依赖项:
androidx.datastore:datastore-core版本 1.1.7 和androidx.datastore:datastore-guava版本 1.2.0。将 Kotlin 依赖项版本升级到了 v2.3.0。
将 Android Gradle 插件版本升级到了 8.13.2。
将 Gradle 版本升级到了 8.13。
将 Desugar 库版本升级到了 2.1.5。
将支持的 Navigation SDK 版本范围从 [7.0, 7.3) 扩大到 [7.0, 8.0)。
v7.0.0(2025 年 12 月 5 日)
依赖项和配置变更
将
minSdkVersion升级到了 API 26。将
targetSdkVersion升级到了 API 36。更新了 Navigation SDK 支持的版本范围,包括 v7.0.0 及更高版本。
v6.99.0(2025 年 12 月 5 日)
- 内部改进
公告:冻结对 API 级别 23、24 和 25 的支持
根据移动操作系统版本支持政策,我们将在即将推出的 Driver SDK for Android 主要版本中冻结对 Android 6 和 7(API 级别 23、24 和 25)的支持。
从 v7.0.0 开始,Driver SDK for Android 将至少支持 Android 8(API 级别 26)。旧版 SDK 将继续支持 Android 6 和 7。
如果您的依赖项未指定版本号,您的 IDE 将加载最新的 SDK 版本,并且应用的新 build 将不支持 Android 6 和 7。
在应用的 build 依赖项中为 Driver SDK for Android 指定版本,以便控制何时提高新版应用的最低支持操作系统。
v6.2.0(2025 年 6 月 18 日)
问题修复
- 修复了未提供
DriverStatusListener时调用DriverApi.createInstance()导致的NullPointerException崩溃问题。
依赖项和配置变更
从 Driver SDK for Android 6.2.0 版开始,应用必须升级到 Kotlin 2.1。
更新了 Navigation SDK 支持的版本范围,包括 v6.1.0 及更高版本。
v6.1.0(2025 年 3 月 10 日)
问题修复
- 改进了内部日志记录。
v5.99.1(2025 年 1 月 10 日)
问题修复
- 修复了以下问题:司机收到 gRPC 错误,错误代码为“INTERNAL”,并显示“Panic! This is a bug!”说明。
v6.0.0(2024 年 11 月 25 日)
问题修复
- 修复了以下问题:司机收到 gRPC 错误,错误代码为“INTERNAL”,并显示“Panic! This is a bug!”(这是一个 bug!)说明。
- 进行了内部改进,以减少位置信息更新连接错误,尤其是在设备切换网络时。集成发布版本后,此版本将逐步发布(从 0% 开始)。`
API 更新
- 移除了已废弃的接口
StatusListener。
依赖项和配置变更
- 移除 POM.xml 中对
glide:cronet-integration的依赖项 - 将 Navigation SDK 支持的版本范围更新为 v5.x。
- 从 Driver SDK for Android 6.0.0 版开始,应用必须升级到 Kotlin 2.0。
- targetSdk 现在为 API 级别 34。自 2024 年 8 月起,所有部署到 Google Play 商店的应用都必须满足此要求。请参阅满足 Google Play 的目标 API 级别要求。
v5.99.0(2024 年 9 月 20 日)
问题修复
- 修复了以下问题:司机收到 gRPC 错误,错误代码为“INTERNAL”,并显示“Panic! This is a bug!”(这是个 bug!)说明。集成发布版本后,系统会逐步发布(从 0% 开始)。
- 进行了内部改进,以减少位置信息更新连接错误,尤其是在设备切换网络时。集成发布版本后,此版本将逐步发布(从 0% 开始)。`
依赖项和配置变更
- 移除 POM.xml 中对
glide:cronet-integration的依赖项
v5.0.0(2023 年 9 月 12 日)
依赖项和配置变更
- 将 Navigation SDK 更新到了 v5.x。
- 将
minSdkVersion升级到了 API 23。 - 将 Kotlin 版本升级到了 1.9.0。
- 添加了对 Room 的依赖项。
* 使用 Driver SDK 的应用现在必须具有 API 31 或更高级别的
targetSdkVersion。 - 使用 Driver SDK 的应用现在必须启用 Java 8 库支持。如需查看更新说明,请访问 https://developer.android.com/studio/write/java8-support。
- 使用 Proguard 或 Dexguard 的应用必须迁移到 R8。如需了解详情,请参阅 https://developer.android.com/build/shrink-code。
- 使用 Driver SDK 的应用必须启用脱糖。如需查看相关说明,请参阅 https://developer.android.com/studio/write/java8-support#library-desugaring。
问题修复
- 修复了 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 日)
问题修复
缩短 SDK 遇到临时连接问题时的网络恢复时间。这是一项实验性修复。
舍弃仅包含“原始”位置信息的
UpdateVehicle个请求。修复了“路线概览”Alpha 版 API 中的竞态条件问题。
v4.4.1(2022 年 11 月 18 日)
问题修复
- 修复了流量上传逻辑中的 bug。
其他更改
- 对请求标头和状态代码报告进行了内部改进。
v4.4.0(2022 年 9 月 21 日)
问题修复
- 修复了以下问题:如果未清除 API 实例,则无法移除“正在使用 Google 地图驾车”通知。
依赖项变更
- 将 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)上运行的应用提供额外一年的支持。
这意味着:
- 在 2023 年 6 月 30 日之前,在 Android 应用上运行的 Navigation SDK 和 Driver SDK 将支持最低 Android 5(API 级别 21)。
- 2023 年 6 月 30 日之后,我们将仅支持 Android API 级别 23 及更高级别。 换句话说,在此日期之后,我们将停止在所有 SDK 版本中支持 Android API 级别 21 和 22。这意味着,任何 SDK 版本(包括 4.x)中与 Android 21 或 22 相关的 bug 都不会得到修复,并且我们不保证 SDK 会正常运行。
本通知将取代 2021 年 6 月 21 日发布的 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。旧属性目前仍然存在,但已被弃用。
v4.0.0(2021 年 11 月 29 日)
此版本支持的最低 Android API 级别为 23。
API 更新
对于此版本,Driver SDK for Android 已更新,并进行了以下更改。
VehicleStops API 变更
VehicleStop 对象现在引用 TaskInfo 对象列表,而不是 Task 对象列表。如果您需要 Task 状态,建议您在应用代码中跟踪该状态。
添加了新类:
TaskInfo将
VehicleStop的getTasks函数替换为getTaskInfoList函数。将
VehicleStop.Builder的setTasks函数替换为setTaskInfoList函数。
崩溃监控
添加了崩溃监控和报告功能,以帮助提高 SDK 稳定性。
此功能默认处于启用状态,但您可以在初始化 SDK 之前调用 setAbnormalTerminationReportingEnabled() 并向其传递值 false,以停用此功能。
- 向
DriverApi添加了setAbnormalTerminationReportingEnabled函数。
异步 getRemainingVehicleStops
- 将
DeliveryVehicleReporter的getRemainingVehicleStops函数更改为返回 Future<List<VehicleStop>>,而不是 List<VehicleStop>。
身份验证
从 AuthTokenContext 接口中移除了不必要的属性。
ServiceType 已弃用。现在,您只需获取所含车辆 ID 和任务 ID 的声明,而无需依赖 ServiceType。
已将
ServiceType从AuthTokenContext中移除。已将
getServiceType()从AuthTokenContext中移除。已将
setServiceType从AuthTokenContext.Builder中移除。
2021 年 10 月 18 日 - 冻结对 API 级别 23、24 和 25 的支持
阅读 10 月 18 日的公告
为应对内部依赖项的变化,从 2022 年第三季度开始,新版 Navigation SDK for Android 和 Driver SDK for Android 将不再支持 Android API 级别 23、24 和 25(Android 6、7.0 和 7.1)。
自 2022 年第三季度起发布的 Navigation SDK for Android 和 Driver SDK for Android 版本将仅支持搭载 Android API 级别 26 或更高级别的设备。
使用 Navigation and Driver SDK for Android 4.x 版或更低版本构建的应用版本将继续在搭载 Android API 级别 25 及更低版本的设备上运行。
v3.0.4(2021 年 7 月 28 日)
功能
在此版本中,Driver SDK 正式与 Navigation SDK 分离。如需了解详情,请参阅迁移指南。
API 更新
添加了以下方法:
`RidesharingDriverApi.getDriverSdkVersion()`提升了稳定性,并修复了一些问题
报告 PERMISSION_DENIED 错误,而不是将其归类为连接错误。
弃用公告(2021 年 6 月 21 日)
本公告介绍了自上述日期起,Driver SDK for Android 和 Navigation SDK for Android 的弃用情况。此公告也作为重要服务通知 (MSA) 发送给了受影响的客户。
Nav/Driver SDK for Android 将变为 Navigation SDK for Android v3.x 和 Driver SDK for Android v3.x(拆分二进制文件)
为了简化客户集成并加快我们提供实用功能的能力,我们将 Navigation SDK for Android 和 Driver SDK for Android 拆分为两个不同的二进制文件:
- Navigation SDK for Android,可为司机提供导航/路线规划功能。
- Driver SDK for Android,可让您利用 Fleet Engine 有状态 Web 服务来跟踪行程或任务进度以及进行分配。
请注意,Driver SDK for Android 必须依赖于 Navigation SDK for Android 才能实现核心路线规划功能。
具体变化
v3 中的主要变更如下:
- 两个二进制文件,而不是一个。
- 为 Driver SDK for Android 类提供了更清晰的软件包定义。
- Navigation SDK for Android 包含 Maps SDK for Android 作为打包的一部分(从 Navigation SDK for Android v2 开始)。
- 这样,地图和导航功能就可以在同一地图上共存(例如在 NavigationView 上绘制多段线),并且由于使用的是单个地图而不是两个地图,因此可以减少内存用量。
- Navigation SDK for Android 3.0 缺少 Navigation SDK for Android 的完整功能,但 v3.2 将解决此处的大多数问题。如需了解详情,请参阅我可以做什么以及何时可以做?
- 日志记录,以便我们更轻松地调试您可能遇到的问题。
以下方法也已在 v3 中移除,这些方法之前已被标记为已废弃,并且已有替代解决方案:
- 以下 Nav/Driver SDK 方法已在 2020 年 8 月 10 日发布的 v1.16 中弃用,并已在 v3.0 中移除:
Waypoint#fromLatLng(*)Waypoint#fromPlaceId(*)Navigator#startGuidance(resumeIntent)NavigationApi#initForegroundServiceManager(*)
- 为确保完整性和清晰度,请注意,在从 v1 过渡到 v2 的过程中,我们移除了许多方法。其中大多数是 Navigation SDK for Android 和 Maps SDK for Android 之间重复类的合并。请参阅迁移指南,更好地了解这些变更。
Driver SDK for Android 和 Navigation SDK for Android v1.x 弃用
Nav/Driver SDK v1 于 2018 年发布,随着 v3 版本即将发布,现在是时候弃用 v1 了,以免因支持多个主要版本而导致不可持续。
由于无需支持此额外版本,我们节省了时间,从而能够更好地支持最新的主要版本,并构建更多对客户重要的功能。
因此,Nav/Driver SDK v1.x 现已弃用,并且在 2022 年 6 月 21 日之后将不再维护。
请花点时间了解 SDK 版本弃用的运作方式。
Navigation SDK 和 Driver SDK Android 21 和 22 终止支持
朗读撤销公告
即将推出的 Navigation SDK for Android 和 Driver SDK for Android v4.0 将支持最低 [Android 6.0(API 级别 23)](https://developer.android.com/studio/releases/platforms#6.0){: .external}。目前支持的最低版本为 Android 5.0(API 级别 21)。我们预计将于 2021 年第 4 季度发布 v4.0。这意味着:
- 使用 v4.x 之前的版本构建的应用版本将继续在 Android 21 和 22 设备上运行。已集成我们当前 SDK 的司机应用将继续在搭载 Android 21 及更高版本的设备上运行。这与之前相同。
- 使用 Driver SDK for Android 和 Navigation SDK for Android v4.x(计划于 2021 年第 4 季度发布,可能会有变化)及更高版本构建的应用版本将无法安装在搭载 Android 21 和 22 的设备上。v4.x 将在最低 Android 6.0(API 级别 23)上运行,因此使用即将推出的 v4.x 构建的应用版本只能由搭载 Android 23+ 的设备的司机接收。重申一下,这意味着我们的 SDK 相关更改和您所做的任何应用更改都不会影响搭载 Android 21 和 22 的设备的司机。
下表说明了您需要升级到的 Navigation SDK for Android v3 和 Driver SDK for Android v3 的版本,以及这些版本的发布时间。
| 您使用的是哪些 Driver 平台功能? | 您是否使用这些功能? | 那么,您应该升级到的第一个可用版本是… | 预计上线时间 (可能会发生变化) |
迁移链接 |
|---|---|---|---|---|
| 仅限导航 (NavSDK 方法) |
否 | NavSDK v3.0.1 | 现在 | 指南 |
| 是 | NavSDK v3.5(预计) | 2021 年 9 月 | ||
| 导航和 Fleet Engine 跟踪(NavSDK 和 DriverSDK 方法) | 否 | Nav SDK v3.0 和 Driver SDK v3.0 | 发布时提供驱动程序 v3.0 迁移指南 | |
| 是 | NavSDK v3.x 和 DriverSDK v3.0 |
如需继续使用已移除的方法,您可以继续使用 v1.x,但在 2022 年 6 月 21 日之后,您将无法获得支持或维护(请参阅下一部分)。
我们建议您迁移到 v3.x。这意味着:
* v1.x 的最后一个版本将于 2021 年第 4 季度发布(因此 v1 从那时起“功能冻结”)。
* 此最终版本可在其后的 6 个月内(即 2022 年 6 月 21 日之前)进行修补。 在此之后,我们将无法再响应针对 v1.x 的 bug 或功能请求。
请抽空查看下表和 [迁移指南](/maps/documentation/navigation-sdk-android/v2/migration),以便顺利应对这些变化。
我可以在什么时间之前做什么?
| 如果您目前使用的是… | 您是否使用这些功能? | 立即升级 | 将于 2021 年 9 月升级 | 迁移链接 |
|---|---|---|---|---|
| v1.x (不使用 FleetEngine.java/Driver 功能) |
否 | NavSDK v3.0 | 指南 | |
| 是 | 无选项 | NavSDK 3.x | ||
| v1.x (使用 FleetEngine.java/司机功能) |
否 | 无选项 | NavSDK 3.x + DriverSDK 3.x |
上述指南,以及发布时提供的 Driver v3.0 迁移指南。 |
| 是 | ||||
我们建议您通知使用 Android 21 和 22 设备的司机升级到更高版本的 Android(最低 Android 6.0),然后再将 Driver SDK for Android 和 Navigation SDK for Android v4.x 及更高版本集成到司机应用中。
v1.15.3(2020 年 10 月 9 日)
API 更新
- Driver SDK 现在会订阅 Navigation SDK 以获取路况更新,这些更新会发送到 Fleet Engine API。
提升了稳定性,并修复了一些问题
- 修复了 gRPC 运行时崩溃问题。
v1.15.2
功能
添加了停止常驻通知的功能。如果 Fleet Engine 实例中停止了位置报告,则 Navigator 中的导航指引会停止,所有导航监听器都会取消注册,并且 NavigationFragment 或 NavigationView 会暂停。
提升了稳定性,并修复了一些问题
- 修复了在 Fleet Engine 实例被清除时导致抛出异常的 bug。
v1.15.1(2020 年 5 月 12 日)
功能
对 1.15.0 数据的初步分析表明,稳定位置报告(减少“卡住”的位置)有了显著改进。此补丁修复可让改进后的位置信息报告功能继续运行。ANR 问题与这些改进无关。
提升了稳定性,并修复了一些问题
- 修复了有时会导致在消费者应用中显示路线开头直线的问题。
- 修复了 SDK 报告位置信息时可能导致 ANR 的 bug。这是因为
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()方法的 Java 文档,目的是不鼓励相对于所用间隔以高频率重复调用此方法。 - 提高了 API 29 位置信息的可靠性。
v1.13.0
提升了稳定性,并修复了一些问题
- 添加对 okhttp 的依赖项,客户端必须将其添加到其 gradle build 中。
v1.11.7(2019 年 10 月 18 日)
提升了稳定性,并修复了一些问题
- 现在,在针对给定目的地触发
onArrival()后,位置信息更新会继续。 - 默认通知(自由导航模式下的常量字符串)与为导航通知设置的配色方案一致。如需了解详情,请参阅共享的常驻通知。
- 解决了以下问题:延迟的位置信息更新事件可能会导致虚假的位置信息更新,从而导致出现诸如路线开头出现直线等伪影。
v1.11.6(2019 年 10 月 4 日)
API 更新
- 引入了一系列更改,以确保 Driver SDK 在网络故障后快速恢复位置信息更新。网络连接恢复后,位置信息更新会在下一个预定的位置信息更新时间重新开始。
提升了稳定性,并修复了一些问题
setVehicleState()现在会立即返回。现在,FleetEngine 的更新在后台线程中进行。解决了应用无响应 (ANR) 问题。- 修复了导致行程分享路线在使用旧版 Consumer SDK 时显示为直线的问题。确保 Driver SDK 不会向路线添加一次性航点。