Uzak depoları yönet

Bağımlılığınız yerel bir kitaplık veya dosya ağacı dışında bir şey olduğunda Gradle, settings.gradle dosyanızın dependencyResolutionManagement { repositories {...} } bloğunda belirtilen online depolardaki dosyaları arar. Her bir depoyu listelediğiniz sıra, Gradle'ın her 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.

Varsayılan olarak, yeni Android Studio projeleri, projenin settings.gradle dosyasında depo konumları olarak Google'ın Maven deposunu ve Maven merkezi deposunu belirtir. Bu durum aşağıdaki örnekte gösterilmiştir:

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 bir şey istiyorsanız mavenLocal() 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 depoları kılavuzuna bakın.

Google'ın Maven deposu

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

Mevcut tüm yapıları Google'ın Maven deposu dizininde görebilirsiniz. (Programatik erişim için Programatik erişim bölümüne bakın.)

Bu kitaplıklardan birini derlemenize eklemek için üst düzey build.gradle.kts dosyanıza Google'ın Maven deposunu 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/'.
    }
}

Ardından, seçtiğiniz kitaplığı modülünüzün dependencies bloğuna ekleyin. Örneğin, appcompat kitaplığı şu şekilde görünür:

Kotlin

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

Modern

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

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

Programatik 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 şu adreste 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/compiler/1.0.0/compiler-1. 0.0.pom.

SDK Manager'dan çevrimdışı depo

Google Maven deposunda bulunmayan kitaplıklar (genellikle eski kitaplık sürümleri) için çevrimdışı Google Deposu paketini SDK Manager'dan indirmeniz gerekir.

Ardından bu kitaplıkları her zamanki gibi dependencies bloğunuza ekleyebilirsiniz.

Çevrimdışı kitaplıklar android_sdk/extras/ klasörüne kaydedilir.