Uzak depoları yönet

Bağımlılığınız yerel kitaplık veya dosya ağacı dışında bir şeyse Gradle, dosyaları settings.gradle dosyanızın dependencyResolutionManagement { repositories {...} } bloğunda belirtilen online depolarda arar. Her bir depoyu listeleme sıranız, Gradle'ın her bir proje bağımlılığı için depoları arama sırasını belirler. Örneğin, bir bağımlılık hem A hem de B deposunda mevcutsa ve önce A'yı listelerseniz Gradle, bağımlılığı A deposundan indirir.

Aşağıda gösterildiği gibi, yeni Android Studio projelerinde varsayılan olarak Google'ın Maven deposu, projenin settings.gradle dosyasındaki depo konumları olarak Maven merkezi depo konumu belirtilir:

Kotlin


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

Modern


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

Yerel bir depodan öğe almak istiyorsanız mavenLocal() komutunu kullanın:

Kotlin


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

Modern


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

Belirli Maven veya Ivy depolarını aşağıdaki gibi de tanımlayabilirsiniz:

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")
    }
}

Modern


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

Daha fazla bilgi için Gradle Kod Depoları kılavuzuna bakın.

Google'ın Maven deposu

Aşağıdaki Android kitaplıklarının en son sürümleri Google'ın Maven deposunda mevcuttur:

Mevcut tüm yapıları Google'ın Maven depo dizininde görebilirsiniz (programatik erişim için aşağıya bakın).

Derlemenize bu kitaplıklardan birini eklemek için Google'ın Maven deposunu üst düzey build.gradle.kts dosyanıza ekleyin:

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

Modern


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

Daha sonra, istediğiniz kitaplığı modülünüzün dependencies bloğuna ekleyin. Örneğin,appcompat kitaplığı aşağıdaki gibi görünür:

Kotlin


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

Modern


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

Ancak yukarıdaki kitaplıkların daha eski bir sürümünü kullanmaya çalışıyorsanız ve bağımlılığınız başarısız olursa Maven deposunda mevcut değildir ve kitaplığı çevrimdışı depodan almanız gerekir.

Programlı erişim

Google'ın Maven yapılarına programatik erişim için maven.google.com/master-index.xml adresinden yapı gruplarının XML listesini alabilirsiniz. Ardından, herhangi bir grubun kitaplık adlarını ve sürümlerini şurada görüntüleyebilirsiniz:

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

Örneğin, android.arch.lifecycle grubundaki kitaplıklar maven.google.com/android/arch/lifecycle/group-index.xml adresinde listelenir.

POM ve JAR dosyalarını şu adresten de indirebilirsiniz:

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

Örneğin: maven.google.com/android/arch/lifecycle/derr/1.0.0/derr-1. 0.0.pom olarak adlandırılır.

SDK Yöneticisi'nden çevrimdışı depo

Google Maven deposunda bulunmayan kitaplıklarda (genellikle daha eski kitaplık sürümleri) çevrimdışı Google Repository paketini SDK Yöneticisi'nden indirmeniz gerekir.

Ardından bu kitaplıkları her zamanki gibi dependencies blokunuza ekleyebilirsiniz.

Çevrimdışı kitaplıklar android_sdk/extras/ dosyasına kaydedilir.