डेटा स्टोर करने की जगहें मैनेज करें

अगर आपकी डिपेंडेंसी, स्थानीय लाइब्रेरी या फ़ाइल ट्री के अलावा कोई और है, तो Gradle उन फ़ाइलों को उन सभी ऑनलाइन रिपॉज़िटरी में ढूंढता है जो आपकी settings.gradle फ़ाइल के dependencyResolutionManagement { repositories {...} } ब्लॉक में बताई गई हैं. हर रिपॉज़िटरी को जिस क्रम में लिस्ट किया जाता है, Gradle हर प्रोजेक्ट की डिपेंडेंसी के लिए, उसी क्रम में रिपॉज़िटरी खोजता है. उदाहरण के लिए, अगर कोई डिपेंडेंसी, रिपॉज़िटरी A और B, दोनों में उपलब्ध है और आपने A को पहले लिस्ट किया है, तो Gradle, रिपॉज़िटरी A से डिपेंडेंसी डाउनलोड करता है.

डिफ़ॉल्ट रूप से, नए Android Studio प्रोजेक्ट, Google की Maven रिपॉज़िटरी और Maven की सेंट्रल रिपॉज़िटरी को प्रोजेक्ट की रिपॉज़िटरी की जगहों के तौर पर तय करते हैं. जैसा कि यहां दिखाया गया है:settings.gradle

Kotlin

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

Groovy

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

अगर आपको स्थानीय रिपॉज़िटरी से कुछ चाहिए, तो 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()
    }
}

इसके अलावा, Maven या Ivy की खास रिपॉज़िटरी को इस तरह तय किया जा सकता है:

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

ज़्यादा जानकारी के लिए, Gradle रिपॉज़िटरी के बारे में गाइड देखें.

Google की Maven रिपॉज़िटरी

Google की Maven रिपॉज़िटरी पर, Android की इन लाइब्रेरी के सबसे नए वर्शन उपलब्ध हैं:

Google की Maven रिपॉज़िटरी के इंडेक्स पर, उपलब्ध सभी आर्टफ़ैक्ट देखे जा सकते हैं. प्रोग्राम के हिसाब से, अपने-आप होने वाली प्रोसेस के ऐक्सेस के बारे में जानने के लिए, नीचे दिया गया सेक्शन देखें.

इनमें से किसी लाइब्रेरी को अपने बिल्ड में जोड़ने के लिए, अपनी टॉप-लेवल build.gradle.kts फ़ाइल में Google की Maven रिपॉज़िटरी शामिल करें:

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

इसके बाद, अपने मॉड्यूल के dependencies ब्लॉक में, अपनी पसंद की लाइब्रेरी जोड़ें. उदाहरण के लिए,appcompat लाइब्रेरी कुछ इस तरह दिखती है:

Kotlin

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

Groovy

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

हालांकि, अगर ऊपर बताई गई लाइब्रेरी के पुराने वर्शन का इस्तेमाल करने की कोशिश की जा रही है और आपकी डिपेंडेंसी काम नहीं कर रही है, तो इसका मतलब है कि वह Maven रिपॉज़िटरी में उपलब्ध नहीं है. ऐसे में, आपको लाइब्रेरी को ऑफ़लाइन रिपॉज़िटरी से लेना होगा.

प्रोग्राम के हिसाब से, अपने-आप होने वाली प्रोसेस का ऐक्सेस

Google के Maven आर्टफ़ैक्ट को प्रोग्राम के हिसाब से, अपने-आप होने वाली प्रोसेस के ज़रिए ऐक्सेस करने के लिए, maven.google.com/master-index.xml से आर्टफ़ैक्ट ग्रुप की XML सूची पाई जा सकती है. इसके बाद, किसी भी ग्रुप के लिए, उसकी लाइब्रेरी के नाम और वर्शन यहां देखे जा सकते हैं:

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

उदाहरण के लिए, android.arch.lifecycle ग्रुप में मौजूद लाइब्रेरी, maven.google.com/android/arch/lifecycle/group-index.xml पर लिस्ट की गई हैं.

POM और JAR फ़ाइलें यहां से भी डाउनलोड की जा सकती हैं:

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

उदाहरण के लिए: maven.google.com/android/arch/lifecycle/compiler/1.0.0/compiler-1. 0.0.pom.

एसडीके मैनेजर से ऑफ़लाइन रिपॉज़िटरी

Google की Maven रिपॉज़िटरी पर उपलब्ध न होने वाली लाइब्रेरी (आम तौर पर, लाइब्रेरी के पुराने वर्शन) के लिए, आपको एसडीके मैनेजर से Google Repository का ऑफ़लाइन पैकेज डाउनलोड करना होगा .

इसके बाद, इन लाइब्रेरी को अपने dependencies ब्लॉक में हमेशा की तरह जोड़ा जा सकता है.

ऑफ़लाइन लाइब्रेरी, android_sdk/extras/ में सेव की जाती हैं.