ローカル ライブラリまたはファイルツリー以外の依存関係がある場合、Gradle は settings.gradle
ファイルの dependencyResolutionManagement { repositories {...} }
ブロックで指定されたすべてのオンライン リポジトリでファイルを探します。リストでのリポジトリの配置順により、Gradle が各プロジェクトの依存関係を検索するリポジトリの順序が決まります。たとえば、ある依存関係がリポジトリ A とリポジトリ B の両方で使用でき、リストで A が最初に記述されている場合、Gradle はその依存関係をリポジトリ A からダウンロードします。
デフォルトでは、新規の Android Studio プロジェクトは、プロジェクトの settings.gradle
ファイルで、Google の Maven リポジトリと Maven セントラル リポジトリをリポジトリの場所として指定します。次に例を示します。
Kotlin
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
Groovy
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
ローカル リポジトリに含まれているものが必要な場合は、mavenLocal()
を使用してください。
Kotlin
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() mavenLocal() } }
Groovy
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() mavenLocal() } }
または、次のようにして特定の Maven リポジトリまたは Ivy リポジトリを宣言することもできます。
Kotlin
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { maven(url = "https://repo.example.com/maven2") maven(url = "file://local/repo/") ivy(url = "https://repo.example.com/ivy") } }
Groovy
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { maven { url 'https://repo.example.com/maven2' } maven { url 'file://local/repo/' } ivy { url 'https://repo.example.com/ivy' } } }
詳しくは、Gradle リポジトリ ガイドをご覧ください。
Google の Maven リポジトリ
以下の Android ライブラリの最新バージョンを Google の Maven リポジトリから入手できます。
- AndroidX ライブラリ
- アーキテクチャ コンポーネント ライブラリ
- Constraint Layout ライブラリ
- AndroidX Test
- データ バインディング ライブラリ
- Android Instant App ライブラリ
- Wear OS
- Google Play 開発者サービス
- Google Play 請求サービス ライブラリ
- Firebase
すべての利用可能なアーティファクトは、Google の Maven リポジトリ インデックスで確認できます(下のプログラムからのアクセスをご覧ください)。
上記のライブラリのいずれかをビルドに追加するには、最上位の build.gradle.kts
ファイルに Google の Maven リポジトリを含めます。
Kotlin
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() // If you're using a version of Gradle lower than 4.1, you must instead use: // maven { // url = "https://maven.google.com" // } // An alternative URL is "https://dl.google.com/dl/android/maven2/". } }
Groovy
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() // If you're using a version of Gradle lower than 4.1, you must instead use: // maven { // url 'https://maven.google.com' // } // An alternative URL is 'https://dl.google.com/dl/android/maven2/'. } }
次に、目的のライブラリをモジュールの dependencies
ブロックに追加します。たとえば、appcompat ライブラリの場合は次のようになります。
Kotlin
dependencies { implementation("com.android.support:appcompat-v7:28.0.0") }
Groovy
dependencies { implementation 'androidx.appcompat:appcompat:1.7.0' }
ただし、上記のライブラリの古いバージョンを利用しようとして依存関係が解決されなかった場合、Maven リポジトリからはライブラリを入手できないため、オフライン リポジトリから入手する必要があります。
プログラムからのアクセス
Google の Maven アーティファクトにプログラムからアクセスするために、XML 形式のアーティファクト グループのリストを maven.google.com/master-index.xml から取得できます。そうすると、次のファイルから任意のグループのライブラリ名とバージョンを確認できます。
maven.google.com/group_path/group-index.xml
たとえば、android.arch.lifecycle グループのライブラリは、maven.google.com/android/arch/lifecycle/group-index.xml にリストされています。
次の場所から POM ファイルと JAR ファイルをダウンロードすることもできます。
maven.google.com/group_path/library/version/library-version.ext
例: maven.google.com/android/arch/lifecycle/compiler/1.0.0/compiler-1. 0.0.pom
SDK Manager のオフライン リポジトリ
Google Maven リポジトリから入手できないライブラリ(古いバージョンのライブラリなど)の場合は、SDK Manager からオフライン Google Repository パッケージをダウンロードする必要があります。
その後は通常どおり、dependencies
ブロックにライブラリを追加できます。
オフライン ライブラリは android_sdk/extras/
に保存されます。