Uzak depoları yönet

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

Varsayılan olarak, yeni Android Studio projeleri Google'ın Maven deposunu ve Maven merkezi deposunu projenin settings.gradle dosyasında aşağıdaki gibi depo konumları olarak belirtir:

Kotlin

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

Groovy

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

Yerel bir depodan bir şey almak istiyorsanız mavenLocal() kullanın:

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

Alternatif olarak, belirli Maven veya Ivy depolarını aşağıdaki şekilde bildirebilirsiniz:

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

Daha fazla bilgi için Gradle Repositories 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:

Kullanılabilir tüm yapıtları Google'ın Maven veri havuzu dizininde görebilirsiniz (programatik erişim için aşağıya 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/".
    }
}

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

Ardından, 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")
}

Groovy

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

Ancak yukarıdaki kitaplıkların eski bir sürümünü kullanmaya çalışıyorsanız ve bağımlılığınız başarısız olursa bu kitaplık Maven deposunda kullanılamaz. Bunun yerine kitaplığı çevrimdışı depodan almanız gerekir.

Programatik erişim

Google'ın Maven yapıtlarına programatik erişim için maven.google.com/master-index.xml adresinden yapıt 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 Google Repository çevrimdışı paketini SDK Manager'dan indirmeniz gerekir.

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

Çevrimdışı kitaplıklar android_sdk/extras/ konumuna kaydedilir.