自動車向けアプリ

Android Auto 用ナビゲーション アプリ、駐車場アプリ、充電アプリを作成する。
最新の更新 現在の安定版リリース 次のリリース候補 ベータ版リリース アルファ版リリース
2021 年 9 月 1 日 1.0.0 - 1.1.0-beta01 -

依存関係の宣言

Car App Library への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。

アプリまたはモジュールの build.gradle ファイルに、必要なアーティファクトの依存関係を追加します。

Groovy

dependencies {
    implementation "androidx.car.app:app:1.0.0"

    // For testing
    implementation "androidx.car.app:app-testing:1.1.0-beta01"
}

Kotlin

dependencies {
    implementation("androidx.car.app:app:1.0.0")

    // For testing
    implementation("androidx.car.app:app-testing:1.1.0-beta01")
}

依存関係について詳しくは、ビルド依存関係の追加をご覧ください。

フィードバック

お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。

新しい問題を報告する

詳細については、Issue Tracker のドキュメントをご覧ください。

バージョン 1.1.0

バージョン 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
  • コンストラクタを直接公開するように SessionControllerScreenController を更新しました。(Iabf22
  • PinSignInMethod.BuilderProviderSignInMethod.Builder を削除しました。(I9f0cb
  • AAOS でテンプレート化済みアプリの「for result」を使用できるようにするため、「setCarAppResult()」を追加しました。(I37741
  • CarHardware インターフェースに @MainThread アノテーションを付けました。(Ib2f85
  • OnCarDataListener の名前を OnCarDataAvailableListener に変更しました。(I518ca
  • CarInfoSpeedMileage のメソッド名と javadoc を更新しました。(I86672
  • Toll の名前を TollCard に変更しました。(I3e7c8
  • サポートが終了した PinSignInMethod.getPin を削除し、PinSignInMethod.getPinCode に置き換えました。(I996ce
  • OnInputCompletedListener を削除しました(InputCallback に置き換えました)。(Ib5be1
  • String ではなく CharSequence を受け取るように PinSignInMethod を変更しました。(I275d5

バグの修正

  • 自動車ハードウェア用の Javadoc を修正しました。(I2abbc

外部からの協力

既知の問題

  • SignInTemplateInputSignInMethod を使用すると、自動車ホストで NullPointerException が発生することがあります。これはライブラリの次回のリリースで対応する予定です。この問題を回避するには、アプリの Proguard 構成に次の行を追加します: -keep class androidx.car.app.model.signin.InputSignInMethod { *; }

バージョン 1.1.0-alpha01

2021 年 6 月 16 日

androidx.car.app:app:1.1.0-alpha01androidx.car.app:app-automotive:1.1.0-alpha01androidx.car.app:app-testing:1.1.0-alpha01 がリリースされました。バージョン 1.1.0-alpha01 に含まれるコミットについては、こちらをご覧ください

新機能

  • API レベル 2: 車両が駐車中に、ログインフローに使用できる SignInTemplateLongMessageTemplate を新たに追加しました。
  • 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
  • setLoadingMessageTemplate に追加しました。(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 が作成されるようにしました。(If84feb/186394900
  • 更新時に Row のテキストを変更できるように javadoc を更新しました(If3f9c
  • androidx.activity:activity:1.2.0 が API の依存関係になりました(Id1cb9
  • SignInTemplateLongMessageTemplate を、これらの本文で駐車専用操作を要求するように設定し、これらの操作は駐車後にのみ表示されることを示すようにドキュメントを更新しました(Iddaa9
  • 起動時に Screen をポップするときに発生する例外を修正しました(Ifcf40b/184664896
  • ForegroundCarColorSpan でカスタム テキストの色を使用できるようにしました(I69e59
  • ScreenON_DESTROY の後に SessionON_DESTROY が検出される問題を修正しました(I52e01b/183696617
  • TravelEstimate の残り時間を不明な時間に設定できる時点に関する javadoc を更新しました。(I99610b/183632456
  • タイトルとカスタム背景色で ForegroundColorSpan をサポートするように Action を更新しました(I578e4
  • エグゼキュータが実行する前にコールバックがクリアされている場合は NavigationManagerCallback#onStopNavigation を実行しないようにしました(I7fc5eb/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 をポップするときに発生する例外を修正しました(70aae1b/184664896
  • ScreenON_DESTROY の後に SessionON_DESTROY が検出される問題を修正しました(0ceecbb/183696617

バージョン 1.0.0-rc01

2021 年 3 月 24 日

androidx.car.app:app:1.0.0-rc01 がリリースされました。バージョン 1.0.0-rc01 に含まれる commit については、こちらをご覧ください

バグの修正

  • コールバックがクリアされた後に NavigationManagerCallback#onStopNavigation が呼び出されていた競合状態のバグを修正しました。この問題は、コールバックの実行側が実際に実行する前に、コールバックがクリアされた場合に発生します(I7fc5eb/181143772
  • アプリが lifecycle-common-java8 に明示的に依存する必要がある問題を修正しました(I8b8c8
  • すでにコールバックを削除しているときにアプリが stopNavigation 呼び出しを受け取ると NullPointerException がスローされる問題を修正しました(Ib8b89b/181143772
  • アプリのライフサイクルが少なくとも CREATED 状態でない場合、アプリへの呼び出しをディスパッチしないように改善しました(I86965b/179800224b/177921120
  • アプリのマニフェストに指定された無効な最小 API がスローされて、ホストで ANR が発生する問題を修正しました。(Iffedb/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 以降と互換性があります。ライブラリを使用して自動車向けアプリを作成する方法について詳しくは、デベロッパー ガイドをご覧ください。

新機能

バグの修正

  • 画面を順番にポップすると誤った Screen が再開される問題を修正しました。(b/177590791