Uzak depoları yönet

Bağımlılığınız yerel kitaplık veya dosya ağacı dışında bir şey olduğunda 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 depolarda arama yapma sırasını belirler. Örneğin, 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 Google'ın Maven deposu ve Maven merkezi deposu, projenin settings.gradle dosyasında depo konumları olarak varsayılan olarak belirtilir:

Kotlin


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

Eski


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

Yerel bir depodan bir öğe isterseniz mavenLocal() işlevini kullanın:

Kotlin


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

Eski


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

İsterseniz belirli Maven veya Ivy depolarını da 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")
    }
}

Eski


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 son sürümleri Google'ın Maven deposunda bulunabilir:

Mevcut tüm yapıları Google'ın Maven deposu 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/".
    }
}

Eski


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, modülünüzün dependencies bloğuna istediğiniz kitaplığı ekleyin. Örneğin,appcompat kitaplığı şöyle görünür:

Kotlin


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

Eski


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

Bununla birlikte, 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 bu sürüm Maven deposunda bulunmaz. Bunun yerine 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, dilediğiniz 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/Buildr/1.0.0/Buildr-1 0.0.pom biçimindedir.

SDK Manager'dan çevrimdışı depo

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

Sonra bu kitaplıkları her zamanki gibi dependencies blokunuza ekleyebilirsiniz.

Çevrimdışı kitaplıklar android_sdk/extras/ içine kaydedildi.