Googleは、新しいAndroid拡張ライブラリ(AndroidX)の早期プレビューを開始します。これは基本的に、既存のAndroidサポートライブラリおよびアーキテクチャパッケージを、 ドキュメント 。
しかし、これらのAndroid
とandroidx
パッケージの実際の違いは何ですか。これら2つのパッケージの適切な使用例と、既存のAndroidパッケージをandroidxパッケージに変換する方法。これらの変換をサポートするパッケージ/ライブラリはどれですか?
AndroidXは基本的に、Googleがパッケージ構造で作成した大きなリファクタリングです。多くのクラスの場所を変更して、システムにバンドルされているクラスとバンドルされていないクラスを明確にしました。
述べたように 彼らのドキュメントで :
新しいパッケージ構造を展開して、Androidオペレーティングシステムにバンドルされているパッケージ、およびアプリのAPKにパッケージ化されているパッケージを明確にします。 _
Android.*
_パッケージ階層はオペレーティングシステムに同梱されているAndroidパッケージに予約され、他のパッケージは新しい_androidx.*
_パッケージ階層で発行されます。
バージョン28までの古いサポートライブラリはそのまま使用できますが、サポートライブラリの新しいバージョンは、バージョン1.0.0以降のAndroidXパッケージリファクターの下でリリースされます。
また、 リファクタリングリストから :
パッケージとMavenアーティファクト名のみが影響を受けます。クラス、メソッド、およびフィールド名は変更されていません。
言い換えれば、彼らはライブラリを整理しているだけです。あなたはそれについてもっと読むことができます 彼らのブログ投稿で 。
AndroidXは、AndroidチームがJetpack内でライブラリを開発、テスト、パッケージ、バージョン、およびリリースするために使用するオープンソースプロジェクトです。
AndroidXは、元のAndroidサポートライブラリを大幅に改善したものです。サポートライブラリと同様に、AndroidXはAndroid OSとは別に出荷され、Androidリリース間で後方互換性を提供します。 AndroidXは、機能パリティと新しいライブラリを提供することにより、サポートライブラリを完全に置き換えます。さらに、AndroidXには次の機能が含まれています。
AndroidXのすべてのパッケージは、文字列androidxで始まる一貫したネームスペースに存在します。サポートライブラリパッケージは、対応するandroidx。*パッケージにマップされています。すべての古いクラスとビルドアーティファクトの新しいクラスへの完全なマッピングについては、パッケージリファクタリングページを参照してください。サポートライブラリとは異なり、AndroidXパッケージは個別にメンテナンスおよび更新されます。 androidxpackagesは、バージョン1.0.0以降の厳密なセマンティックバージョニングを使用します。プロジェクト内のAndroidXライブラリを個別に更新できます。新しいサポートライブラリの開発はすべて、AndroidXライブラリで行われます。これには、元のサポートライブラリアーティファクトのメンテナンスと新しいJetpackコンポーネントの導入が含まれます。
ソース: AndroidXの概要