本部分包含 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
。旧版 属性,但已被弃用。
v4.0.0(2021 年 11 月 29 日)
此版本支持的最低 Android API 级别为 23。
API 更新
在此版本中,Android 版驱动程序 SDK 已更新,包含以下内容: 更改。
VehicleStops API 更改
VehicleStop
对象现在会引用
TaskInfo
对象的列表,而不是
Task
对象的操作。如果您需要任务状态
那么我们建议您在应用代码中对其进行跟踪
已添加新课程:
TaskInfo
已将
VehicleStop
的getTasks
函数替换为getTaskInfoList
函数。已将
VehicleStop.Builder
的setTasks
函数替换为setTaskInfoList
函数。
崩溃监控
添加了崩溃监控和报告功能,以帮助提升 SDK 的稳定性。
此功能默认处于启用状态,不过如果您调用
setAbnormalTerminationReportingEnabled()
并向其传递值 false
然后再初始化 SDK。
- 添加了
setAbnormalTerminationReportingEnabled
更改为DriverApi
。
异步 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 日的公告
为了应对内部依赖项的变化,根据 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 更新
添加了以下方法:
RidesharingDriverApi.getDriverSdkVersion()
稳定性和问题修复
报告 PERMISSION_DENIED
个错误,而不是将其分类
出现连接错误。
弃用公告(2021 年 6 月 21 日)
本公告介绍了 Driver SDK for Android 的弃用情况 和 Navigation SDK for Android。 此通知也是以重要服务通告 (MSA) 的形式发出的。 受影响的客户
适用于 Android 的导航/驱动程序 SDK 将变为适用于 Android 的 Navigation SDK v3.x 和适用于 Android 的驱动程序 SDK v3.x(拆分二进制文件)
为了简化客户集成,并加快我们交付实用 我们将导航 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 中移除:
<ph type="x-smartling-placeholder">
- </ph>
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 版本废弃机制的运作机制。
停止支持 Navigation 和 Driver SDK Android 21 和 22
阅读已撤消的通知
即将推出的 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, 预计在 2022 年 6 月 21 日之后获得支持或维护(请参阅下一部分)。
我们建议您迁移到 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
中停止,
所有导航监听器均已取消注册,并且 NavigationFragment
或 NavigationView
已暂停。
稳定性和问题修复
- 修复了在清除 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 添加到路线中。