maven रिपॉजिटरी को build.gradle में जोड़ें


118

मैंने एंड्रॉइड स्टूडियो में build.gradle के लिए एक कस्टम मावेन भंडार जोड़ा, लेकिन निर्भरता नहीं मिल रही है

मावेन भंडार और निर्भरता

<repository>
    <id>achartengine</id>
    <name>Public AChartEngine repository</name>
    <url>https://repository-achartengine.forge.cloudbees.com/snapshot/</url>
</repository>

<dependency>
    <groupId>org.achartengine</groupId>
    <artifactId>achartengine</artifactId>
    <version>1.2.0</version>
</dependency>

build.gradle

buildscript {
    repositories {
        mavenCentral()
        maven {
            url "https://repository-achartengine.forge.cloudbees.com/snapshot/"
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
}
apply plugin: 'android'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile group: 'org.achartengine', name: 'achartengine', version: '1.2.0'
}

android {
    compileSdkVersion 19
    buildToolsVersion "19"

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')

        // Move the build types to build-types/<type>
        // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
        // This moves them out of them default location under src/<type>/... which would
        // conflict with src/ being used by the main source set.
        // Adding new build types or product flavors should be accompanied
        // by a similar customization.
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }
}

एंड्रॉइड स्टूडियो में त्रुटि संदेश:

A problem occurred configuring root project 'My-MobileAndroid'.
> Failed to notify project evaluation listener.
> Could not resolve all dependencies for configuration ':_DebugCompile'.
  > Could not find org.achartengine:achartengine:1.2.0.
    Required by:
        :My-MobileAndroid:unspecified

मुझे build.gradle में क्या याद आ रहा है?

जवाबों:


88

आपको बाहर के भंडार को परिभाषित करना होगा buildscriptbuildscriptविन्यास ब्लॉक केवल अपने निर्माण स्क्रिप्ट के classpath नहीं बल्कि आपके आवेदन के लिए खजाने और उनकी निर्भरता को निर्धारित करता है।


यह निर्भरता को हल करता है, लेकिन एंड्रॉइड स्टूडियो ने रिपॉजिटरी को फिर से लोड नहीं किया है, इसलिए "org.acharteng.chart। *।" विफल, क्या आप जानते हैं कि रिपॉजिटरी को "ताज़ा" कैसे किया जाता है?
एंड्रे रिकार्डो

3
पालन ​​करने के लिए बहुत महत्वपूर्ण है। इस पर 15 मिनट बर्बाद
नितिन बंसल

दोनों के अंदर और बाहर buildscript repositoriesएक ही रिमोट रिपॉजिटरी होनी चाहिए ?
आर। अब्दि

158

उपरांत

apply plugin: 'com.android.application'

आपको इसे जोड़ना चाहिए:

  repositories {
        mavenCentral()
        maven {
            url "https://repository-achartengine.forge.cloudbees.com/snapshot/"
        }
    }

@ बैंजामिन ने इसका कारण बताया।

यदि आपके पास प्रमाणीकरण के साथ मावेन है तो आप इसका उपयोग कर सकते हैं:

repositories {
            mavenCentral()
            maven {
               credentials {
                   username xxx
                   password xxx
               }
               url    'http://mymaven/xxxx/repositories/releases/'
            }
}

यह आदेश महत्वपूर्ण है।


6
हम कैसे वर्गीकृत फ़ाइल में क्लाउडबीज़ प्रमाणीकरण जोड़ते हैं?
inder

मैं एंड्रॉइड स्टूडियो को कैसे संशोधित कर सकता हूं ताकि maven रिपॉजिटरी को मूलभूत रूप से build.gradle में जोड़ा जाए। मैं इस बारे में भूलता रहता हूं और फिर से खोज करना पड़ता है कि पुस्तकालय लोड क्यों नहीं कर रहे हैं।
माइक

36

Android स्टूडियो उपयोगकर्ता:

यदि आप ग्रेड का उपयोग करना चाहते हैं, तो http://search.maven.org/ पर जाएं और अपने मावेन रेपो की खोज करें। फिर, "नवीनतम संस्करण" पर क्लिक करें और नीचे बायीं तरफ विवरण पृष्ठ में आपको "ग्रेडल" दिखाई देगा, जहां आप उस लिंक को अपने ऐप के बिल्ड.ग्रेड में कॉपी / पेस्ट कर सकते हैं।

यहां छवि विवरण दर्ज करें


1
आपने मेरा दिन बनाया, बहुत-बहुत धन्यवाद। इसके अलावा, यह आधिकारिक ZXing gh पृष्ठ में क्यों नहीं है? यह खोजने के लिए इतना कठिन नहीं होना चाहिए ...
नादिया

8

आपको repositoriesअपनी बिल्ड फ़ाइल में जोड़ना होगा। मावेन रिपॉजिटरी के लिए आपको रिपॉजिटरी नाम के साथ उपसर्ग करना होगाmaven{}

repositories {
  maven { url "http://maven.springframework.org/release" }
  maven { url "http://maven.restlet.org" }
  mavenCentral()
}

6

निम्नानुसार buildscriptअपनी मुख्य build.gradleफ़ाइल के कॉन्फ़िगरेशन ब्लॉक के बाहर मावेन भंडार जोड़ें :

repositories {
        maven {
            url "https://github.com/jitsi/jitsi-maven-repository/raw/master/releases"
        }
    }

सुनिश्चित करें कि आप उन्हें निम्नलिखित के बाद जोड़ते हैं:

apply plugin: 'com.android.application'
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.