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. Gradle sẽ tìm kiếm kho lưu trữ cho mỗi phần phụ thuộc trong dự án theo thứ tự liệt kê của mỗi kho lưu trữ. Ví dụ: nếu một phần phụ thuộc có sẵn trong cả kho lưu trữ A và B, đồng thời bạn liệt kê A trước, thì Gradle sẽ tải phần phụ thuộc đó xuống từ 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.7.0'
}

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