Quản lý kho lưu trữ từ xa

Khi phần phụ thuộc của bạn không phải là thư viện cục bộ hoặc cây tệp, Gradle sẽ tìm các tệp trong bất kỳ kho lưu trữ trực tuyến nào được chỉ định trong khối dependencyResolutionManagement { repositories {...} } của tệp settings.gradle. Thứ tự liệt kê của mỗi kho lưu trữ sẽ xác định thứ tự Gradle tìm kiếm kho lưu trữ cho từng phần phụ thuộc của dự án. Ví dụ: nếu một phần phụ thuộc có sẵn trong cả kho lưu trữ A và B, và bạn liệt kê A trước, thì Gradle sẽ tải phần phụ thuộc đó xuống qua kho lưu trữ A.

Theo mặc định, các dự án Android Studio mới sẽ chỉ định kho lưu trữ Maven của Googlekho lưu trữ trung tâm Maven làm vị trí lưu trữ trong tệp settings.gradle của dự án, như minh hoạ bên dưới:

Kotlin


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

Groovy


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

Nếu bạn cần một nội dung từ kho lưu trữ cục bộ, hãy sử dụng 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()
    }
}

Bạn cũng có thể khai báo các kho lưu trữ Maven hoặc Ivy cụ thể như sau:

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

Để biết thêm thông tin, hãy xem Hướng dẫn Kho lưu trữ Gradle.

Kho lưu trữ Maven của Google

Phiên bản mới nhất của các thư viện Android sau đây có sẵn từ kho lưu trữ Maven của Google:

Bạn có thể xem tất cả cấu phần phần mềm có sẵn tại Mục lực kho lưu trữ Maven của Google (xem phần bên dưới để biết về Quyền truy cập có lập trình).

Để thêm một trong những thư viện này vào bản dựng, hãy đưa kho lưu trữ Maven của Google vào trong tệp build.gradle.kts cấp cao nhất:

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

Sau đó, hãy thêm thư viện mong muốn vào khối dependencies của mô-đun. Chẳng hạn như, thư viện appcompat có dạng như sau:

Kotlin


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

Groovy


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

Tuy nhiên, nếu cố gắng sử dụng một phiên bản cũ hơn của các thư viện trên và không có phần phụ thuộc, thì thư viện đó không có sẵn trong kho lưu trữ Maven và bạn phải tải từ kho lưu trữ ngoại tuyến.

Quyền truy cập có lập trình (Programmatic access)

Để có quyền truy cập có lập trình vào các cấu phần phần mềm Maven của Google, bạn có thể lấy danh sách XML về các nhóm cấu phần phần mềm từ maven.google.com/master-index.xml. Sau đó, bạn có thể xem tên thư viện và phiên bản thư viện của bất kỳ nhóm nào tại:

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

Chẳng hạn như, các thư viện trong nhóm android.arch.lifecycle được liệt kê trên trang maven.google.com/android/arch/lifecycle/group-index.xml.

Bạn cũng có thể tải tệp POM và JAR xuống tại:

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

Ví dụ: maven.google.com/android/arch/lifecycle/compiler/1.0.0/compiler-1. 0.0.pom.

Kho lưu trữ ngoại tuyến từ Trình quản lý SDK

Đối với các thư viện không có trong kho lưu trữ Google Maven (thường là các phiên bản thư viện cũ), bạn phải tải gói Google Repository (Kho lưu trữ Google) ngoại tuyến xuống từ SDK Manager (Trình quản lý SDK).

Sau đó, bạn có thể thêm các thư viện này vào khối dependencies như bình thường.

Các thư viện ngoại tuyến được lưu trong android_sdk/extras/.