Android 版 Driver SDK 版本資訊

本節包含 Android 版 Driver SDK 的版本資訊。

公告:停止支援 API 級別 23、24 和 25

根據行動作業系統版本支援政策,我們將在即將推出的 Android 版 Driver SDK 主要版本中,停止支援 Android 6 和 7 (API 級別 23、24 和 25)。

自 2025 年第四季起,Android 版 Driver SDK 發布的版本將支援 Android 8 (API 級別 26) 以上版本。舊版 SDK 會繼續支援 Android 6 和 7。

如果依附元件未指定版本號碼,IDE 會載入最新版 SDK,而應用程式的新建構版本將不支援 Android 6 和 7。

在應用程式的建構依附元件中指定 Android 適用的 Driver SDK 版本,即可控管何時提高新版應用程式支援的最低作業系統版本。

v6.2.0 (2025 年 6 月 18 日)

修正錯誤

  • 修正在未提供 DriverStatusListener 的情況下呼叫 DriverApi.createInstance() 時,NullPointerException 異常終止的問題。

依附元件和設定變更

  • 從 Android 適用的 Driver SDK 6.2.0 版開始,應用程式必須升級至 Kotlin 2.1。

  • 更新了支援的 Navigation SDK 版本範圍,包括 6.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!" 說明。
  • 進行內部改善,減少位置資訊更新連線錯誤,尤其是在裝置切換網路時。整合版本後,系統會逐步推出這項功能 (從 0% 開始)。

API 更新

  • 移除已淘汰的 StatusListener 介面。

依附元件和設定變更

  • 在 POM.xml 中移除 glide:cronet-integration 的依附元件
  • 更新 Navigation SDK 支援的版本範圍至 5.x 版。
  • 從 Android 適用的 Driver SDK 6.0.0 版開始,應用程式必須升級至 Kotlin 2.0。
  • 目標 SDK 現在是 API 級別 34。自 2024 年 8 月起,所有部署至 Google Play 商店的應用程式都必須遵守這項規定。請參閱「符合 Google Play 的目標 API 級別規定」。

v5.99.0 (2024 年 9 月 20 日)

修正錯誤

  • 修正問題:驅動程式收到 gRPC 錯誤,錯誤代碼為「INTERNAL」,且「Panic! 「這是蟲蟲!」說明。整合版本後,系統會逐步推出這項功能 (從 0% 開始)。
  • 進行內部改善,減少位置資訊更新連線錯誤,尤其是在裝置切換網路時。整合版本後,系統會逐步推出這項功能 (從 0% 開始)。

依附元件和設定變更

  • 在 POM.xml 中移除 glide:cronet-integration 的依附元件

v5.0.0 (2023 年 9 月 12 日)

依附元件和設定變更

  • Navigation SDK 已更新至 5.x 版。
  • 已將 minSdkVersion 升級至 API 23。
  • Kotlin 版本升級至 1.9.0。
  • 已新增 Room 的依附元件。* 使用 Driver SDK 的應用程式現在必須採用 targetSdkVersion API 31 以上版本。
  • 使用 Driver SDK 的應用程式現在必須啟用 Java 8 程式庫支援。如需更新操作說明,請參閱 https://developer.android.com/studio/write/java8-support。
  • 使用 Proguard 或 Dexguard 的應用程式必須遷移至 R8。詳情請參閱 https://developer.android.com/build/shrink-code。
  • 使用 Driver SDK 的應用程式必須啟用 desugaring。如需操作說明,請參閱 https://developer.android.com/studio/write/java8-support#library-desugaring。

修正錯誤

  • 修正 disableLocationTracking 同步處理問題。
  • 導入新的 DriverStatusListener 介面,可在例外狀況狀態更新中回報原因。
  • 修正駕駛人保持靜止不動的問題 (自 4.99.0 版起適用)。

v4.99.0 (2023 年 8 月 9 日)

  • 支援 NavSDK 依附元件的一系列版本。** 支援 4.5.0 版至 5.0.0 版 (不含 5.0.0 版)。
  • 防止車輛靜止時預計抵達時間自行縮短。這項變更會以實驗形式逐步推出,因此並非所有應用程式都會同時看到這項變更。

4.5.0 版 (2023 年 5 月 12 日)

  • 將 Navigation SDK 依附元件更新至 4.5 版。請注意,Navigation SDK 的群組和構件 ID 已變更。

v4.4.3 (2023 年 3 月 20 日)

依附元件變更

  • 將 Navigation SDK 依附元件升級至 4.4.1 版。

v4.4.2 (2023 年 2 月 15 日)

修正錯誤

  • 如果 SDK 遇到暫時性的連線問題,可縮短網路復原時間。這項修正仍在實驗階段。

  • 捨棄只包含「原始」位置資訊的 UpdateVehicle 要求。

  • 修正「路徑總覽」Alpha 版 API 中的競爭狀況。

4.4.1 版 (2022 年 11 月 18 日)

修正錯誤

  • 修正流量上傳邏輯中的錯誤。

其他異動

  • 內部改善要求標頭和狀態碼回報功能。

v4.4.0 (2022 年 9 月 21 日)

修正錯誤

  • 修正錯誤:如果 API 執行個體未清除,「使用 Google 地圖開車」通知就無法移除。

依附元件變更

  • 將 Navigation SDK 依附元件升級至 4.2.2 版。

v4.3.0 (2022 年 8 月 24 日)

內部改善。

公告:停止支援 Android 5 (2022 年 7 月 21 日)

在最新版 SDK (4.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 相關的錯誤都不會修正,我們也不保證 SDK 能正常運作。

這項通知會取代 2021 年 6 月 21 日發布的 Android 21 和 22 支援凍結通知,以及 2021 年 10 月 18 日發布的 Android 23、24 和 25 支援凍結通知。

v4.2.0 (2022 年 6 月 8 日)

依附元件變更

  • 將 Nav SDK 依附元件升級至 4.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 版 Driver SDK 已更新,包含下列變更。

VehicleStops API 異動

VehicleStop 物件現在會參照 TaskInfo 物件清單,而非 Task 物件清單。如需工作狀態,建議您在應用程式程式碼中追蹤。

監控當機情形

新增當機監控和回報功能,協助提升 SDK 穩定性。 這項功能預設為啟用,但如果您在初始化 SDK 前呼叫 setAbnormalTerminationReportingEnabled() 並傳遞 false 值,即可停用這項功能。

Async getRemainingVehicleStops

驗證

已從 AuthTokenContext 介面中移除不必要的屬性。ServiceType 已淘汰。現在您只需要取得所含車輛 ID 和工作 ID 的聲明,不必再依賴 ServiceType

2021 年 10 月 18 日 - 停止支援 API 級別 23、24 和 25

閱讀 10 月 18 日公告

因應內部依附元件的變更,自 2022 年第三季起,新版 Android 版 Navigation 和 Driver SDK 將不再支援 Android API 級別 23、24 和 25 (Android 6、7.0 和 7.1)。

自 2022 年第三季起,Android 版 Navigation 和 Driver SDK 僅支援執行 Android API 級別 26 以上的裝置。

以 Android 適用的 Navigation 和 Driver SDK 4.x 以下版本建構的應用程式版本,仍可在搭載 Android API 級別 25 以下版本的裝置上運作。

3.0.4 版 (2021 年 7 月 28 日)

功能

這個版本正式將 Driver SDK 從 Navigation SDK 中分離出來。詳情請參閱遷移指南

API 更新

新增了下列方法:

`RidesharingDriverApi.getDriverSdkVersion()`

提升穩定性並修正錯誤

回報 PERMISSION_DENIED 錯誤,而不是將其歸類為連線錯誤。

淘汰公告 (2021 年 6 月 21 日)

這份公告說明自上述日期起,Android 版 Driver SDK 和 Android 版 Navigation SDK 的淘汰項目。我們也已向受影響的客戶發送重大服務公告 (MSA)。

為簡化客戶整合程序,並加快提供實用功能的速度,我們將 Navigation SDK for Android 和 Driver SDK for Android 分成兩個不同的二進位檔:

  • Android 版 Navigation SDK,可為駕駛人提供導航/路線規劃功能。
  • Android 適用的 Driver SDK,可讓您運用 Fleet Engine 有狀態的網路服務,掌握行程或工作進度和分配情形。

請注意,Android 版 Driver SDK 必須依附於 Android 版 Navigation SDK,才能提供核心路徑規劃功能。

異動內容

v3 的主要異動如下:

  • 兩個二進位檔,而非一個。
  • Android 類別的 Driver SDK 套件定義更清楚。
  • Navigation SDK for Android 包含 Maps SDK for Android,是封裝的一部分 (自 Navigation SDK for Android v2 起)。
    • 這項功能可讓地圖和導航功能共存於同一張地圖上 (例如在 NavigationView 上繪製折線),並減少記憶體用量,因為系統只會使用一張地圖,而不是兩張。
    • Navigation SDK for Android 3.0 版的功能與 Navigation SDK for Android 相比仍有不足,但 3.2 版將解決大部分問題。詳情請參閱「我可以做什麼?何時可以做?」。
  • 記錄功能,方便我們偵錯您可能遇到的問題。

下列方法也已在第 3 版中移除,先前已標示為淘汰,且已有替代解決方案:

  • 下列 Nav/Driver SDK 方法已於 2020 年 8 月 10 日發布的 1.16 版中淘汰,並在 3.0 版中移除:
    • Waypoint#fromLatLng(*)
    • Waypoint#fromPlaceId(*)
    • Navigator#startGuidance(resumeIntent)
    • NavigationApi#initForegroundServiceManager(*)
  • 為求完整和清楚,請注意,從 v1 遷移至 v2 時,系統移除了多種方法。其中大多數是為了整合 Navigation SDK for Android 和 Maps SDK for Android 之間的重複類別。請參閱遷移指南,進一步瞭解這些異動。

Android 版 Driver SDK 和 Android 版 Navigation SDK 1.x 版已淘汰

導覽/駕駛人 SDK 第 1 版於 2018 年發布,第 3 版也即將推出,因此我們決定停用第 1 版,避免支援多個主要版本而造成資源浪費。

不必支援這個額外版本後,我們就能節省時間,進而為最新主要版本提供更完善的支援,並建構對客戶而言更重要的功能。

因此,我們已淘汰 Nav/Driver SDK 1.x 版,並於 2022 年 6 月 21 日後停止維護。

請花點時間瞭解各 SDK 版本的淘汰程序

閱讀撤銷公告

即將推出的 Android 版 Navigation SDK 4.0 和 Android 版 Driver 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 以上版本的裝置上仍可正常運作,與先前相同。
  • 使用 Driver SDK for Android 和 Navigation SDK for Android 4.x 版 (預計於 2021 年第 4 季推出,實際情況可能有所變動) 建構的應用程式版本,將無法安裝在搭載 Android 21 和 22 的裝置上。4.x 版的最低 Android 版本為 6.0 (API 級別 23),因此使用即將推出的 4.x 版建構的應用程式版本,只能由搭載 Android 23 以上版本的裝置接收。換句話說,我們的 SDK 相關變更和您所做的任何應用程式變更,都無法傳送給搭載 Android 21 和 22 的裝置。

下表說明您要升級的 Navigation SDK for Android v3 和 Driver SDK for Android v3 版本,以及這些版本何時推出。

你使用哪些 Driver 平台功能? 你是否使用這些功能 接著,您應該升級至下列第一個可用版本: 預計推出時間
(可能異動)
遷移連結
僅限導航
(NavSDK 方法)
導航 SDK 3.0.1 版 現在 使用指南
NavSDK 3.5 版 (預計) 2021 年 9 月
導覽和 Fleet Engine 追蹤 (NavSDK 和 DriverSDK 方法) 導航 SDK 3.0 版和 Driver SDK 3.0 版 發布時提供 Driver 3.0 版遷移指南
NavSDK v3.x 和 DriverSDK v3.0

如要繼續使用已移除的方法,可以保留在 1.x 版,但 2022 年 6 月 21 日後,我們不會提供支援或維護服務 (請參閱下一節)。

建議您改用 3.x 版。也就是說:

* v1.x 的最新版本將於 2021 年第 4 季發布 (因此 v1 會從那時起「凍結功能」)。

* 這個最終版本在 2022 年 6 月 21 日前,仍可修補 6 個月。 之後,我們將無法回覆 v1.x 的錯誤或功能要求。

請花點時間詳閱下表和 [遷移指南](/maps/documentation/navigation-sdk-android/v2/migration),瞭解這些異動。

我可以在何時完成哪些事項?

如果你目前使用... 你是否使用這些功能 立即升級 2021 年 9 月升級 遷移連結
v1.x
(未使用 FleetEngine.java / 駕駛人功能)
NavSDK 3.0 版 使用指南
沒有選項 NavSDK 3.x
v1.x
(使用 FleetEngine.java / Driver 功能)
沒有選項 NavSDK 3.x +
DriverSDK 3.x
上述指南,以及發布時提供的 Driver 3.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 會停止提供指引、取消註冊所有導覽事件監聽器,並暫停 NavigationFragmentNavigationView

提升穩定性並修正錯誤

  • 修正了清除 Fleet Engine 執行個體時,導致系統擲回例外狀況的錯誤。

v1.15.1 (2020 年 5 月 12 日)

功能

初步分析 1.15.0 版的資料後,我們發現穩定位置回報功能有顯著改善 (減少「卡住」的位置)。這個修補程式可讓您繼續使用改良版的位置資訊報表。ANR 問題與這些改善措施無關。

提升穩定性並修正錯誤

  • 修正錯誤:有時消費者應用程式會在路線開頭顯示直線。
  • 修正錯誤:SDK 回報位置資訊時可能導致 ANR。這是因為 onArrival() 改善項目容易發生鎖定爭用情形。我們在某些情況下能穩定重現 ANR,並驗證修正檔已解決問題。修正後,修改過的測試應用程式執行了八小時,期間未發生 ANR。

v1.15.0 (2019 年 3 月 23 日)

功能

  • 在開始、偏離路線和抵達事件中導入導航指引狀態,以提升車輛位置追蹤功能。
  • 新增功能:無論導航狀態為何,都能持續取得道路對齊位置資訊。
  • 新增路徑比對前的位置資訊,例如準確度。

提升穩定性並修正錯誤

  • 將 navsdk 的 minSdkVersion 提高至 19。
  • 修正錯誤:伺服器端反向地理編碼失敗時,系統不會採用緯度/經度航點名稱。

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

功能

  • 防止 DriverSDK 將 0,0 位置資訊傳送至 Fleet Engine (改善行程分享和分配位置輸入)。
  • 新增記錄功能,改善位置資訊停滯問題,並減少行程分享功能的回溯次數。
  • 除非間隔變更,否則請忽略對 setLocationReportingInterval() 的重複呼叫。
  • 更新 setReportingInterval() 方法的 Javadoc,目的是避免以相對於所用間隔的高速率重複呼叫這個方法。
  • 改善 API 29 的定位可靠性。

v1.13.0

提升穩定性並修正錯誤

  • 新增 okhttp 的依附元件,用戶端必須將其新增至 gradle 建構作業。

v1.11.7 (2019 年 10 月 18 日)

提升穩定性並修正錯誤

  • 現在,系統會在特定目的地的 onArrival() 觸發後,繼續更新位置資訊。
  • 預設通知 (在 Free Nav 模式下為常數字串) 會與導航通知設定的色彩配置相符。詳情請參閱「共用持續性通知」。
  • 修正問題:延遲的位置資訊更新事件可能會導致錯誤的位置資訊更新,進而造成路線開頭出現直線等異常情況。

v1.11.6 (2019 年 10 月 4 日)

API 更新

  • 推出一系列變更,確保 Driver SDK 在網路連線中斷後,能快速恢復位置資訊更新。網路連線恢復後,系統會在下次排定的位置資訊更新時間再次更新位置資訊。

提升穩定性並修正錯誤

  • setVehicleState() 現在會立即傳回。更新 FleetEngine 現在會在背景執行緒上進行。修正應用程式無回應 (ANR) 問題。
  • 修正問題:使用舊版 Consumer SDK 時,行程分享路線會顯示為直線。確保 Driver SDK 不會將一次性航點新增至路線。