自動車向けアプリ
最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
---|---|---|---|---|
2022 年 3 月 23 日 | 1.1.0 | 1.2.0-rc01 | - | - |
依存関係の宣言
Car App Library への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。
アプリまたはモジュールの build.gradle
ファイルに、必要なアーティファクトの依存関係を追加します。
Groovy
dependencies { implementation "androidx.car.app:app:1.1.0" // For Android Auto specific functionality implementation "androidx.car.app:app-projected:1.1.0" // For Android Automotive specific functionality implementation "androidx.car.app:app-automotive:1.1.0" // For testing testImplementation "androidx.car.app:app-testing:1.2.0-rc01" }
Kotlin
dependencies { implementation("androidx.car.app:app:1.1.0") // For Android Auto specific functionality implementation("androidx.car.app:app-projected:1.1.0") // For Android Automotive specific functionality implementation("androidx.car.app:app-automotive:1.1.0") // For testing testImplementation("androidx.car.app:app-testing:1.2.0-rc01") }
依存関係について詳しくは、ビルド依存関係の追加をご覧ください。
フィードバック
お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。
詳細については、Issue Tracker のドキュメントをご覧ください。
バージョン 1.2
バージョン 1.2.0-rc01
2022 年 3 月 23 日
androidx.car.app:app-*:1.2.0-rc01
がリリースされました。バージョン 1.2.0-rc01 に含まれる commit については、こちらをご覧ください。
- これは安定化リリースであり、
v1.2.0-beta02
からの API の変更はありません。今後の Android Auto と Android Automotive のリリース向けに、新しい試験運用版機能(API レベル 5)が追加されました。
バグの修正
State.DESTROYED
の後に画面スタックが変更された場合に発生する例外を修正しました。(I3c8eb)CarSensors
API を更新して、AAOS 用には実装されていないことを示すようにしました(Idd57b)PlaceListMapTempalte.Builder#setCurrentLocationEnabled
を更新して、この機能には ACCESS_COARSE_LOCATION で十分であると示すようにしました(I510c2)- 角度を指定する環状交差点の運転タイプの場合、出口番号を省略可能にしました。(Ife7d1)
バージョン 1.2.0-beta02
2022 年 1 月 26 日
androidx.car.app:app-*:1.2.0-beta02
がリリースされました。バージョン 1.2.0-beta02 に含まれる commit については、こちらをご覧ください。
Android Automotive OS
プラットフォームをターゲットとするこのライブラリ バージョンでビルドされた自動車向けアプリを、Play ストアのオープンテスト チャネルに公開できるようになりました。詳しくは、デベロッパー ガイドをご覧ください。
API レベル 4 以下のアノテーションが付けられた機能は、Android Auto
7.2 以降および新しい Android Automotive OS
プラットフォームの両方と互換性があります。注意点については、下記の Known Issues
セクションをご覧ください。
API の変更
- 試験運用版の
setOnContentRefreshListener
API を POI テンプレートに追加しました。(I6bf22)
バグの修正
- 自動車ホストをアンバインドする際の
CarAppService
のメモリリークを修正しました。(I5c9ca、b/203594731) CarAppActivity
Javadoc を更新し、singleTask 起動モードの要件を追加しました。(Id2f95)- 再開時の視覚的な不具合を軽減しました。(Iff7e0)
既知の問題
PlaceListNavigationTemplate
とRoutePreviewNavigateTemplate
のマップActionStrip
が、Android Auto
とAndroid Automotive OS
の次期リリースから利用可能になります。
バージョン 1.2.0-alpha02
2021 年 12 月 15 日
androidx.car.app:app-*:1.2.0-alpha02
がリリースされました。バージョン 1.2.0-alpha02 に含まれるコミットについては、こちらをご覧ください。
API レベル 4 のアノテーション付きの機能が、試験運用版から安定版にアップグレードされました。これには、PlaceListNavigationTemplate
と RoutePreviewNavigateTemplate
のマップ ActionStrip
、Pane
の CarIcon
画像、QRCodeSignInMethod
、Action
でのレンダリング ヒント(フラグなど)の設定機能などが含まれます。
新機能
- Android Auto 7.1 以降で、
Pane
の項目の上限が 2 個から 4 個に増えました。
API の変更
- 試験運用版の
toString()
メソッドをCarUnit
に追加しました(I36a3b)
バグの修正
- コールバックが反応しない場合に
CarAppPermissionActivity
で発生したクラッシュを修正しました(If9823) Pane
のデフォルト リストの上限を 4 個に変更しました(I0068b)
バージョン 1.2.0-alpha01
2021 年 11 月 3 日
androidx.car.app:app-*:1.2.0-alpha01
がリリースされました。バージョン 1.2.0-alpha01 に含まれる commit については、こちらをご覧ください。
v1.2.0
のすべての新機能(API 4 以上)は、現時点では Android Auto と Android Automotive OS の今後のリリースをターゲットとする試験運用版です。詳しくは、デベロッパー ガイドをご覧ください。
API の変更
AutomotiveCarInfo
API を試験運用版にしました。(Ia13e5)- Car App Library API レベル 4 を追加しました。(I2a2e7)
- API レベル 4:
Pane
にCarIcon
を設定するためのサポートを追加しました。(Ifcc12) - API レベル 4: QR コードによるログイン メソッドを追加しました。(Ib623e)
- API レベル 4:
Action
に setFlags / getFlags を追加しました。(Ic03ab) - API レベル 4:
PlaceListNavigationTemplate
とRoutePreviewNavigationTemplate
にパンとズームのサポートを追加しました。(I9d8a3)
バグの修正
- API レベル 4: アプリが自動車ホストに位置情報の更新データを送信するためのメカニズムを追加しました。(I3bad3)
- ホスト検証ロジックで TEMPLATE_RENDERER 権限が適切に検出されなかった問題を修正しました。(I62618)
バージョン 1.1.0
バージョン 1.1.0
2021 年 12 月 15 日
androidx.car.app:app-*:1.1.0
がリリースされました。バージョン 1.1.0 に含まれる commit については、こちらをご覧ください。
これは安定化リリースであり、v1.1.0-rc01
からの変更はありません。Car App ライブラリの新機能について詳しくは、v1.2.0-alpha02
のリリースノートもご覧ください。
1.0.0 以降の重要な変更
- API レベル 2: 車両が駐車中に、ログインフローに使用できる
SignInTemplate
とLongMessageTemplate
- API レベル 2:
NavigationTemplate
におけるマップ インタラクティビティ サポート - API レベル 2: アプリが車載画面のサイズに応じてディスプレイに対し文字列の複数のバージョンを提供できる、multiple-length テキストのサポート
- API レベル 3: 車両のハードウェア データ(モデルまたは型、燃料レベル、その他のセンサーなど)のクエリに使用できる
CarHardwareManager
バージョン 1.1.0-rc01
2021 年 11 月 3 日
androidx.car.app:app-*:1.1.0-rc01
がリリースされました。バージョン 1.1.0-rc01 に含まれる commit については、こちらをご覧ください。
これは安定化リリースであり、v1.1.0-beta01
からの API の変更はありません。今後の Android Auto リリース向けの新しい試験運用版機能(API レベル 4)が追加されました。試験運用版 API について詳しくは、v1.2.0-alpha01
のリリースノートをご覧ください。
バージョン 1.1.0-beta01
2021 年 9 月 1 日
androidx.car.app:app-*:1.1.0-beta01
がリリースされました。バージョン 1.1.0-beta01 に含まれる commit については、こちらをご覧ください。
v1.1.0
機能(API 2 以降)はすべて、Android Auto 6.7 以降と完全に互換性があります。詳しくは、デベロッパー ガイドをご覧ください。
API の変更
Manager
を公開インターフェースから削除しました(Ie381b)- 権限リクエストでカスタム ブランドの背景を設定する機能を追加しました(I74b76)
ScreenManager.getStackSize
を追加しました(I0b16a)- 明示的に
TestCarContext
を使用するScreenController
コンストラクタを削除しました(Iefebc)
バグの修正
CarHardwareManager
を作成するときに API レベルをチェックする機能を追加しました(I48f9b)- API 全体で
CarSpan
の無効な使用をチェックする機能を追加しました(I65ae6) Screen
の作成中に完了としてマークされると、スタックが壊れたままの状態になる問題を修正しました(I81b13)CarAppExtender
内にアイコンを含むアクションがある場合に、CarNotificationManager.notify
が Automotive OS のエラーをログに記録する問題を修正しました(I3633d)- API バージョンを確立するアプリとホストの handshake メソッドを追加しました(I7d6f8)
バージョン 1.1.0-alpha02
2021 年 7 月 21 日
androidx.car.app:app-*:1.1.0-alpha02
がリリースされました。バージョン 1.1.0-alpha02 に含まれる commit については、こちらをご覧ください。
新機能
- API レベル 3: 車両のハードウェア データ(モデルまたは型、燃料レベル、その他のセンサーなど)のクエリに使用できる
CarHardwareManager
を追加しました。現在、この機能はオープンテスト チャンネルの Android Auto 6.7 以上でのみ利用できます。デスクトップ環境でこの機能をテストするには、別個にリリースされる新しいバージョンのDesktop Head Unit
が必要です。新しいバージョンが利用可能になる時期については、自動車向け Android アプリをテストするページをご確認ください。 - API レベル 3 と互換性のある自動車ホストでこれらの機能を使用する方法に関する追加情報と設計ガイドラインについては、開発ガイドとライブラリ リファレンスをご覧ください。
API の変更
SessionController
およびScreenController
ライフサイクル メソッドを単一のmoveToState
メソッドに統合しました。(I1ed00)CarContext#getHostInfo()
を追加しました。(I8977e)- サポートが終了したフィールドを削除しました。(I67168)
- コンストラクタを直接公開するように
SessionController
とScreenController
を更新しました。(Iabf22) PinSignInMethod.Builder
とProviderSignInMethod.Builder
を削除しました。(I9f0cb)- AAOS でテンプレート化済みアプリの「for result」を使用できるようにするため、「setCarAppResult()」を追加しました。(I37741)
CarHardware
インターフェースに@MainThread
アノテーションを付けました。(Ib2f85)OnCarDataListener
の名前をOnCarDataAvailableListener
に変更しました。(I518ca)CarInfo
、Speed
、Mileage
のメソッド名と javadoc を更新しました。(I86672)Toll
の名前をTollCard
に変更しました。(I3e7c8)- サポートが終了した
PinSignInMethod.getPin
を削除し、PinSignInMethod.getPinCode
に置き換えました。(I996ce) OnInputCompletedListener
を削除しました(InputCallback
に置き換えました)。(Ib5be1)String
ではなくCharSequence
を受け取るようにPinSignInMethod
を変更しました。(I275d5)
バグの修正
- 自動車ハードウェア用の Javadoc を修正しました。(I2abbc)
外部からの協力
既知の問題
SignInTemplate
でInputSignInMethod
を使用すると、自動車ホストでNullPointerException
が発生することがあります。これはライブラリの次回のリリースで対応する予定です。この問題を回避するには、アプリの Proguard 構成に次の行を追加します:-keep class androidx.car.app.model.signin.InputSignInMethod { *; }
バージョン 1.1.0-alpha01
2021 年 6 月 16 日
androidx.car.app:app:1.1.0-alpha01
、androidx.car.app:app-automotive:1.1.0-alpha01
、androidx.car.app:app-testing:1.1.0-alpha01
がリリースされました。バージョン 1.1.0-alpha01 に含まれるコミットについては、こちらをご覧ください。
新機能
- API レベル 2: 車両が駐車中に、ログインフローに使用できる
SignInTemplate
とLongMessageTemplate
を新たに追加しました。 - API レベル 2:
NavigationTemplate
におけるマップ インタラクティビティ サポートを新たに追加しました - API レベル 2: 複数長のテキストのサポートを新たに追加し、自動車画面サイズに応じて複数のバージョンの文字列をアプリで表示できるようにしました。
- API レベル 2 と互換性のある自動車ホストでこれらの機能を使用する方法や設計のガイドラインについて詳しくは、開発ガイドとライブラリの Javadoc をご覧ください。
API の変更
- すべての
*Callback
インターフェース メソッドをデフォルトにし、名前をOnRequestPermissionsCallback
からOnRequestPermissionsListener
に変更しました(Ib3ec9) - 不要なビルダーとパラメータ クラスを削除するように
androidx.car.app.hardware
クラスを更新しました。(I67beb) - 燃料、電池、速度など、自動車固有のデータにアクセスできるように
androidx.car.app.hardware
クラスを追加しました。(Iff3c9) MessageTemplate
に対するActionStrip
のサポートを追加しました(Ida657)setLoading
をMessageTemplate
に追加しました。(I2a4b5)ConnectionToCar
の名前をCarConnection
に変更しました(Ife9bd)- 明示的な
PanModeDelegate
を返すようにNavigationTemplate
を変更しました(I13877) CarContext.requestPermissions
のパラメータの順序を更新しました(Ib890a)- メタデータキーを更新し、自動車の最低 API レベルを
androidx.car.api.minCarApiLevel
に定義しました(Ib0d41) - 自動車の接続状態を監視できる API を作成しました(Ifc935)
Action
の切り替え設定のサポートを追加し、パンモードのAction
タイプを追加しました(Ica6af)- 自動車内の通知の送信をサポートするために
CarNotificationManager
を作成しました(I10d7a) - ホストからのリスト制限を行うための
ConstraintManager
を追加しました(I8690e) NavigationTemplate
にパンモードとマップ アクション ストリップ API を追加しました(I77aa6)- ナビゲーション アプリ用の
SurfaceCallback
にパンおよびズーム API を追加しました(Id5e9d) CarAppApiLevel
を 2 に更新しました(Ic1540)CarAppService
から権限をリクエストする機能を追加しました(I5421e)- Multi-text API に
RequiresCarApi(2)
アノテーションを追加しました(Iacb62) - ハーフリスト テンプレートのタイトルに複数のテキスト バリエーションを使用できるようにしました(Ib8df7)
- 新しい
LongMessageTemplate
を追加しました(Car API レベル 2 が必要)(Ic5cee)
バグの修正
- より大きな自動車の画面に対応するために、画像サイズの要件を更新しました(I116dc)
- テンプレート本文に 3 つ以上のアクションを追加できないようにしました(I32157)
- 自動車アプリ ライブラリ セットのフラグにすべての
PendingIntent
が作成されるようにしました。(If84fe、b/186394900) - 更新時に
Row
のテキストを変更できるように javadoc を更新しました(If3f9c) androidx.activity:activity:1.2.0
が API の依存関係になりました(Id1cb9)SignInTemplate
とLongMessageTemplate
を、これらの本文で駐車専用操作を要求するように設定し、これらの操作は駐車後にのみ表示されることを示すようにドキュメントを更新しました(Iddaa9)- 起動時に
Screen
をポップするときに発生する例外を修正しました(Ifcf40、b/184664896) ForegroundCarColorSpan
でカスタム テキストの色を使用できるようにしました(I69e59)Screen
のON_DESTROY
の後にSession
のON_DESTROY
が検出される問題を修正しました(I52e01、b/183696617)TravelEstimate
の残り時間を不明な時間に設定できる時点に関する javadoc を更新しました。(I99610、b/183632456)- タイトルとカスタム背景色で
ForegroundColorSpan
をサポートするようにAction
を更新しました(I578e4 ) - エグゼキュータが実行する前にコールバックがクリアされている場合は
NavigationManagerCallback#onStopNavigation
を実行しないようにしました(I7fc5e、b/181143772) - lifecycle-common-java8 への依存関係を明示的にアプリに課す必要がある問題を修正しました(I8b8c8)
既知の問題
SignInTemplate
では、ユーザーが入力を確認するときに、画面キーボードに「入力」アイコンではなく「検索」アイコンが表示されます。この問題を解決するために、ユーザーは、入力フィールドがフォーカスされているときにアクティブになる、スマートフォン キーボードを使用できます。- Android Auto バージョン 6.5 では、一部のタップ操作に対して、
SurfaceCallback
のパンとズームのコールバックが誤って呼び出されることがあります。
Car App Testing バージョン 1.0.0
バージョン 1.0.0-alpha01
2021 年 3 月 24 日
androidx.car.app:app-testing:1.0.0-alpha01
がリリースされました。バージョン 1.0.0-alpha01 に含まれる commit については、こちらをご覧ください。
これは、従来のクローズド ソース テスト ライブラリにおける最初の Jetpack リリースです。テストでこのライブラリを使用する方法については、サンプルをご覧ください。
新機能
- モデルクラスのコントローラが削除されました。モデルゲッターが公開 API サーフェスの一部となり、ビルダーで設定された値を検証できるようになりました。
- ホストへの接続の存続期間に関連するロジックをテストするために、これまでの
CarAppServiceController
が新しいSessionController
に置き換えられました。
バージョン 1.0.0
バージョン 1.0.0
2021 年 4 月 21 日
androidx.car.app:app:1.0.0
がリリースされました。バージョン 1.0.0 に含まれる commit については、こちらをご覧ください。
1.0.0 の主な機能
- Google は 4 月上旬に、
androidx.car.app:app:1.0.0-rc01
を使用してアプリを製品版チャンネルに公開できるようになったことを発表しました。Car App Library v1.0.0 は安定版になり、Android Auto 6.1 以上に完全に対応しています。 - ライブラリを使用して Android Auto 用のナビゲーション アプリ、駐車場アプリ、充電アプリを作成する方法について詳しくは、開発ガイドをご覧ください。
バグの修正
- 起動時に
Screen
をポップするときに発生する例外を修正しました(70aae1、b/184664896) Screen
のON_DESTROY
の後にSession
のON_DESTROY
が検出される問題を修正しました(0ceecb、b/183696617)
バージョン 1.0.0-rc01
2021 年 3 月 24 日
androidx.car.app:app:1.0.0-rc01
がリリースされました。バージョン 1.0.0-rc01 に含まれる commit については、こちらをご覧ください。
バグの修正
- コールバックがクリアされた後に
NavigationManagerCallback#onStopNavigation
が呼び出されていた競合状態のバグを修正しました。この問題は、コールバックの実行側が実際に実行する前に、コールバックがクリアされた場合に発生します(I7fc5e、b/181143772) - アプリが
lifecycle-common-java8
に明示的に依存する必要がある問題を修正しました(I8b8c8) - すでにコールバックを削除しているときにアプリが
stopNavigation
呼び出しを受け取るとNullPointerException
がスローされる問題を修正しました(Ib8b89、b/181143772) - アプリのライフサイクルが少なくとも
CREATED
状態でない場合、アプリへの呼び出しをディスパッチしないように改善しました(I86965、b/179800224、b/177921120) - アプリのマニフェストに指定された無効な最小 API がスローされて、ホストで ANR が発生する問題を修正しました。(Iffed、b/174231592)
バージョン 1.0.0-beta01
2021 年 2 月 24 日
androidx.car.app:app:1.0.0-beta01
がリリースされました。バージョン 1.0.0-beta01 に含まれる commit については、こちらをご覧ください。
これは、以前のクローズド ソース ライブラリの最初の Jetpack リリースで、Android Auto 6.1 以降と互換性があります。ライブラリを使用して自動車向けアプリを作成する方法について詳しくは、デベロッパー ガイドをご覧ください。
新機能
- UI 要素のリストをグリッド レイアウトで表示するためにアプリが使用できる
GridTemplate
を導入しました。 - ホスト接続が信頼できるソース(Android Auto など)からのものであることを検証する
CarAppService.createHostValidator
メソッドを導入しました。 CarAppExtender.Builder.setColor
API を追加しました。(b/174231592)
バグの修正
- 画面を順番にポップすると誤った
Screen
が再開される問題を修正しました。(b/177590791)