設(shè)置
  • 日夜間
    隨系統(tǒng)
    淺色
    深色
  • 主題色

Android 車機(jī)初體驗(yàn):Auto,Automotive 傻傻分不清楚?

TechMerger 2022/10/17 20:02:54 責(zé)編:遠(yuǎn)生

作為手機(jī)行業(yè)的一貫對手 Google 亦在車機(jī)上早有布局,包括 Android Auto 和 Automotive。雖推出已有數(shù)年,但中國開發(fā)者還很陌生,今天讓我們來簡單了解一下。

Android Automotive OS, AAOS

Android Automotive OS 簡稱 AAOS,是擴(kuò)展自 Android OS 的操作系統(tǒng)、直接基于車載硬件運(yùn)行。和 Android 一樣是一個(gè)可定制程度非常高的全棧開源平臺。

在電動車大浪潮下,可為車企的信息娛樂體驗(yàn)提供強(qiáng)大的技術(shù)支持。同時(shí)為了兼容性考慮,AAOS 支持專為 Android 打造的應(yīng)用,以及專為 Android Auto 打造的應(yīng)用。

Android VS Android Auto VS AAOS

Auto 和 Automotive 的命名比較相似,貌似分不清楚,實(shí)則區(qū)別非常明顯。

首先,Android Auto 不是 OS。它是集成在 Android OS 里的 feature。當(dāng)通過 USB、Wi-Fi 將 Android Phone 連接到支持 Android Auto 的車機(jī)上后,Android OS 將自動加載支持 Auto 模式下的 App 并將圖像投屏到車機(jī)屏幕上。

跟 CarPlay 一樣,其本質(zhì)上是投屏。Phone 提供計(jì)算、渲染,車機(jī)只是 Display,Display 和按鍵回傳 Input 的事件,Phone 處理好之后將新的幀數(shù)據(jù)回傳進(jìn)行 Display。

而 Android Automotive 是 OS,其歸屬于 AOSP 項(xiàng)目,代碼也在 Android OS 之中。在編譯的時(shí)候選擇 automotive 的編譯 target 即可生成車載機(jī)使用的 AAOS。

它支持加載 Android Auto 的 App,即將 Android Phone 和 AAOS 車機(jī)仍舊能像 Android Auto 一樣使用。同時(shí)支持 Android OS 的 App,即使不適配車載機(jī)亦能運(yùn)行在 AAOS 上。這可能也是主流互聯(lián)網(wǎng) App 無意適配 AAOS 的部分原因,同時(shí)導(dǎo)致適配車機(jī) UI 的任務(wù)落到了車企身上。

Android EcoWhatTargetCompativity
AndroidOSPhoneAndroid App
Android AutoPlatformPhone when connected to
Car supported Auto
Android App supported Auto
AAOSOSCarAndroid + Auto + AAOS App

Develop Apps for Android Cars

模擬器

車機(jī)資源比較寶貴、稀少,很難像手機(jī)、平板設(shè)備一樣非常便捷地在真機(jī)上開發(fā)和測試,而模擬器則是比較好的選擇。Google 和車企都有相應(yīng)的 AAOS Image 可供創(chuàng)建模擬器。

Generic AOSP Image

官方說 9.0 公開了 AAOS Image,打開 AS 的 SDK Manager 頁面反復(fù)刷新和嘗試都沒有出現(xiàn)官方的 Image Item。偶然間還會出現(xiàn)如下的錯誤:

No System Images available. Are you connected to the internet?

即基于未知原因官方暫時(shí)下架了 AAOS 的 Image。

OEM Image

好在 Volvo 及旗下的 Polestar 作為最早開發(fā) Android Automotive 車機(jī)的車企,對外公開了 Image。雖不支持 ARM 架構(gòu),可以在 PC 上安裝體驗(yàn)。

在 SDK Manager 的 SDK Update Sites 頁面可以添加如下的 Url 來添加 Volvo 的站點(diǎn)。

https://developer.volvocars.com/sdk/volvo-sys-img.xml

添加好了之后,可以再次打開 SDK Manager 頁面,就可以在 SDK Platforms 頁面看到 Volvo 的 Image 了。

Check 之后會自動下載,像手機(jī) Image 一樣方便的創(chuàng)建 Automotive 車機(jī)模擬器。

啟動之后,可以看到整體界面:

除了 Drawer、Video、座椅、空調(diào)等 Icon 以外還有 Map、BT、Google Assistant 這幾個(gè)常用 App。

點(diǎn)擊 Assistant App 可以進(jìn)行語音操作:

點(diǎn)擊抽屜按鈕,可以看到除了 Map、BT、Google Assistant 還可以看到 Google Play、Car 使用說明這幾個(gè) App。

Car 使用說明 App 的截圖:

Polestar2 車型也對外公開了 Image,像上面一樣添加如下的 Url 即可創(chuàng)建其模擬器。

https://developer.polestar.com/sdk/polestar2-sys-img.xml

不愧是一家的,界面和 Volvo 差不多,Launcher 的布局由列表布局改成了四宮格。

其他也有車企采用了 AAOS,比如 Honda,只是沒有公開。

Develop Apps

接下來就可以開發(fā)針對 AAOS 的 App 了,官方提供了 Car 相關(guān)的 SDK 供我們開發(fā),即 Android for Cars App Library。為了兼容非 Car 的設(shè)備集成到了 AndroidX 中。

另外提供了針對導(dǎo)航等幾個(gè)場景提供了開發(fā) Sample:

https://github.com/android/car-samples

這些 Sample 的優(yōu)勢在于,其兼顧了 Phone 和 Automotive 兩種開發(fā)場景。將 App 共通的 Car 部分放置在 Common Module 里,各自的邏輯放在獨(dú)立的 Module 中。

好處是編譯 Phone Task 的話生成的 Apk 安裝在 Phone 上,當(dāng)其進(jìn)入 Android Auto 模式之后會自動加載 Common 里的 Car 邏輯。而編譯到 Automotive 的 Apk 可直接運(yùn)行在 AAOS 上,以執(zhí)行 Common 邏輯和特有的 Car 邏輯。

有點(diǎn)需要注意的是該 Sample 的 Gradle 和 AGP 版本需要升級到最新,才能編譯通過。

Phone 運(yùn)行到 Auto

可以利用 DHU 將手機(jī)轉(zhuǎn)為 Android Auto 模式,這樣的話就可以測試 App 的 Auto 模式下的表現(xiàn)。

Automotive 運(yùn)行在 AAOS

Automotive 的 Sample Apk 運(yùn)行到 Volvo 和 Polestar2 模擬器中都是如下結(jié)果,貌似無法正常使用。

經(jīng)過日志排查和文檔確認(rèn)發(fā)現(xiàn) Sample 依賴了 Car 中最新的特性,需要 AAOS 去下載和安裝最新版的 Google Automotvie App Host Apk。

可是遇到如下問題,無法安裝:

該 App 需要 11 及以上的 AAOS 系統(tǒng),而 Volvo 和 Polestar2 公開的最新的版本都是 10

該 App 在 APK Downloader 等網(wǎng)站上均無法直接下載

Volvo 的 AAOS Emulator 上 GooglePlay 無法連接網(wǎng)絡(luò)

adb shell am start -n com.android.vending/com.google.android.finsky.carmainactivity.MainActivity

參考文檔

  • Android Auto:https://www.android.com/auto/

  • 支持 Android Auto 的設(shè)備:https://www.android.com/ auto / compatibility/#compatibility-vehicles

  • Android Automotive:https://source.android.google.cn/devices/automotive?hl=zh-cn

  • 測試 Android 車載應(yīng)用:https://developer.android.google.cn/ training / cars / testing?hl=zh-cn

  • test-automotive-os:https://developer.android.google.cn/training/cars/testing#test-automotive-os

  • Car Library:https://developer.android.google.cn/reference/androidx/car/app/package-summary

本文來自微信公眾號:TechMerger (ID:ELC-XTLS-QSW),作者:小蝦米君

廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。

相關(guān)文章

關(guān)鍵詞:模擬器,車機(jī)google

軟媒旗下網(wǎng)站: IT之家 最會買 - 返利返現(xiàn)優(yōu)惠券 iPhone之家 Win7之家 Win10之家 Win11之家

軟媒旗下軟件: 軟媒手機(jī)APP應(yīng)用 魔方 最會買 要知