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 拡張ライブラリ
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 library
SDKバージョンを使用していましたが、AndroidXではSemantic-version
28.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.supportパッケージでの最後の機能リリースとなり、開発者はAndroidX 1.0.0への移行が推奨されます。
Android は今後 androidx パッケージのみを更新するため、AndroidX を選択してください。
参考文献
https://developer.android.com/topic/libraries/support-library/androidx-overview