Mengelola repositori jarak jauh

Jika dependensi Anda adalah sesuatu selain library lokal atau hierarki file, Gradle akan mencari file tersebut di repositori online mana pun yang ditentukan dalam blok dependencyResolutionManagement { repositories {...} } file settings.gradle Anda. Urutan pencantuman setiap repositori menentukan urutan pencarian repositori oleh Gradle untuk setiap dependensi project. Misalnya, jika sebuah dependensi tersedia dari repositori A dan B, dan Anda mencantumkan A terlebih dahulu, Gradle akan mendownload dependensi dari repositori A.

Secara default, project Android Studio baru akan menentukan Repositori Maven Google, dan Repositori pusat Maven sebagai lokasi repositori dalam file settings.gradle project, seperti ditampilkan di bawah ini:

Kotlin

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
    }
}

Groovy

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
    }
}

Jika Anda menginginkan sesuatu dari repositori lokal, gunakan 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()
    }
}

Atau Anda dapat mendeklarasikan repositori Maven atau Ivy tertentu seperti berikut:

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'
        }
    }
}

Untuk mengetahui informasi selengkapnya, baca Panduan Repositori Gradle.

Repositori Maven Google

Versi terbaru library Android berikut tersedia dari repositori Maven Google:

Anda dapat melihat semua artefak yang tersedia dalam indeks repositori Maven Google (lihat di bawah untuk akses terprogram).

Untuk menambahkan salah satu library ini ke build Anda, sertakan repositori Maven Google dalam file build.gradle.kts tingkat teratas:

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/'.
    }
}

Selanjutnya, tambahkan library yang diinginkan ke blok dependencies modul Anda. Misalnya, library appcompat akan terlihat seperti ini:

Kotlin

dependencies {
    implementation("com.android.support:appcompat-v7:28.0.0")
}

Groovy

dependencies {
    implementation 'androidx.appcompat:appcompat:1.7.0'
}

Namun, jika Anda mencoba menggunakan versi yang lebih lama dari library di atas dan dependensi Anda gagal, library tersebut tidak akan tersedia di repositori Maven dan Anda harus mendapatkan library dari repositori offline.

Akses terprogram

Untuk mendapatkan akses terprogram ke artefak Maven Google, Anda dapat memperoleh daftar XML grup artefak dari maven.google.com/master-index.xml. Kemudian, untuk grup apa saja, Anda dapat melihat nama dan versi library tersebut di:

maven.google.com/group_path/group-index.xml

Misalnya, library dalam grup android.arch.lifecycle dicantumkan di maven.google.com/android/arch/lifecycle/group-index.xml.

Anda juga dapat mendownload file POM dan JAR di:

maven.google.com/group_path/library/version /library-version.ext

Misalnya: maven.google.com/android/arch/lifecycle/compiler/1.0.0/compiler-1. 0.0.pom.

Repositori offline dari SDK Manager

Untuk library yang tidak tersedia dari repositori Maven Google (biasanya versi library yang lebih lama), Anda harus mendownload paket offline Repositori Google dari SDK Manager.

Selanjutnya, Anda dapat menambahkan library ini ke blok dependencies seperti biasa.

Library offline disimpan di android_sdk/extras/.