The Android Developer Challenge is back! Submit your idea before December 2.

AndroidX の概要

AndroidX は Android チームが Jetpack 内でのライブラリの開発、テスト、パッケージ、バージョン管理、リリースに使用しているオープンソース プロジェクトです。

AndroidX は元の Android Support Library を大幅に改良しています。Support Library と同様に、AndroidX も Android OS とは別個にリリースされ、Android のリリース全体にわたって下位互換性を提供します。AndroidX は、同等の機能と新しいライブラリを提供することで、完全に Support Library の代わりとなります。さらに AndroidX には以下のような特徴があります。

  • AndroidX のパッケージはすべて、文字列 androidx で始まる一貫した名前空間に属します。Support Library のパッケージは対応する androidx.* パッケージにマッピングされました。以前のクラスとビルド アーティファクトから新しいものへのマッピングの一覧は、パッケージのリファクタリングに関するページをご覧ください。

  • Support Library とは異なり、AndroidX のパッケージは個別に管理され、更新されます。androidx のパッケージはバージョン 1.0.0 から始まる厳格なセマンティック バージョニングを使用します。デベロッパーのプロジェクト内の AndroidX ライブラリを独立して更新できます。

  • Support Library の新規の開発はすべて AndroidX ライブラリ内で行われます。これには元の Support Library のアーティファクトのメンテナンスや、新しい Jetpack コンポーネントの導入が含まれます。

AndroidX を使用する

既存のプロジェクトを移行する方法については、AndroidX への移行に関するページをご覧ください。

新しいプロジェクトで AndroidX を使用する場合は、Compile SDK を Android 9.0(API レベル 28)以上に設定し、gradle.properties ファイル内で以下の Android Gradle プラグイン フラグをどちらも true に設定する必要があります。

  • android.useAndroidX: true に設定すると、Android プラグインは Support Library ではなく、該当する AndroidX ライブラリを使用します。設定しない場合、このフラグはデフォルトで false です。
  • android.enableJetifier: true に設定すると、Android プラグインは既存のサードパーティ ライブラリのバイナリを書き換えて、AndroidX を使用するように自動的に移行します。設定しない場合、このフラグはデフォルトで false です。

AndroidX リファレンス

AndroidX のパッケージとクラスはすべて AndroidX リファレンス セクションに記載されています。

参考情報

Jetpack コンポーネントは AndroidX ライブラリの一部です。コンポーネントについて詳しくは、Jetpack ホームページをご覧ください。

Support Library から AndroidX へのパッケージのリファクタリングについて詳しくは、こちらのブログ投稿をご覧ください。