1. ホーム
  2. アンドロイド

[解決済み】AndroidXとは何ですか?

2022-04-15 14:39:19

質問

Androidのルームライブラリについて読んでいます。パッケージが変更されたようですが android から androidx . 私はそれが理解できませんでした。誰か説明してください。

implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"

これでもかというほど android パッケージもあります。

implementation "android.arch.persistence.room:runtime:$room_version"
annotationProcessor "android.arch.persistence.room:compiler:$room_version"

  • で新しいサポートライブラリのパッケージングが必要だったもの。 androidx ではなく android ?
  • 既存プロジェクトにおけるユースケースと影響要因。

どのように解決するのか?

AndroidX - Android 拡張ライブラリ

から AndroidXのドキュメント

新しいパッケージ構造を導入し、どのような パッケージは、Android オペレーティングシステムにバンドルされ、どれが アプリのAPKと一緒にパッケージされています。今後、android.* パッケージは の階層は、Android に同梱されるパッケージのために確保されます。 オペレーティングシステムを使用します。その他のパッケージは、新しいandroidx.*で発行される予定です。 パッケージ階層で発行されます。

AndroidXの必要性

AndroidXは、パッケージ名をより分かりやすくするために再設計されたライブラリです。そのため、これからは アンドロイド 階層は、アンドロイドOSに付属するアンドロイドのデフォルトクラスのみを対象とし、その他のライブラリや依存関係は アンドロイドX (より理にかなっている)。というわけで、今後、新しい開発はすべてandroidxで更新されることになります。

com.android.support.** : androidxです。

com.android.support:appcompat-v7 : androidx.appcompat:appcompat com.android.support:recyclerview-v7 : androidx.recyclerview:recyclerview com.android.support:design : com.google.android.material:マテリアル

AndroidX パッケージの完全なアーティファクトマッピング

AndroidXは セマンティックバージョン

以前は support library はSDKのバージョンを使用していましたが、AndroidXでは Semantic-version . 28.0.0 → 1.0.0に再バージョンされるそうです。

現在のプロジェクトを移行する方法

Android Studio 3.2(2018年9月)では、既存のプロジェクトを移行するための直接のオプションがあります。 AndroidX . これにより、すべてのパッケージが自動的にリファクタリングされます。

移行する前に、プロジェクトをバックアップすることを強くお勧めします。

<ブロッククオート

既存のプロジェクト

  • Android Studio > Refactor Menu > Migrate to AndroidX...
  • 解析が行われ、下部にRefractorウィンドウが表示されます。実行する変更を受け付けます。

新規プロジェクト

これらのフラグを gradle.properties

android.enableJetifier=true
android.useAndroidX=true

チェック AndroidXパッケージと同等のライブラリマッピング .

チェック Migrate to AndroidXの公式ページ

Jetifierとは何ですか?

マイグレーション時の不具合

  • アプリを構築し、移行後にいくつかのエラーを発見した場合、それらのマイナーなエラーを修正する必要があります。簡単に修正できるので、そこで立ち往生することはないでしょう。
  • サードパーティのライブラリは、ディレクトリ内ではAndroidXに変換されませんが、ランタイムで ジェット機 そのため、コンパイル時のエラーについて心配する必要はなく、アプリは完全に実行されます。

サポート28.0.0は最後のリリースですか?

から Androidサポートリビジョン28.0.0

となります。 android.supportの下での最後の機能リリース パッケージング AndroidX 1.0.0への移行が推奨されます。

Androidは今後androidxパッケージのみを更新していくので、AndroidXに移行してください。

その他の情報

https://developer.android.com/topic/libraries/support-library/androidx-overview

https://android-developers.googleblog.com/2018/05/hello-world-androidx.html