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