Jetpack はライブラリ スイートです。ベスト プラクティスを取り入れ、ボイラープレート コードを減らし、Android バージョンやデバイスが変わっても一貫して機能するコードの作成を助け、コーディングの負担を軽減します。
UI 開発をシームレスにするために、VariableFonts や SwipeToRefresh などの新機能が追加されました。また、さまざまな Compose の安定版リリースを追跡できるように、Compose BOM を導入しました。
Paging 3 は、Kotlin のコルーチンと Flow を強力にサポートします。また、Compose 統合の土台となります。このバージョンでは、実装でのボイラープレートの削減に重点を置いています。
Wear OS で Compose を活用しましょう。Wear OS 向け Compose は、コア Compose ライブラリをベースとして、追加のウェアラブル固有コンポーネントと、必要に応じて、ウェアラブル デバイスに合わせて調整されたコア Compose コンポーネントの別の実装を提供します。

Android Jetpack を使用する理由

Android Jetpack ライブラリは最新の設計プラクティスに基づいており、下位互換性を備え、クラッシュやメモリリークを最小限に抑えます。
Android Jetpack はバックグラウンド タスク、ナビゲーション、ライフサイクル管理などの煩雑な設定を削減でき、アプリの基幹機能に開発リソースを集中することができます。
Android のバージョンやデバイスを問わず一貫して動作するライブラリにより、複雑さを軽減できます。

* 人気のライブラリや頻繁に使用されるライブラリを先に表示しています

activity *アクティビティの上に構築されるコンポーズ可能な API にアクセスします。
appcompat *プラットフォームの古い API バージョン(多くの API がマテリアル デザインを使用)で新しい API にアクセスできるようにします。
appsearch *ユーザー向けにカスタムのアプリ内検索機能を構築します。
camera *モバイル カメラアプリを構築します。
compose *形状とデータの依存関係を記述するコンポーズ可能な関数を使用して、UI をプログラムで定義します。
databinding *宣言形式を使用して、レイアウト内の UI コンポーネントをアプリ内のデータソースにバインドします。
fragment *アクティビティ内でホストされる複数の独立した画面にアプリを分割します。
hilt *Dagger Hilt の機能を拡張して、androidx ライブラリから特定のクラスの依存関係インジェクションを可能にします。
lifecycle *アクティビティまたはフラグメントの現在のライフサイクル状態に基づいて動作を調整できるライフサイクル対応コンポーネントを構築します。
マテリアル デザイン コンポーネント * Android 用のモジュール式でカスタマイズ可能なマテリアル デザイン UI コンポーネント。
navigation *アプリ内 UI の構築と構造化、ディープリンクの処理、画面間の移動を行います。
paging *データをページに読み込み、RecyclerView に表示します。
room *SQLite データベースに支えられた永続的なデータを作成、保存、管理します。
test *Android でテストを実施します。
work *延期可能な制約ベースのバックグラウンド タスクをスケジューリングして実行します。
adsPlay 開発者サービスの有無にかかわらず、広告 ID を取得します。
annotationツールと他のデベロッパーがアプリのコードを理解するのに役立つメタデータを公開します。
arch.coreLiveData で使用できる JUnit テストルールを含む、他の arch 依存関係のヘルパー。
asynclayoutinflaterUI でジャンクが発生しないように、レイアウトを非同期でインフレートします。
autofillヒントを拡張して自動入力の精度を高めます。
benchmarkAndroid Studio 内でコードのパフォーマンスを正確に測定します。
biometric生体認証システムまたはデバイス認証情報で認証を行い、暗号オペレーションを実行します。
browserユーザーのデフォルト ブラウザにウェブページを表示します。
car-appAndroid Auto と Android Automotive OS 向けのナビゲーション アプリやスポットアプリを作成します。
cardview丸い角とドロップ シャドウを使用したマテリアル デザイン カードパターンを実装します。
collection小規模な既存のコレクションおよび新しいコレクションのメモリへの影響を軽減します。
compose.animationJetpack Compose アプリ内でアニメーションを作成して、ユーザー エクスペリエンスを高めます。
compose.compiler@Composable 関数を変換し、Kotlin コンパイラ プラグインで最適化を有効にします。
compose.foundationすぐに使用できるビルディング ブロックで Jetpack Compose アプリを作成し、基盤を拡張して独自のデザイン システム要素を構築します。
compose.materialすぐに使用できるマテリアル デザイン コンポーネントで Jetpack Compose UI を構築します。Compose の上位レベルのエントリ ポイントであり、www.material.io のガイドラインと適合するコンポーネントを提供するように設計されています。
compose.material3マテリアル デザインの進化版であるマテリアル デザイン 3 コンポーネントで Jetpack Compose UI を構築します。マテリアル 3 には、最新のテーマ設定とコンポーネント、ダイナミック カラーなどの Material You のパーソナライズ機能が含まれており、Android 12 の新しい視覚的スタイルとシステム UI と調和するように設計されています。
compose.runtimeCompose のプログラミング モデルと状態管理の基本ビルディング ブロックと、Compose コンパイラ プラグインがターゲットとするコアランタイム。
compose.uiレイアウト、描画、入力など、デバイスの操作に必要な Compose UI の基本コンポーネント。
concurrentコルーチンを使用してメインスレッドからタスクを移動し、ListenableFuture を活用します。
constraintlayout相対位置を使用して、ウィジェットの位置とサイズを柔軟に調整します。
contentpagerバックグラウンド スレッドで ContentProvider データの読み込みとページングを行います。
coordinatorlayoutAppBarLayout や FloatingActionButton など、最上位のアプリ ウィジェットを配置します。
core最新のプラットフォーム機能と API をターゲットにしつつ、古いデバイスもサポートします。
core.uwbサポート対象のデバイスに超広帯域無線(UWB)を実装します。
credentials このライブラリはユーザーの認証情報への統合アクセスを提供します。パスワード、パスキー、フェデレーションの認証情報などが含まれます。このライブラリは、シームレスで安全なログイン エクスペリエンスを提供する際に使用します。
cursoradapterカーソルデータを ListView ウィジェットに公開します。
customviewカスタムビューを実装します。
datastore一貫性のある、トランザクションとしてのデータの保存を非同期で行い、SharedPreferences の欠点の一部を解消します。
documentfileファイル ドキュメントを表示します。
draganddrop別のアプリからの、またはアプリ内でのドラッグ&ドロップデータを受け入れ、一貫したドロップ ターゲット アフォーダンスを表示します。
drawerlayoutマテリアル デザインのドロワー ウィジェットを実装します。
dynamicanimation物理理論を取り入れたアニメーション API で、スムーズなアニメーションを作成します。
emoji現在のデバイスと古いデバイスで絵文字を表示します。
emoji2現在のデバイスと古いデバイスで絵文字を表示します。
enterpriseエンタープライズ対応アプリを作成します。
exifinterface画像ファイルの EXIF タグの読み取りと書き込みを行います。
gamesアプリ内で Android Game SDK をネイティブに使用して、フレーム ペーシングなどの複雑なゲームタスクを実行します。
glanceJetpack Compose スタイルの API を使用して、リモート サーフェスのレイアウトを作成します。
graphics複数の Android プラットフォーム リリースでグラフィック機能を利用します
gridlayoutグリッド レイアウトを実装します。
healthプラットフォームに依存しない方法で高性能のヘルスケア アプリを作成します。
health.connectユーザーの健康状態やフィットネスの記録をデベロッパーが読み取り/ 書き込みできるようにします。
heifwriter利用可能なコーデックを Android デバイスで使用して、画像または画像コレクションを HEIF 形式でエンコードします。
input今後の MotionEvents を予測して、入力インタラクションのレイテンシを短縮します
interpolator古いプラットフォームでアニメーション インターポレータを使用します。
javascriptengineAndroid アプリで JavaScript を評価できるようにします。
jetifier非推奨のサポート ライブラリに対するライブラリの依存関係を同等の AndroidX 依存関係に移行するスタンドアロン ツール。
leanbackDPAD 対応のウィジェットとテンプレート フラグメントを使用して、Android TV デバイス向けのアプリを作成します。
legacyこのアーティファクトとそのクラスは非推奨になりました。Android 8 以降、バックグラウンド チェックの制限により、このクラスは有用でなくなりました。
loader設定の変更後も保持される UI のデータを読み込みます。
localbroadcastmanagerこのアーティファクトとそのクラスは非推奨になりました。代わりに、LiveData ストリームまたはリアクティブ ストリームを使用してください。
mediaメディアのコンテンツとコントロールを他のアプリと共有します。media2 が優先されます。
media2メディアのコンテンツとコントロールを他のアプリと共有します。
media3 *メディアのユースケースのサポート ライブラリ。
mediarouter共通のユーザー インターフェースを使用して、リモートの受信デバイスでメディアの表示と再生を有効にします。
multidex複数の dex ファイルを使用するアプリを Android 5 より前のデバイスにデプロイします。
metricsアプリのさまざまなランタイム指標を追跡して報告します
palette画像から代表的なカラーパレットを抽出します。
percentlayoutこのアーティファクトとそのクラスは非推奨になりました。代わりに、ConstraintLayout と関連レイアウトを使用してください。
preferenceデバイス ストレージの操作や UI の管理なしで、インタラクティブな設定画面を構築します。
printアプリから、写真、ドキュメント、その他のグラフィックと画像を印刷します。
privacysandbox.adsこのライブラリにより、Android 版プライバシー サンドボックスの一部であるプライバシー保護 API との統合が可能になります。
privacysandbox.sdkruntimeこのライブラリは SdkRuntime 対応コンシューマ用のコンポーネントを提供します。
privacysandbox.toolsAndroid でプライバシー サンドボックス機能を活用するためのライブラリ。
profileinstallerART によって読み取られる事前コンパイル トレースをライブラリが事前取り込みできるようにします。
recommendationAndroid TV ランチャーのホーム画面におすすめのコンテンツを表示します。
recyclerviewメモリ使用量を最小限に抑えつつ、大規模なデータのセットを UI に表示します。
remotecallbackデベロッパーが PendingIntent を提供しやすくするためのラッパーを作成します。
resourceinspectionAndroid Studio の Live Layout Inspector にカスタムビューの属性を表示します。
savedstateプロセスの終了時に UI の状態を保存し、プロセスの再開時にその状態を復元するプラグイン可能なコンポーネントを作成します。
security鍵を安全に管理し、ファイルと sharedpreference を暗号化します。
sharetargetショートカットを直接共有ターゲットとして使用するための下位互換性を提供します。
sliceテンプレート化された UI 要素をアプリ外で表示します。
slidingpanelayoutスライディング ペイン UI パターンを実装します。
startupアプリの起動時にコンポーネントを初期化する簡単で効率的な方法を実装します。
sqliteローカル SQLite データベースを操作します。可能であれば、代わりに Room を使用してください。
swiperefreshlayoutスワイプで更新する UI パターンを実装します。
test.uiautomatorクロスアプリで機能する UI テスト用のフレームワークです。
textclassifierテキスト内の会話、リンク、選択内容などの構造を識別します。
tracingトレース イベントをシステム トレース バッファに書き込みます。
transition開始レイアウトと終了レイアウトで UI のモーションにアニメーションを付けます。
tvテレビ用のアプリを作成するための Compose とマテリアル デザインの機能をデベロッパーに提供します。
tvproviderAndroid TV のチャンネルを提供します。
vectordrawableベクター グラフィックをレンダリングします。
versionedparcelable安定したコンパクトなバイナリ シリアル化形式を提供します。この形式は、プロセス間で渡すことも安全に永続化することもできます。
viewpagerビューまたはフラグメントをスワイプ可能な形式で表示します。可能であれば、代わりに viewpager2 を使用してください。
viewpager2ビューまたはフラグメントをスワイプ可能な形式で表示します。
wearWear OS by Google スマートウォッチ向けのアプリを作成します。
wear.composeウェアラブル固有のデバイス、サイズ、形状、ナビゲーション操作をサポートする機能を提供して、ウェアラブル デバイス向けの Jetpack Compose アプリを作成します。
wear.protolayoutこのライブラリを使用すると、一連の UI レイアウトと UI 以外の式をリモート サーフェスでレンダリング / 評価できます。
wear.tilesWear OS by Google スマートウォッチ向けのアプリを作成します。
wear.watchfaceWear OS by Google スマートウォッチ向けのアプリを作成します。
webkitAndroid 5 以上で、最新の WebView API を操作します。
window折りたたみ式デバイスなど、さまざまなデバイス フォーム ファクタをサポートできるようにします。
Compose 10 月 22 日リリース
UI 開発をシームレスにするために、VariableFonts や SwipeToRefresh などの新機能が追加されました。また、さまざまな Compose の安定版リリースを追跡できるように、Compose BOM を導入しました。また、安定版 Material3 のサポートも追加されました。

詳しくは、ブログ投稿をご覧ください。
Car 1.2.0
Android Automotive OS プラットフォームをターゲットとする 1.2.0 でビルドされた自動車向けアプリを、Play ストアのオープンテスト チャネルに公開できるようになりました。
Espresso 3.5.0
テスト用のトレースを追加しました。これにより、perfetto でテスト実行のトレースを表示したときに、テスト固有のスパンが表示されるようになりました。

Jetpack の使い方を学ぶ

Android Kotlin 基礎コースで重要な Jetpack ライブラリについて学び、アプリのボイラープレートを減らしましょう。
データレイヤを簡素化する 3 つの Jetpack ライブラリ(LiveData、ViewModel、Room)を使ってみましょう。
利用率が高い Jetpack ライブラリを製品版レベルのアプリで使用する例をご覧ください。

ニュースと動画