自動車向けアプリ

Android Auto と Android Automotive OS 用のテンプレート化されたアプリを作成します。
最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
2024 年 11 月 13 日 1.4.0 - 1.7.0-beta03 -

依存関係の宣言

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

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

Groovy

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

    // For Android Auto specific functionality
    implementation "androidx.car.app:app-projected:1.4.0"

    // For Android Automotive specific functionality
    implementation "androidx.car.app:app-automotive:1.4.0"

    // For testing
    testImplementation "androidx.car.app:app-testing:1.4.0"
}

Kotlin

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

    // For Android Auto specific functionality
    implementation("androidx.car.app:app-projected:1.4.0")

    // For Android Automotive specific functionality
    implementation("androidx.car.app:app-automotive:1.4.0")

    // For testing
    testImplementation("androidx.car.app:app-testing:1.4.0")
}

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

フィードバック

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

新しい問題を報告する

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

バージョン 1.7

バージョン 1.7.0-beta03

2024 年 11 月 13 日

セキュリティの脆弱性とその他の一般的なバグを修正しました。それ以前のバージョンを使用している場合は、このバージョンに更新してご利用ください

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

API の変更

  • CAL のシリアル化 / 逆シリアル化コードを更新し、アノテーション @CarProtocol が宣言されているオブジェクトのみを処理するようにしました。(Ic730e
  • CarAppExtender を使用して、NotificationCompat.Builder だけでなくフレームワーク Notification.Builder を拡張できるようになりました。(Id3ad7
  • KEY_EXCLUDE_MEDIA_ITEM_FROM_MIXED_APP_LIST を追加しました。(I201f9
  • ConversationItem の空の Builder コンストラクタを非推奨にし、必要なパラメータを受け取るコンストラクタに置き換えました。また、null メッセージに対するチェックも追加しました。(Ic8221

バグの修正

  • PlaceList マップが文字列(テキストのみ)のヘッダー タイトルを使用していることを確認します。(Ic992f
  • このライブラリは、型使用である JSpecify nullness アノテーションを使用するようになりました。Kotlin デベロッパーは、次のコンパイラ引数を使用して、正しい使用を強制する必要があります。-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode。(Ib5367b/326456246

バージョン 1.7.0-beta02

2024 年 9 月 18 日

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

API の変更

  • KEY_ROOT_HINT_MEDIA_HOST_VERSION を追加しました。(I8796b
  • TabContents.Builder クラスで TabContents.Api8Builder クラスを @ExperimentalCarApi コンストラクタに置き換え(I26fbe
  • CarMediaApp のインテント アクションとエクストラを追加しました。(I50782
  • メッセージング API を試験運用版以外としてマークしました。(I0b070
  • SectionedItemTemplate にリモート アイテムの読み込みを追加しました(長いリストをクラッシュせずに読み込めるようにしました)(I0d122
  • API 8 の TabTemplate 内のサポートされているテンプレートのリストに SectionedItemTemplate を追加。(Idc5d6

バグの修正

  • 新しいプラットフォーム API へのアクセスの手動アウトラインを削除しました。これは、AGP 7.3 以降(R8 バージョン 3.3 など)で R8 を使用する場合、および AGP 8.1 以降(D8 バージョン 8.1 など)を使用するすべてのビルドで、API モデリングによって自動的に行われるためです。AGP を使用していないクライアントは、D8 バージョン 8.1 以降にアップデートすることをおすすめします。詳しくは、こちらの記事をご覧ください。(I9496cb/345472586

バージョン 1.7.0-beta01

2024 年 6 月 26 日

androidx.car.app:app-*:1.7.0-beta01 がリリースされました。バージョン 1.7.0-beta01 には、これらの commit が含まれています。機能は alpha01 で公開されたものと同様です。以下に繰り返します。

新機能

  • 地図とコンテンツ: 地図キャンバスとコンテンツ テンプレートの新しいテンプレート。現時点では、リスト、グリッド、ペイン、メッセージのいずれかを使用できます。
    • RoutePreviewPlaceListNavigationMapTemplate のサポートが終了しました。テンプレートは引き続き動作します。
    • 非推奨のテンプレートの代わりに MapWithContent の使用状況が表示されるようにサンプルアプリが更新されました
  • 会話アイテム: 会話(IM、SMS)とアシスタントの読み上げを自動車に表示するための新しい API。
  • 車両寸法: 車両の寸法を取得する新しい API(現時点では AAOS のデータ)。

API の変更

  • @ExperimentalCarApi タグを MediaPlaybackTemplate.Builder に追加します。(Ic1957
  • 試験運用版に新しい SectionedItemTemplate を追加しました。(I5958a
  • CarAppApiLevel 8 を導入しました。(I3fa22
  • 自動車向けアプリ ライブラリでメディアの再生中にコンテンツを表示するための MediaPlaybackTemplate を追加しました。(I3c10d
  • 運転中のバックグラウンド音声をシステムがサポートしているかどうかをアプリが検出するための新しい API を追加しました。(I0f868

バグの修正

  • CAL クライアント コードと CAL ナビゲーション サンプルアプリのメモリリークとクラッシュの特定のインスタンスを修正しました。(I55e04
  • クラッシュを回避するため、BaseCarAppActivityonDestroy メソッドの requireNotNull instances を if-null チェックに置き換えました。(Iec676

バージョン 1.7.0-alpha02

2024 年 4 月 17 日

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

新機能

  • MapWithContent テンプレートが今後サポートする地図ベースのテンプレートに非推奨フラグを追加しました。

API の変更

  • 古い MapTemplateRoutePreviewNavigationTemplatePlaceListNavigationTemplate を非推奨にし、新しい MapWithContentTemplate の使用を推奨しました。(Ib0a08

バージョン 1.7.0-alpha01

2024 年 4 月 3 日

androidx.car.app:app-*:1.7.0-alpha01 がリリースされました。ライブラリのバージョニング スキームを、有効な CarApi バージョンに合わせて変更しました。これは、開発者のフィードバックに基づいて命名規則の混乱を軽減するためです。そのため、バージョン 1.5 / 1.6 をスキップして、直接 1.7 に移行します。バージョン 1.7.0-alpha01 にはこれらの commit が含まれています。

新機能

  • コンテンツを含む地図: MapWithContent という名前の新しいテンプレート。地図内のコンテンツとしてリスト、グリッド、ペイン、メッセージをサポートします。
    • RoutePreviewPlaceListNavigation、マップ テンプレートのサポートが終了しました。
    • サンプルアプリが更新され、MapWithContent を使用する非推奨のテンプレートの機能が表示されるようになりました。
  • Conversation Item: 会話(IM、SMS)とアシスタントの読み上げを自動車に表示するための新しい API。
  • Vehicle Dimensions: 車両の寸法を取得する新しい API(現時点では AAOS のデータ)。

API の変更

  • 超小型の行画像タイプを試験運用版としてマークしました。(I5184b
  • 高さや幅などの車両の外寸情報にアクセスできる CarInfo#fetchExteriorDimensions API を追加しました。(Ia40c5
  • MapWithContentTemplate から ExperimentalAPI タグを削除しました。(I66db8
  • GridItem#setTitle パラメータを null 可能に更新しました。(I3d610
  • GetHeader API は下位互換性があるため、API 7 は必要ありません(I8c812
  • ListTemplateHeader のサポートを追加し、headerActionheaderTitleactionStrip を非推奨にしました。(I7ae01
  • GridTemplatetitleheaderActionactionStrip のサポートを終了し、Header のサポートを追加しました。(I41a9c
  • 試験運用版 API(バッジ、GridTemplate アイテムサイズと画像形状のゲッター/セッター、バッジの取得/設定の GridItem メソッド)のレベル 7 の要件を削除しました。(Id71eb
  • PaneTemplatetitleheaderActionactionStrip のサポートを終了し、新しい Header のサポートを追加しました。(I23154
  • Media Center テレメトリーを BroadcastReceiver からブラウジング カスタム アクションに変更しました。(I4185f
  • MessageTemplateHeader 属性のサポートを追加しました。ActionStripheaderActiontitle のサポートを非推奨にしました。(Ie2de8
  • アラート定数の可視性を変更しました。(Icf8a8
  • 親テンプレートから isLoading 属性を削除しました。(I651e6
  • メディアアプリにメインの UI パラメータを伝える追加情報を追加しました。(I85ca2
  • MediaExtensions にメディア センターのアナリティクス機能を追加しました。(I7ce28
  • 行に極小画像を表示するオプションを追加しました。(I72c03

バグの修正

  • ConversationItem の Javadoc を更新し、メッセージは古い順に並べ替えられるようにしました。(I77a2a
  • ListTemplate の切り捨てロジックを更新し、ConversationItem から最も古いメッセージを削除しました。(Ie0a61

バージョン 1.4

バージョン 1.4.0

2024 年 5 月 29 日

androidx.car.app:app-*:1.4.0 がリリースされました。バージョン 1.4.0 は 1.4.0-rc02 の昇格版です。

1.3.0 以降の重要な変更

  • ナビゲーション アプリのインストルメント クラスタの地図のレンダリング
  • アプリのレイアウトと使い勝手を改善する新しいタブ テンプレート
  • 適応型タスクの上限のサポート
  • リスト要素のサブアクション

バージョン 1.4.0-rc02

2023 年 12 月 13 日

androidx.car.app:app-*:1.4.0-rc02 がリリースされました。バージョン 1.4.0-rc02 に含まれる commit については、こちらをご覧ください。軽微な修正のみ

バグの修正

  • ConversationItem の javadoc を更新し、メッセージを古い順に並べ替える必要があることを明記しました。(I77a2a
  • ListTemplate の切り捨てロジックを更新し、ConversationItem から最も古いメッセージを削除しました。(Ie0a61

バージョン 1.4.0-rc01

2023 年 11 月 1 日

androidx.car.app:app-*:1.4.0-rc01 がリリースされました。重要な変更はありません。バージョン 1.4.0-rc01 に含まれる commit については、こちらをご覧ください。

バージョン 1.4.0-beta02

2023 年 9 月 20 日

androidx.car.app:app-*:1.4.0-beta02 がリリースされました。バージョン 1.4.0-beta02 に含まれる commit については、こちらをご覧ください。これは beta01 とほぼ同じですが、compileSdk の要件が 33 に引き下げられています。

バグの修正

  • タブの読み込み画面が正しく表示されないバグを修正しました。(cae860

バージョン 1.4.0-beta01

2023 年 8 月 9 日

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

注: 1.4-beta01 では compileSdk34 が必要ですが、これはまだ開発段階です。この問題は 1.4-beta02 で修正されます。または、プロジェクトの settings.gradle ファイルに android.suppressUnsupportedCompileSdk=34 を追加して、警告を一時的に安全に抑制することもできます。

新機能

API の変更

  • alpha02 をご覧ください

バージョン 1.4.0-alpha02

2023 年 7 月 26 日

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

  • Alpha02 のリリースは、今後の beta01 リリースの準備を目的としています。

新機能

  • ナビゲーション アプリのインストルメント クラスタでの地図のレンダリングのサポート
  • アプリのタブを追加してレイアウトの利便性を向上
  • リスト / グリッド テンプレートのレンダリング オプションを追加しました
  • 天気とコミュニケーションの新しいカテゴリを追加しました
  • 複数の API を次の CarApi 7 リリースに移動

API の変更

  • CarMessage にマルチメディア フィールドを追加しました。(I5aaf6
  • 自動車向けアプリ ライブラリの ConversationItem にカスタム アクションを追加しました(Ie5ed6
  • 没入型オーディオ形式で再生されるメディア アイテムを示すエクストラを追加し、そのコンテンツ形式のロゴを表示しました。(Icb5bb
  • 新しいアクション タイプ ActionsConstraints API を追加して、作成ボタンをサポートしました。(I31661
  • set/getTemplateset/get ContentTemplate にしました(Ica036
  • テンプレート パラメータは @NonNull になります。MapWithContentTemplate API のドキュメントを更新しました。(I0f8ed
  • CAL 1.4 でのリリースに向けて、ListTemplate のアクションの @ExperimentalCarApi タグを削除(I2cfcb
  • TabTemplate@ExperimentalCarApi タグを削除しました。(Ifcb82
  • 行のセカンダリ アクションと装飾から @ExperimentalCarApi アノテーションを削除しました(I8487e
  • アクティブなタブのコンテンツ ID を TabTemplate に追加し、タブのアクティブな状態を非推奨にしました(I96932
  • ItemImageShape プロパティを GridTemplate に追加しました。(Ibf431
  • GridTemplateItemSize プロパティを追加しました。このプロパティは、相対的な小、中、大のバケットに応じてグリッドアイテムのサイズを制御します。(Icdb3b
  • デベロッパーが現在の画面スタックのコピーを取得できるように API アクセスを開放します。(I48107
  • 自動車向けアプリ ライブラリに天気アプリのカテゴリを追加しました(I2be44
  • 自動車向けアプリ ライブラリに呼び出し元アプリのカテゴリを追加しました(Icab33
  • GridItem.Builder#setBadge() をオーバーロードされた setImage() メソッドに置き換えました。(Id2000
  • バッジにアイコン プロパティを追加しました(I629b2
  • ドットバッジの背景色を設定するメソッドを追加しました。(I6411c
  • GridItem に Badge プロパティを追加し、GridItem 画像の上にバッジを表示できるようにします。(I95de7
  • 画像の上に表示されるバッジを表す試験運用版の Badge オブジェクトを追加しました。(I9878d

バージョン 1.4.0-alpha01

2023 年 2 月 22 日

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

API の変更

  • 自動車向けアプリ ライブラリの GridTemplate にトップレベルのアクションを追加しました(Id0191
  • 自動車向けアプリ ライブラリの ListTemplate にトップレベルのアクションを追加しました(I9efab
  • メディア アイテムのサブタイトルまたはその説明を他のメディア アイテムにリンクするエクストラを追加しました(Ic84bf
  • 行アクションの API レベルをレベル 6 に更新しました。(Ie0a69
  • A4C にメッセージ コールバックを追加しました(Ie3986

バグの修正

  • CarMessage で欠落している Java ドキュメントの参照を追加しました。(I5db1c
  • ConversationItemCarMessageequals()hashCode() をオーバーライドしました(I6fd10
  • ConversationItem.mMessages の検証を改善しました(null 以外、空ではないことを必須にします)(Iafc51
  • @Keep アノテーションを ConversationItem フィールドに追加しました(I5d250
  • 行の装飾とセカンダリ アクションの Java ドキュメントを更新しました。(I000b6

バージョン 1.3

バージョン 1.3.0-rc01

2022 年 12 月 7 日

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

  • beta01 の軽微なバグを修正しました。大きな変更はありません。

バージョン 1.3.0-beta01

2022 年 9 月 7 日

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

新機能

Car App Library 1.3.0-alpha01 で追加された機能に加え、beta01 に次の機能が追加されました(ここで示しているすべての機能は、API の変更がないホスト側の変更のみです)。

  • ユーザーが PlaceListNavigationTemplateRoutePreviewNavigationTemplateMapTemplate で地図ベースの選択画面を表示している場合でも、フローティング ナビゲーション バーが引き続き表示されるようになります。表示されるようにするには、NavigationManager.updateTrip() を使用してナビゲーション情報を更新します。
  • FLAG_DEFAULT でアクション ボタンを有効にすると、タイムアウト アニメーションが表示されます。このボタンは、タイムアウト後にデフォルトでクリックされます。([API 5 - All Templates]
  • Row サブテキストは、駐車中はすべて表示されますが、運転中に表示されるのは 2 行のみです。([API 5 - All Templates]
  • ActionToggleRow[API 5 - All Templates])の無効状態をサポートしました。

API の変更

  • 選択可能リストをサポートするように MapTemplate リストの制約を緩和しました。(I961ed
  • ヘッダー アクションの制約を解除して、カスタム アイコンが利用できるようにしました。(Iad28f
  • 制約 setOnClickListenerAllowed()ActionsConstraints に追加しました。それによって、ActionOnClickDelegate() を標準のアイコンタイプ以外のアクションに設定できるようなりました(TYPE_APP_ICONTYPE_BACKTYPE_PAN)。(I3c745

バグの修正

バージョン 1.3.0-alpha01

2022 年 7 月 27 日

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

API レベル 5 のアノテーションが付けられた機能は、Android Auto 7.9 以降と互換性があります。

新機能

  • API レベル 5: ナビゲーション アプリがマップと一緒にペインを表示したり、コンテンツのリストを表示したりするために使用できる新しい MapTemplateIf5826If44b8
  • API レベル 5: ホスト車両のマイクを介した音声入力を録音できる新しい CarAudioRecord API(I5e71a
  • API レベル 5: アプリがホストに提案を行うための新しい SuggestionManager API(I5c103
  • API レベル 5: NavigationTemplate の通知をコンテキスト内に表示する新しい Alert API(I163a7I5ad70
  • API レベル 5: テンプレート間での再利用を促進する新しい Header コンポーネントと MapController コンポーネント(If5826
  • POI アプリを有効にするカテゴリとして androidx.car.app.category.POI を追加しました(androidx.car.app.category.PARKINGandroidx.car.app.category.CHARGING のサポートは終了)(I59da1

API の変更

  • API レベル 5: 地図上でのタップのインタラクティビティを実現する SurfaceCallback インターフェースの新しい onClick メソッド(Ia9777
  • API レベル 5: Action を記述する新しいフラグ Action.FLAG_IS_PERSISTENTAction.FLAG_DEFAULTI96318I5ad70
  • API レベル 5: ActionRowToggle コンポーネントの新しい有効 / 無効状態(ホストのサポートはライブラリの 1.3.0-beta01 リリースで追加予定)(Id8a09
  • API レベル 5: PlaceListNavigationTemplate.Builder および RoutePreviewNavigationTemplate.BuildersetHeader を使用した Header コンポーネントを優先し、既存の setTitle および setHeaderAction メソッドのサポートを終了(I30e6a
  • API レベル 5: 新しい OnContentRefreshListner インターフェースの実装で使用する、PlaceListMapTemplate.BuilderPlaceListNavigationTemplate.Builder の新しい setOnContentRefreshListner メソッド
  • API レベル 5: 旅行の見積もりカードをカスタマイズするための、TravelEstimate.Builder の新しい setTripTextsetTripIconIdcc6dIc620d
  • PaneTemplate のタイトルに CarIconSpan のサポートを追加(Ia1ee0
  • Row のタイトルとテキストに CarIconSpan のサポートを追加(Ic1e3c
  • マップ ActionStrip で最大 4 つのアクションが設定可能になりました(If3522
  • Car App API レベルを 5 に更新(I26b8e
  • PlaceListMapTemplatePlaceListNavigationTemplateRoutePreviewNavigationTemplateGridTemplateListTemplateLongMessageTemplateMessageTemplatePaneTemplateSignInTemplate ではヘッダーとタイトルがオプションになりました(I2078DIcadde

バグの修正

  • 正方形の境界ボックスにするよう PaneTemplate の画像サイズ設定ルールを更新しました(Idd72e
  • State.DESTROYED の後に画面スタックが変更された場合に発生する例外を修正しました(I3c8eb
  • アプリアイコンの取得時の null チェックを追加しました(I3f710
  • デフォルトで STATUS_UNAVAILABLE ではなく STATUS_UNKNOWN を使用するように Car Hardware API を更新(Ic9444
  • サーフェスを作成する前にディスプレイが存在するかどうかを確認(Ice027a
  • STATUS_UNIMPLEMENTED に関連する CarValue.equals() のバグを修正(I24451

バージョン 1.2

バージョン 1.2.0

2022 年 11 月 9 日

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

  • これは安定化リリースであり、v1.2.0-rc01 からの変更はありません。

バージョン 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 のメモリリークを修正しました(I5c9cab/203594731
  • CarAppActivity Javadoc を更新し、singleTask 起動モードの要件を追加しました(Id2f95
  • 再開時の視覚的な不具合を軽減しました(Iff7e0

既知の問題

  • PlaceListNavigationTemplateRoutePreviewNavigateTemplate のマップ ActionStrip が、Android AutoAndroid Automotive OS の次期リリースから利用可能になります。

バージョン 1.2.0-alpha02

2021 年 12 月 15 日

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

API レベル 4 のアノテーション付きの機能が、試験運用版から安定版にアップグレードされました。これには、PlaceListNavigationTemplateRoutePreviewNavigateTemplate のマップ ActionStripPaneCarIcon 画像、QRCodeSignInMethodAction でのレンダリング ヒント(フラグなど)の設定機能などが含まれます。

新機能

  • 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: PaneCarIcon を設定するためのサポートを追加しました(Ifcc12
  • API レベル 4: QR コードによるログイン メソッドを追加しました(Ib623e
  • API レベル 4: Action に setFlags / getFlags を追加しました(Ic03ab
  • API レベル 4: PlaceListNavigationTemplateRoutePreviewNavigationTemplate にパンとズームのサポートを追加しました(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: 車両の駐車中にログインフローに使用できる SignInTemplateLongMessageTemplate の追加
  • API レベル 2: NavigationTemplate におけるマップ インタラクティビティ サポートの追加
  • API レベル 2: 複数長のテキストのサポートを追加し、自動車画面サイズに応じて複数のバージョンの文字列をアプリで表示可能に
  • 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
  • コンストラクタを直接公開するように 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 に含まれる commit については、こちらをご覧ください

新機能

  • 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