Android Jetpack(AndroidX)の導入方法とGoogle Mavenリポジトリの依存関係【Androidアプリ開発】
AndroidX APIはリポジトリにある
Android Jetpack(AndroidX)を使うには何かするの?って人向けに導入方法とGoogle Mavenリポジトリと依存関係について書いていきます。
Android Jetpackって何なの?って人は下記の記事へ。
Google Mavenリポジトリと依存関係
AndroidXはJetpackコンポーネントなんですが、AndroidプラットフォームAPIとは別の扱いになっています。AndroidXの機能を使うには個別にダウンロードする設定をする必要があります。AndroidXはGoogle Mavenリポジトリというライブラリを置いておくサーバーが有りそこからダウンロードして使えるようにしています。Android StudioはGradle(グレイドル)というビルドシステムを採用していてGradleのスクリプトファイルにダウンロードするライブラリを記述していくことでAndroidXが使えるようになります。どのライブラリを使うか、どのファイルを使ってビルドするのか管理することを【依存関係】といいます。ざっくりしすぎる説明で語弊があるかもですが、今の段階では『AndroidXを使うにはどこかからダウンロードして来るからその設定(依存関係の宣言)をしなくてはいけない』と思っててくれれば良いです。

Android Studioのフォルダ構成を見ると[Gradle]と言うファイルやフォルダがたくさんありますが、ビルド関係のファイルだと思って下さい。

Jetpackを使えるようにする
Android Studioでは自動で使える様にする設定が入りますが、一応説明しておきます。Jetpackを使えるようにするには下記の手順となります。①~③はプロジェクトで1回確認すれば良いですが④の依存関係は使用したい機能毎に追記していきます。
- API28以上のSDKをインストールする
- gradle.propertiesのAndroidXの項目をtrueにする
- リポジトリを設定する
- APIの依存関係を設定する
API28以上のSDKをインストールする
前提条件としてAndroidXはAPI28以上で使う事ができます。なのでAPI28以上のSDK Platformが入っていない場合はSDK Managerからインストールする必要があります。

compileSdkVersionが28以上になっている事を確認する
[app/build.gradle]の下記の項目を28以上になっている事を確認します。ファイルをダブルクリックする事で編集する事ができます。

compileSdkVersion 29
gradle.propertiesを確認する
[gradle.properties]ファイルでAndroidXを使う様に設定します。

下記の項目を[true]にします。
android.useAndroidX=true
android.enableJetifier=true
リポジトリの設定を確認する
[build.gradle]ファイルに[google()]を追記します。全てのプロジェクトでGoogle Mavenリポジトリとjcenterをリポジトリとして使いますよ、という設定になります。多分こちらも既に設定されています。

allprojects {
repositories {
google()
jcenter()
}
}
APIの依存関係を宣言する
[build.gradle]に使用するAPIを記述します。バージョンはリリースノートやGoogle Mavenリポジトリで確認できます。これはプロジェクトで使うAPI全てを記述する必要があります。書き方がわからない場合はAndroidデベロッパーのドキュメントの各コンポーネントのページに依存関係の書き方のサンプルが載ってるのでそちらを見ると良いです。こちらはAndroid Studioで使ってると勝手に入ってくれてるのでバージョンだけ確認すれば良いと思います。違うバージョンを使いたければ変更してください。
dependencies {
def lifecycle_version = "2.2.0"
def arch_version = "2.1.0"
// ViewModel
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
// LiveData
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
// Lifecycles only (without ViewModel or LiveData)
implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version"
}
ディスカッション
コメント一覧
まだ、コメントがありません