AndroidXに移行する

1x1.trans - AndroidXに移行する

2018からAndroidXが発表されていました。Android Studioには「Migrate」する機能やプロジェクト作成で選択できるようになっていましたが、いよいよ本格的に使わないといけない状況になったようです。

Android Studio 3.5.3
API 29




AndroidX

 

AndroidXはSupport Libraryの後継です。

AndroidはSDKと付随するSupport Libraryによって機能が提供されています。Support Libraryは、Support Library の機能ガイドによると、

  1. SDKがバージョンアップすると古いバージョンが動かなくなるのをサポート、下位互換を保持する
  2. 特定の機能については、SDKに入れずにSupport Libraryに入れる

それぞれバージョンアップで機能追加やバグ修正がありますが、SDKはある程度の長い期間(といっても半年1年)変更がありませんが、Suport Libraryは随時バージョンアップされます。
 

 

Support Libraryの問題

 

例えばimportでv4とv7のライブラリを呼ぶことがあります。

また、build.gradeの設定にもありそれぞれ他のライブラリーに合ったバージョンにしないとワーニングがでることが多々あります。

そのようなSupport Libraryがバージョンアップを繰り返した結果として、

このライブラリの成長が混乱をもたらしているということです。

Reference: AndroidX の紹介 – Google Developers Japan

 

AndroidXの登場

 

以上のような問題点を考慮して新しくしたものがAndroidXになります。
またこれはGoogleが推奨しています。

すべての新しいプロジェクトで AndroidX ライブラリを使用することをおすすめします。また、既存のプロジェクトを AndroidX に移行することもご検討ください。

reference: Support Library
実際のところAndroid SDK Platform 29 あるいはAndroid 9.+の環境では強制されています。

1x1.trans - AndroidXに移行する

前のバージョンでは「Use androidx.* artifacts」が選択できましたが、チェックを外すことはできなくなりました。

 

AndroidXによる変更点

 

新規プロジェクトはそのままで、あるいは「Use androidx.* artifacts」いいのですが、既存のSupport Libraryと AndroidX の違いは何でしょうか

AppCompatActivity:
Support Library

 
AndroidX

constraintlayout:

build.gradle:(Module: app)
Support Library

AndroidX

gradle.properties:
これはAndroidXに追加です

因みに、「Migrate to AndroidX…」というのが「Refactor」にあるのですがうまく機能しなかったのでプロジェクトを作り直すのが早いのかもしれません

その他、変更されたリストはこちら

AndroidX への移行 | Android Developers

References:
AndroidX の概要 | Android Developers
Support Library の機能ガイド | Android Developers
AndroidX の紹介 – Google Developers Japan
AndroidX への移行 | Android Developers
Jetpack – Android Developers
Support Library – Android Developers

シェアする

  • このエントリーをはてなブックマークに追加

フォローする