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 Google và kho 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:
- Thư viện AndroidX
- Thư viện Thành phần kiến trúc
- Thư viện bố cục điểm cố định
- Kiểm thử AndroidX
- Thư viện liên kết dữ liệu
- Thư viện Ứng dụng Android tức thì
- Wear OS
- Dịch vụ Google Play
- Thư viện Google Play Billing
- Firebase
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/
.