[解決済み】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
? - 既存プロジェクトにおけるユースケースと影響要因。
どのように解決するのか?
AndroidX - Android 拡張ライブラリ
新しいパッケージ構造を導入し、どのような パッケージは、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.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
関連
-
[解決済み] 現在のテーマでスタイル 'coordinatorLayoutStyle' を見つけることができませんでした。
-
[解決済み] [Solved] java.lang.RuntimeException: アクティビティーのインスタンス化ができません ComponentInfo
-
[解決済み] Androidのgravityとlayout_gravityの違いは何ですか?
-
[解決済み] Androidでイメージビューの背景を透明に設定する
-
[解決済み] setBackgroundDrawable() 非推奨
-
[解決済み] Android M パーミッション : shouldShowRequestPermissionRationale()関数の使用方法について混乱しています。
-
[解決済み] Androidの「コンテキスト」とは何ですか?
-
[解決済み] match_parentとfill_parentの違いは何ですか?
-
[解決済み] Androidの新しいActionBarをサポートするTheme.AppCompat.Lightが見つからない
-
[解決済み】「px」、「dip」、「dp」、「sp」の違いは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】アンドロイドクロームブラウザのモバイルウェブアプリケーションのメニューでHTMLユニコード ☰が検出されない。
-
[解決済み】Android Studioでused import文がunused import文に指定されるのはなぜ?
-
[解決済み】sendUserActionEvent()がnullである。
-
[解決済み] Android Studioで「URIが登録されていません」と報告されるのはなぜですか?[クローズド]
-
[解決済み] Androidでイメージビューの背景を透明に設定する
-
[解決済み] Android: @drawable/picture を drawable に変換するのに失敗しました。
-
[解決済み] エラー: Program type already present: android.support.design.widget.CoordinatorLayout$Behavior
-
[解決済み] Android: ボタンや画像ボタンにテキストと画像を組み合わせて表示する
-
[解決済み】Android StudioのエディターでRecyclerViewの内容をプレビュー表示する方法はありますか?
-
[解決済み】Android Materialとappcompat Manifestのマージに失敗しました。