有在關注的應該都知道,之前Google Auto是只能支援音樂還有電台類型之類的功能而已,不開放停車或者導航等等的功能的,今天認真地找了一下發現,Google偷偷的拋出了Beta 版本的說明文件
官方Blog
https://android-developers.googleblog.com/2020/10/introducing-android-for-cars-app-library.html
官方文件
關於DHU Testing
而現在版本的DHU也支援了多螢幕的功能,圖片來自於blog
似乎只要加入
dependencies {
implementation 'com.google.android.libraries.car:car-app:1.0.0-beta.1'
}
然後定義上Service Define + Intent filter
<application>
...
<service
...
android:name=".MyCarAppService"
android:exported="true">
<intent-filter>
<action android:name="com.google.android.car.action.CAR_APP"/>
<action android:category="com.google.android.car.category.PARKING"/>
</intent-filter>
</service>
...
<application>
可以看到有Parking (如果你要開發一個尋找停車位的功能),Navigation(導航軟體) 等等,com.google.android.car.category.CHARGING(找充電站)
而注意他最低支援就是sdk23(也就是Android 6.0)
其他的部分個人也還沒實際測試過,等實作後再補上詳細的實作心得.
官方推薦需要知道的UI Guideline
目前要跑sample發現一些問題,
- 可以到github下載他的sample
- https://github.com/android/car-samples/tree/master/Auto/car_app_library
但目前跑他的模擬環境,發現Android Auto都會無法啟動
Android Auto — Desktop Head Unit
Build: 2020–09–20–332761970
Version: 2.0-windows-beta
[W]: No configuration specified — using default values.
[E]: Could not load configuration from ‘C:\Users\name\.android\headunit.ini’.
BoringSSL is the SSL implementation used in the receiver-lib.
Starting link. Requested protocol version: 1.6 (snapshot 314970161)
[I]: Connecting over ADB to localhost:5277…
[E]: failed.
[E]: Remember to start the “Head Unit Server” and run:
adb forward tcp:5277 tcp:5277
[E]: Failed to start Google Automotive Link.
不知道是不是這個問題
[E]: Could not load configuration from ‘C:\Users\name\.android\headunit.ini’.
或是會顯示正在移動車輛,會在停止時候才能進行設定
10/20 找到奇妙的解決方法
因為看到hdu.exe 有參數,本來只是玩玩看,沒想到只要先執行(h 是 無UI的模式)
desktop-head-unit.exe -h
然後再結束,重新執行一次
desktop-head-unit.exe
就可以正常使用了!!
執行模擬器可以執行的一些指令
desktop-head-unit.exe 中輸入 help
可以看到一些指令,quit / exit / dpad 0 / keycode endcall等等
一些其他問題的討論串
有提到是否是硬體的煞車模式沒關閉
更新
今天又重新測試了一次,突然就正常了
應該會看到這樣比較詳細的資訊
裝了sample的導航功能可以看到
會有一個demo的畫面
在車機上進行搜尋的時候,他會提示你用手機的鍵盤輸入
multi-touch
Hello World Sample
show case
Loading demo
Navigation Demo
Arrive Demo
Junction Image Demo
Route Preview
Place List Demo
Navigation Template with map only Demo
notification demo
Content provider icon demo
Color Text
Pane Template Demo
Message Template Demo
Search Template Demo
Pre-seed the Screen backstack on next run Demo
Go-to-phone Demo
Rows with Text and Icons Demo
以上就是所有Demo的畫面.
如何測式裝置
Android Auto可以透過下載模擬顯示器的方式,在電腦上執行,可以參考官網
比較特別要提到的是,目前無法在實體硬體上執行自己開發的APP,除了兩個方法
- 透過Google Play進行內部發布,這不需要審核就可以透過這樣的方式在實體裝置上執行
- 透過正常的release流程,經過Google審核後就可以在上面執行(費話) XD
目前聽起來是不能直接手機接著進行實體機器的開發
如何測式不同的模器裝置外觀行為
可以透過載入不同config.ini的方式去讓模擬器長的不同
./desktop-head-unit -c /path/to/config.ini
而sdk內也預設有幾個config ini的檔案可以使用
rotary.ini
是只能透過車上的可旋轉式的控制鈕來控制
all_720p.in
就是會有所有的功能
值得一提的是,其實auto會有多螢幕或者額外的hud模式螢幕,
又稱為 instrumentcluster or navcluster or phonecluster,會讓主畫面外還有額外的資訊可以顯示.
Widget
這邊有提到一些widget的顯示,但卻沒說怎麼進行開發?
Notification
Widget placement on wide screen
輸入方式
而輸入方式有三種
- 電容式螢幕
- 電阻式螢幕
- 迴轉式控制項
Custom-Apps
Simple-layou
官方的導航設計Guideline pdf
補充
有趣的是,在這之前似乎有人從Waze中抽出使用的sdk,然後上架到github變成sdk,不過被google要求將sdk下架了,可以看到有人成功的將youtube放進android auto中,但最後sdk是被下架的。