AndroidXとは何ですか?質問する

AndroidXとは何ですか?質問する

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?
  • 既存のプロジェクトにおけるユースケースと影響要因。

ベストアンサー1

AndroidX - Android 拡張ライブラリ

からAndroidX ドキュメント

Android オペレーティング システムにバンドルされているパッケージと、アプリの APK にパッケージ化されているパッケージを明確にするために、新しいパッケージ構造を導入しています。今後、android.* パッケージ階層は、オペレーティング システムに同梱される Android パッケージ用に予約されます。その他のパッケージは、AndroidX ライブラリの一部として、新しい androidx.* パッケージ階層で発行されます。

AndroidXの必要性

AndroidX は、パッケージ名をより明確にするために再設計されたライブラリです。そのため、今後はAndroid階層は Android オペレーティング システムに付属する Android デフォルト クラスのみを対象とし、その他のライブラリ/依存関係はAndroidxの一部になります(より合理的です)。そのため、今後はすべての新しい開発が 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:material

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

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

以前はsupport librarySDKバージョンを使用していましたが、AndroidXではSemantic-version28.0.0 → 1.0.0 にバージョンアップします。

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

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

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

既存のプロジェクト

  • Android Studio > リファクタリング メニュー > AndroidX に移行...
  • 分析が行われ、下部に Refractor ウィンドウが開きます。変更を承認して実行します。

画像

新しいプロジェクト

これらの旗をあなたのgradle.properties

android.enableJetifier=true
android.useAndroidX=true

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

チェック @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

参考:

おすすめ記事