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

जब आपकी डिपेंडेंसी किसी लोकल लाइब्रेरी या फ़ाइल ट्री से अलग होती है, तो 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")
    }
}

ग्रूवी

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 रिपॉज़िटरी

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

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

ग्रूवी

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 से आर्टफ़ैक्ट ग्रुप की एक्सएमएल सूची देखी जा सकती है. फिर, किसी भी ग्रुप के लिए, आप उसकी लाइब्रेरी के नाम और वर्शन यहां देख सकते हैं:

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

उदाहरण के लिए, android.Arc.lifecycle ग्रुप की लाइब्रेरी की जानकारी maven.google.com/android/Arc/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 को लॉन्च किया जा सकता है.

SDK Manager से ऑफ़लाइन रिपॉज़िटरी

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

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

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