自動車向けアプリ
最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
---|---|---|---|---|
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
。(Ib5367、b/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 以降にアップデートすることをおすすめします。詳しくは、こちらの記事をご覧ください。(I9496c、b/345472586)
バージョン 1.7.0-beta01
2024 年 6 月 26 日
androidx.car.app:app-*:1.7.0-beta01
がリリースされました。バージョン 1.7.0-beta01 には、これらの commit が含まれています。機能は alpha01 で公開されたものと同様です。以下に繰り返します。
新機能
- 地図とコンテンツ: 地図キャンバスとコンテンツ テンプレートの新しいテンプレート。現時点では、リスト、グリッド、ペイン、メッセージのいずれかを使用できます。
RoutePreview
、PlaceListNavigation
、MapTemplate
のサポートが終了しました。テンプレートは引き続き動作します。- 非推奨のテンプレートの代わりに
MapWithContent
の使用状況が表示されるようにサンプルアプリが更新されました
- 会話アイテム: 会話(IM、SMS)とアシスタントの読み上げを自動車に表示するための新しい API。
- 車両寸法: 車両の寸法を取得する新しい API(現時点では AAOS のデータ)。
API の変更
@ExperimentalCarApi
タグをMediaPlaybackTemplate.Builder
に追加します。(Ic1957)- 試験運用版に新しい
SectionedItemTemplate
を追加しました。(I5958a) CarAppApiLevel 8
を導入しました。(I3fa22)- 自動車向けアプリ ライブラリでメディアの再生中にコンテンツを表示するための
MediaPlaybackTemplate
を追加しました。(I3c10d) - 運転中のバックグラウンド音声をシステムがサポートしているかどうかをアプリが検出するための新しい API を追加しました。(I0f868)
バグの修正
- CAL クライアント コードと CAL ナビゲーション サンプルアプリのメモリリークとクラッシュの特定のインスタンスを修正しました。(I55e04)
- クラッシュを回避するため、
BaseCarAppActivity
のonDestroy
メソッドの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 の変更
- 古い
MapTemplate
、RoutePreviewNavigationTemplate
、PlaceListNavigationTemplate
を非推奨にし、新しい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
という名前の新しいテンプレート。地図内のコンテンツとしてリスト、グリッド、ペイン、メッセージをサポートします。RoutePreview
、PlaceListNavigation
、マップ テンプレートのサポートが終了しました。- サンプルアプリが更新され、
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)ListTemplate
でHeader
のサポートを追加し、headerAction
、headerTitle
、actionStrip
を非推奨にしました。(I7ae01)GridTemplate
のtitle
、headerAction
、actionStrip
のサポートを終了し、Header
のサポートを追加しました。(I41a9c)- 試験運用版 API(バッジ、
GridTemplate
アイテムサイズと画像形状のゲッター/セッター、バッジの取得/設定のGridItem
メソッド)のレベル 7 の要件を削除しました。(Id71eb) PaneTemplate
のtitle
、headerAction
、actionStrip
のサポートを終了し、新しいHeader
のサポートを追加しました。(I23154)- Media Center テレメトリーを
BroadcastReceiver
からブラウジング カスタム アクションに変更しました。(I4185f) MessageTemplate
でHeader
属性のサポートを追加しました。ActionStrip
、headerAction
、title
のサポートを非推奨にしました。(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/getTemplate
をset/get ContentTemplate
にしました(Ica036)- テンプレート パラメータは
@NonNull
になります。MapWithContentTemplate
API のドキュメントを更新しました。(I0f8ed) - CAL 1.4 でのリリースに向けて、
ListTemplate
のアクションの@ExperimentalCarApi
タグを削除(I2cfcb) TabTemplate
の@ExperimentalCarApi
タグを削除しました。(Ifcb82)- 行のセカンダリ アクションと装飾から
@ExperimentalCarApi
アノテーションを削除しました(I8487e) - アクティブなタブのコンテンツ ID を
TabTemplate
に追加し、タブのアクティブな状態を非推奨にしました(I96932) ItemImageShape
プロパティをGridTemplate
に追加しました。(Ibf431)GridTemplate
にItemSize
プロパティを追加しました。このプロパティは、相対的な小、中、大のバケットに応じてグリッドアイテムのサイズを制御します。(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)ConversationItem
とCarMessage
のequals()
と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-beta01
、androidx.car.app:app-projected:1.3.0-beta01
、androidx.car.app:app-automotive:1.3.0-beta01
、androidx.car.app:app-testing:1.3.0-beta01
がリリースされました。バージョン 1.3.0-beta01 に含まれる commit については、こちらをご覧ください。
- このライブラリを使用して作成された自動車向けアプリでは、API レベル 5 を使用して Play ストアにアクセスできるようになりました(デベロッパー ガイドをご覧ください)。API レベル 5 以下のアノテーションが付けられた機能は、Android Auto 8.1 以降と Google Automotive App Host 1.4 以降の両方と互換性があります。
新機能
Car App Library 1.3.0-alpha01 で追加された機能に加え、beta01 に次の機能が追加されました(ここで示しているすべての機能は、API の変更がないホスト側の変更のみです)。
- ユーザーが
PlaceListNavigationTemplate
、RoutePreviewNavigationTemplate
、MapTemplate
で地図ベースの選択画面を表示している場合でも、フローティング ナビゲーション バーが引き続き表示されるようになります。表示されるようにするには、NavigationManager.updateTrip()
を使用してナビゲーション情報を更新します。 FLAG_DEFAULT
でアクション ボタンを有効にすると、タイムアウト アニメーションが表示されます。このボタンは、タイムアウト後にデフォルトでクリックされます。([API 5 - All Templates]
)Row
サブテキストは、駐車中はすべて表示されますが、運転中に表示されるのは 2 行のみです。([API 5 - All Templates]
)Action
、Toggle
、Row
([API 5 - All Templates]
)の無効状態をサポートしました。
API の変更
- 選択可能リストをサポートするように
MapTemplate
リストの制約を緩和しました。(I961ed) - ヘッダー アクションの制約を解除して、カスタム アイコンが利用できるようにしました。(Iad28f)
- 制約
setOnClickListenerAllowed()
をActionsConstraints
に追加しました。それによって、Action
でOnClickDelegate()
を標準のアイコンタイプ以外のアクションに設定できるようなりました(TYPE_APP_ICON
、TYPE_BACK
、TYPE_PAN
)。(I3c745)
バグの修正
- Android Automotive Template Host 1.4 以降に曲面ディスプレイに対する互換性を追加しました。(
[Host change]
)
バージョン 1.3.0-alpha01
2022 年 7 月 27 日
androidx.car.app:app:1.3.0-alpha01
、androidx.car.app:app-projected:1.3.0-alpha01
、androidx.car.app:app-automotive:1.3.0-alpha01
、androidx.car.app:app-testing:1.3.0-alpha01
がリリースされました。バージョン 1.3.0-alpha01 に含まれる commit については、こちらをご覧ください。
API レベル 5 のアノテーションが付けられた機能は、Android Auto 7.9 以降と互換性があります。
新機能
- API レベル 5: ナビゲーション アプリがマップと一緒にペインを表示したり、コンテンツのリストを表示したりするために使用できる新しい
MapTemplate
(If5826、If44b8) - API レベル 5: ホスト車両のマイクを介した音声入力を録音できる新しい
CarAudioRecord
API(I5e71a) - API レベル 5: アプリがホストに提案を行うための新しい
SuggestionManager
API(I5c103) - API レベル 5:
NavigationTemplate
の通知をコンテキスト内に表示する新しいAlert
API(I163a7、I5ad70) - API レベル 5: テンプレート間での再利用を促進する新しい
Header
コンポーネントとMapController
コンポーネント(If5826) - POI アプリを有効にするカテゴリとして
androidx.car.app.category.POI
を追加しました(androidx.car.app.category.PARKING
とandroidx.car.app.category.CHARGING
のサポートは終了)(I59da1)
API の変更
- API レベル 5: 地図上でのタップのインタラクティビティを実現する
SurfaceCallback
インターフェースの新しいonClick
メソッド(Ia9777) - API レベル 5:
Action
を記述する新しいフラグAction.FLAG_IS_PERSISTENT
とAction.FLAG_DEFAULT
(I96318、I5ad70) - API レベル 5:
Action
、Row
、Toggle
コンポーネントの新しい有効 / 無効状態(ホストのサポートはライブラリの 1.3.0-beta01 リリースで追加予定)(Id8a09) - API レベル 5:
PlaceListNavigationTemplate.Builder
およびRoutePreviewNavigationTemplate.Builder
のsetHeader
を使用したHeader
コンポーネントを優先し、既存のsetTitle
およびsetHeaderAction
メソッドのサポートを終了(I30e6a) - API レベル 5: 新しい
OnContentRefreshListner
インターフェースの実装で使用する、PlaceListMapTemplate.Builder
とPlaceListNavigationTemplate.Builder
の新しいsetOnContentRefreshListner
メソッド - API レベル 5: 旅行の見積もりカードをカスタマイズするための、
TravelEstimate.Builder
の新しいsetTripText
とsetTripIcon
(Idcc6d、Ic620d) PaneTemplate
のタイトルにCarIconSpan
のサポートを追加(Ia1ee0)Row
のタイトルとテキストにCarIconSpan
のサポートを追加(Ic1e3c)- マップ
ActionStrip
で最大 4 つのアクションが設定可能になりました(If3522) - Car App API レベルを 5 に更新(I26b8e)
PlaceListMapTemplate
、PlaceListNavigationTemplate
、RoutePreviewNavigationTemplate
、GridTemplate
、ListTemplate
、LongMessageTemplate
、MessageTemplate
、PaneTemplate
、SignInTemplate
ではヘッダーとタイトルがオプションになりました(I2078D、Icadde)
バグの修正
- 正方形の境界ボックスにするよう
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
のメモリリークを修正しました(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 に含まれる commit については、こちらをご覧ください。
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: 複数長のテキストのサポートを追加し、自動車画面サイズに応じて複数のバージョンの文字列をアプリで表示可能に
- 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 に含まれる commit については、こちらをご覧ください。
新機能
- 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)