androidx は Android Jetpack ライブラリの名前空間です。
サポート ライブラリと同様に、androidx 名前空間内のライブラリは Android プラットフォームとは別個にリリースされ、Android の複数のリリース間で下位互換性を提供します。
AndroidX は、元の Android サポート
ライブラリを大幅に改良したものであり、サポート ライブラリはサポートされなくなりました。
androidx パッケージは、同等の機能と新しいライブラリを提供することで、完全にサポート ライブラリの代わりとなります。
さらに AndroidX には以下のような特徴があります。
AndroidX のライブ パッケージはすべて、文字列
androidxで始まる一貫した名前空間に属します。サポート ライブラリのパッケージは対応するandroidx.*パッケージにマッピングされました。以前のクラスとビルド アーティファクトから新しいものへのマッピングの一覧は、パッケージ のリファクタリングに関するページをご覧ください。サポート ライブラリとは異なり、
androidxのパッケージは個別に管理され、更新されます。Theandroidxパッケージはバージョン 1.0.0 から始まる厳格な セマンティック バージョニングを使用します。デベロッパーのプロジェクト内の AndroidX ライブラリを独立して更新できます。バージョン 28.0.0 が サポート ライブラリの最終リリースです。
android.supportライブラリの今後のリリースはありません。新機能の開発はすべてandroidx名前空間内で行われます。
プロジェクトでの androidx ライブラリの使用
現在の AGP は、デフォルトで androidx ライブラリの使用をサポートしています。既存の
プロジェクトを移行する方法については、AndroidX への移行に関するページをご覧ください。
移行していないプロジェクトや、移行していないレガシー依存関係があるプロジェクトの場合、
AGP はプロジェクトの
gradle.properties ファイルで設定できる次のフラグを提供します。
android.useAndroidX: Android Gradle プラグイン 9.0.0 以降ではデフォルトで true、9.0.0 より前のバージョンでは false。このフラグをtrueに設定すると、Android プラグインはサポート ライブラリの代わりに適切な AndroidX ライブラリを使用します。このフラグをfalseに設定する機能は、AGP 10 で削除される予定です。android.enableJetifier: このフラグをtrueに設定すると、Android プラグインは既存のサードパーティ ライブラリのバイナリを書き換えて、AndroidX 依存関係を使用するように自動的に移行します。フラグが指定されていない場合はデフォルトでfalseになり、公開されているライブラリの移行がほぼ完了しているため、AGP 10 で削除される予定です。
API リファレンス
androidx 名前空間内のパッケージとクラスはすべて、AndroidX リファレンス セクションに記載されています。
参考情報
コンポーネントについて詳しくは、Jetpack のホームページをご覧ください。サポート ライブラリから
`androidx` へのパッケージ リファクタリングについて詳しくは、そのトピックに関するブログ
投稿
をご覧ください。androidx