एंड्रॉइड स्टूडियो / इंटेलीज में मावेन निर्भरता कैसे आयात करें?


92

मैंने एंड्रॉइड स्टूडियो में डिफ़ॉल्ट विज़ार्ड का उपयोग करके एक नया एंड्रॉइड प्रोजेक्ट बनाया है। मेरे डिवाइस पर ऐप को संकलित और तैनात किया। सब ठीक हैं।

अब मैं एक बाहरी पुस्तकालय को आयात करना चाहता हूं जो मावेन पर उपलब्ध है। ( http://square.github.io/picasso/ )। मैं मॉड्यूल प्रॉपर्टीज में गया, और मावेन लाइब्रेरी को जोड़ा। यह निर्भरता की सूची में सही ढंग से दिखाई देता है। इसके अलावा, यह संपादक में दिखाता है और मैं इसे कोड में सही ढंग से उपयोग कर सकता हूं।

हालाँकि, संकलन के समय, मुझे ग्रेडल त्रुटि मिलती है: कक्षा खोजने में असमर्थ

कोई विचार?

जवाबों:


71

संस्करण 0.8.9 के अनुसार, एंड्रॉइड स्टूडियो डिफ़ॉल्ट रूप से मेवेन सेंट्रल रिपॉजिटरी का समर्थन करता है। इसलिए बाहरी मावेन निर्भरता को जोड़ने के लिए आपको केवल मॉड्यूल की बिल्ड.ग्रेड फ़ाइल को संपादित करना होगा और इस तरह निर्भरता अनुभाग में एक पंक्ति सम्मिलित करनी होगी:

dependencies {

    // Remote binary dependency
    compile 'net.schmizz:sshj:0.10.0'

}

आपको 'सिंक नाउ ...' जैसा एक संदेश दिखाई देगा - इसे क्लिक करें और मावेन रेपो को इसके सभी आश्रितों के साथ डाउनलोड होने की प्रतीक्षा करें। डाउनलोड के संबंध में आपको बता रहे हैं कि नीचे स्थिति पट्टी में कुछ संदेश होंगे। इसे पूरा करने के बाद, इसकी निर्भरता के साथ आयातित JAR फ़ाइल को प्रोजेक्ट ब्राउज़र विंडो में बाहरी रिपॉजिटरी ट्री में सूचीबद्ध किया जाएगा, जैसा कि नीचे दिखाया गया है।

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

कुछ और स्पष्टीकरण यहाँ: http://developer.android.com/sdk/installing/studio-build.html


6
बिना काम नहीं करता है: रिपॉजिटरी {mavenCentral ()}
जोहान्स

1
कभी-कभी हम केवल निर्भरता में उपयोग नहीं कर सकते हैं, बाहरी रूप से जोड़ देंगे, यहाँ नमूना ले सकते हैं ... रिपॉजिटरी { मावेन {url ’ oss.sonatype.org/content/repositories/ksoap2-android-releases/ "}} ... संकलन 'com.google .code.ksoap2-एंड्रॉयड: ksoap2-एंड्रॉयड: 3.6.0 '
नंदा

81

मैं एक उदाहरण के रूप में स्प्रिंगफ्रामवर्क एंड्रॉइड आर्टवर्क का उपयोग कर रहा हूं

खुला निर्माण

फिर प्लगइन को लागू करने के समान स्तर पर निम्न जोड़ें : 'android'

apply plugin: 'android'

repositories {
    mavenCentral()
}

dependencies {
   compile group: 'org.springframework.android', name: 'spring-android-rest-template', version: '1.0.1.RELEASE'
}

आप मावे कलाकृतियों के लिए भी इस अंकन का उपयोग कर सकते हैं

compile 'org.springframework.android:spring-android-rest-template:1.0.1.RELEASE'

आपकी आईडीई को 'बाहरी पुस्तकालयों' के तहत जार और उसकी निर्भरता दिखानी चाहिए, अगर यह आईडीई को फिर से शुरू करने की कोशिश नहीं करता है (यह मेरे साथ बहुत कम हुआ है)

यहाँ उदाहरण है कि आपने वह काम किया है

buildscript { 
    repositories { 
        maven { 
            url 'repo1.maven.org/maven2'; 
        } 
    } 
    dependencies { 
        classpath 'com.android.tools.build:gradle:0.4' 
    } 
} 
apply plugin: 'android'

repositories {
    mavenCentral()
}

dependencies { 
    compile files('libs/android-support-v4.jar') 
    compile group:'com.squareup.picasso', name:'picasso', version:'1.0.1' 
} 
android { 
    compileSdkVersion 17 
    buildToolsVersion "17.0.0" 
    defaultConfig { 
        minSdkVersion 14 
        targetSdkVersion 17 
    } 
} 

1
मैंने कोशिश की कि, यहाँ मेरी build.gradle फ़ाइल है: `` `builddscript {रिपॉजिटरी {maven {url ' repo1.maven.org/maven2 '}} निर्भरताएँ {classpath ' com.and..ts.s.s . :: प्लगइन लागू करें: 'android' निर्भरताएँ {संकलित फ़ाइलें ('libs / android-support-v4.jar') संकलन समूह: 'com.squareup.picasso', नाम: 'picasso', संस्करण: # 1.0.1+} android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig {minSdkVersion 14 targetSdkVersion 17}}} `` त्रुटि: com.squareup.passasso: picasso: 1.0.1 नहीं मिल सका।
मुनके

1
@ मुनके मैंने उत्तर को एक सही बिल्ड.ग्रेड के साथ अपडेट किया जो आपकी टिप्पणी से मेल खाता है
user1568967

18
मुख्य भाग IDE को पुनरारंभ कर रहा है। IntelliJ का यह संस्करण बदलाव नहीं उठा रहा है।
जिम्मी

हाँ, पुनः आरंभ करने के बाद सब कुछ ठीक है।
फिरन

1
"मुख्य भाग आईडीई को पुनः आरंभ कर रहा है"। हे भगवान। यह 2016 है ... लेकिन हां, धन्यवाद Jimmy2Times।
गाय मोरिलन 16

6

एंड्रॉइड स्टूडियो 3

एंड्रॉइड स्टूडियो JCenter को अब डिफ़ॉल्ट रिपॉजिटरी सेंटर के रूप में उपयोग करने के बाद से मावेन सेंट्रल के बारे में बात करने वाले उत्तर दिनांकित हैं। आपके प्रोजेक्ट की build.gradle फ़ाइल में कुछ इस तरह होना चाहिए:

repositories {
    google()
    jcenter()
}

इसलिए जब तक डेवलपर के पास उनकी मैवेन रिपॉजिटरी होती है (जो पिकासो करता है), तो आपको बस इतना करना होगा कि आपके ऐप की बिल्ड.ग्रेड फ़ाइल के डिपेंडेंसी सेक्शन में एक ही लाइन जोड़ी जाए।

dependencies {
    // ...
    implementation 'com.squareup.picasso:picasso:2.5.2'
}

4
  1. फ़ाइल> सेटिंग्स> ग्रेडल> ग्लोबल ग्रेडल सेटिंग्स में "ऑफ़लाइन काम" को अनचेक करें
  2. उदाहरण के लिए, एंड्रॉइड स्टूडियो को पुनरारंभ करके प्रोजेक्ट को रीसेट करें
  3. एक बार सिंक होने के बाद, आप ऑफ़लाइन काम करने के लिए फिर से विकल्प की जाँच कर सकते हैं।

0

कोशिश करो itextbuild.gradleइस पोस्ट के अनुसार नवीनतम के लिए अपने पर निर्भरता जोड़ें

नोट: Android के लिए विशेष संस्करण, "जी" को पीछे छोड़ रहा है:

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