ग्रैड बिल्ड एंड्रॉइड प्रोजेक्ट "सभी निर्भरता को हल नहीं कर सका" त्रुटि


79

मैं ग्रैडल के साथ अपनी पहली परियोजना बनाने की कोशिश कर रहा हूं और मुझे लगता है कि मेरी ग्रेडल फाइलें और सेटिंग्स सही हैं।

मैं केवल एक मॉड्यूल और समर्थन V4 + AppCompatBar पुस्तकालयों का उपयोग कर रहा हूं।

प्रोजेक्ट - build.gradle

allprojects {
    repositories {
        mavenCentral()
    }
}

प्रोजेक्ट - settings.gradle

include ':AssignmentTempos21'

मुख्य मॉड्यूल - build.gradle

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}

apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 17
    }
}

dependencies {
    compile "com.android.support:support-v4:18.0.+"
    compile "com.android.support:appcompat-v7:18.0.+"
}

-I ध्वज के साथ कंसोल आउटपुट:

MacBook-Air-de-Cesar-2:AssignmentTempos21 menor$ ./gradlew -i clean assemble
Starting Build
Settings evaluated using settings file '/Users/menor/workspace_android/AssignmentTempos21/settings.gradle'.
Projects loaded. Root project using build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle'.
Included projects: [root project 'AssignmentTempos21', project ':AssignmentTempos21']
Evaluating root project 'AssignmentTempos21' using build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle'.
Compiling build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle' using BuildScriptClasspathScriptTransformer.
Compiling build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle' using BuildScriptTransformer.
Evaluating project ':AssignmentTempos21' using build file '/Users/menor/workspace_android/AssignmentTempos21/AssignmentTempos21/build.gradle'.
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':AssignmentTempos21'.
> Failed to notify project evaluation listener.
   > Could not resolve all dependencies for configuration ':AssignmentTempos21:_DebugCompile'.
      > Could not find any version that matches com.android.support:support-v4:18.0.+.
        Required by:
            AssignmentTempos21:AssignmentTempos21:unspecified
      > Could not find any version that matches com.android.support:appcompat-v7:18.0.+.
        Required by:
            AssignmentTempos21:AssignmentTempos21:unspecified

* Try:
Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output.

BUILD FAILED

Total time: 40.787 secs

कृपया इस मुद्दे पर जाएं और इसे देखें। ऐसा लगता है कि बहुत सारी समस्याएं हैं क्योंकि वहाँ बहुत सारे पुस्तकालय थे जो जेकार्ट से अप्रकाशित थे।
पेट्रीकियो सर्ड

जवाबों:


95

जैसा कि पीटर कहते हैं, वे मावेन सेंट्रल में नहीं होंगे

एंड्रॉइड एसडीके प्रबंधक से 'एंड्रॉइड सपोर्ट रिपॉजिटरी' डाउनलोड करें और समर्थन पुस्तकालयों का मैवेन रेपो आपके एंड्रॉइड एसडीके निर्देशिका में डाउनलोड किया जाएगा (देखें 'एक्स्ट्रा' फ़ोल्डर)

अपने स्थानीय .m2 भंडार में पुस्तकालयों को तैनात करने के लिए आप मावेन -एंड्रॉइड-एसडीके-तैनाती का उपयोग कर सकते हैं

2017 संपादित करें:

अब आप Google ऑनलाइन M2 रेपो का संदर्भ ले सकते हैं

repositories {
google()
jcenter()
}

12
"एंड्रॉइड एसडीके मैनेजर" से "एंड्रॉइड सपोर्ट रिपॉजिटरी" डाउनलोड करना इस मुद्दे को निश्चित रूप से हल करता है जो मुझे एंड्रॉइड स्टूडियो 0.4.3 परियोजनाओं में मिला है। ग्रैडल द्वारा एक चित्रण संदेश के बारे में यह केवल एक छोटी सी दया है, लेकिन यह एक और कहानी है इसलिए मैं इस प्रश्न को
फ्रेंको रोंडिनी

क्या आप कृपया चरण दर चरण समझा सकते हैं: मेरा मतलब है पहला डाउनलोड maven-android-sdk-deployer, दूसरा क्या?
होसिन अकाजानी

@ H.Aqjn मैंने उत्तर को थोड़ा बेहतर पढ़ने के लिए पुन: व्यवस्थित किया है (मुझे लगता है), यदि आप ग्रेडल का उपयोग कर रहे हैं तो आपको एसडीके प्रबंधक से समर्थन भंडार डाउनलोड करने के लिए ठीक होना चाहिए
कासिम

50

जहाँ भी आपने Android Studio स्थापित किया है (मेरे लिए यह अंडर है C:\Users\username\AppData\Local\Android\android-studio\) पर जाएँ और खोलें sdk\tools, फिर चलाएँ android.bat। यहां से, किसी भी लापता बिल्ड-टूल्स को अपडेट करें और डाउनलोड करें और सुनिश्चित करें कि आप एंड्रॉइड सपोर्ट रिपॉजिटरी और एंड्रॉइड सपोर्ट लाइब्रेरी को एक्स्ट्रा के तहत अपडेट करें। एसडीके प्रबंधक के खत्म होने के बाद एंड्रॉइड स्टूडियो को पुनरारंभ करें।

ऐसा लगता है कि एंड्रॉइड स्टूडियो किसी भी स्थापित एंड्रॉइड एसडीके फ़ाइलों को पूरी तरह से अनदेखा करता है और अपनी खुद की एक प्रति रखता है। अपडेट चलाने के बाद, संकलन का उपयोग करके मेरे लिए सब कुछ सफलतापूर्वक संकलित किया गयाcom.android.support:appcompat-v7:18.0.+


8
यह वास्तव में मुझे मदद करता है मुझे उम्मीद थी कि एंड्रॉइड स्टूडियो एंड्रॉइड एसडीके का उपयोग कर सकता है जिसे मैंने अपनी मशीन पर मैन्युअल रूप से इंस्टॉल किया था। आईडीई होने के बजाय डेवलपर द्वारा परिभाषित एक का उपयोग करने के बजाय अपने स्वयं के एंड्रॉइड एसडीके का उपयोग करना वास्तव में कष्टप्रद है। एसडीके को आईडीई से अलग होना चाहिए।
समेल

13
मेरे पास कोई आईडिया नहीं था कि ऐपडाटा के तहत एंड्रॉइड स्टूडियो के पास एसडीके का अपना संस्करण था। यह सुपर भ्रामक है!
pqvst

मुझे एक्सट्रा / एंड्रॉइड सपोर्ट लाइब्रेरी स्थापित करना था, एसडीके प्रबंधक को पुनरारंभ करना और फिर एंड्रॉइड सपोर्ट रिपॉजिटरी दिखाई दिया।
लियोस लिटरक

यह मेरे लिए "com.android.support:appcompat-v7:19.+" के बारे में एक त्रुटि से छुटकारा दिलाया।
निक वेस्टगेट

ठीक है, मुझे भी इसी तरह का भ्रम था, जब मैंने अपने उबंटू मशीन पर कई एंड्रॉइड एसडीके उदाहरणों को देखा। इसलिए मुझे एक बुरा संदेह था, कि AndroidStudio अपना स्वयं का उदाहरण बनाता है। वर्तमान में मैं एएस v.2.1.2 चलाता हूं और यह वही मुद्दा अभी भी मौजूद है। मुझे आश्चर्य है कि अगर टीम इसे किसी दिन जल्द ही ठीक करने की योजना बना रही है, या वे इसे एक विशेषता मानते हैं :)
बिक गया

27

यदि आप हेडलेस सीआई पर चल रहे हैं और कमांड लाइन के माध्यम से एंड्रॉइड एसडीके स्थापित कर रहे हैं, तो --filterतर्क में m2repository पैकेज शामिल करना सुनिश्चित करें :

android update sdk --no-ui --filter platform-tools,build-tools-19.0.1,android-19,extra-android-support,extra-android-m2repository,extra-google-m2repository

अपडेट करें

Android SDK प्रबंधक के रूप में संशोधित करें। 22.6.4 यह अब काम नहीं करता है। इसके बजाय यह प्रयास करें:

android list sdk --all

आपको सभी उपलब्ध एसडीके पैकेजों की एक सूची मिलेगी। ऊपर दिए गए पहले कमांड से घटकों के संख्यात्मक मान देखें ("Google रिपॉजिटरी" और अन्य जो आप गायब हो सकते हैं)।

उनके संख्यात्मक मानों का उपयोग करके संकुल स्थापित करें:

android update sdk --no-ui --all --filter <num>

अपडेट # 2 (सितंबर 2017)

"नए" एंड्रॉइड एसडीके टूल जो इस साल की शुरुआत में जारी किए गए थे, androidअब कमांड को हटा दिया गया है, और इसी तरह की कार्यक्षमता को एक नए टूल में स्थानांतरित कर दिया गया है sdkmanager:

सूची स्थापित घटक:

sdkmanager --list

स्थापित घटकों को अपडेट करें:

sdkmanager --update

एक नया घटक स्थापित करें (जैसे उपकरण संस्करण बनाएँ 26.0.0):

sdkmanager 'build-tools;26.0.0'

अच्छी कमांड लाइन के लिए धन्यवाद! दुर्भाग्य से, अब (Android SDK Manager Rev। 22.6.4 (GUI के बारे में) से) मुझे जो प्रतिक्रिया मिली है वह है:, और Error: Ignoring unknown package filter 'platform-tools'भी । चीयर्स! 'android-19''extra-android-support'
सादाऊ

मैं "SWT फ़ोल्डर '/ ऑप्ट / android-sdk-linux / tools / lib / arm' प्राप्त करना मौजूद नहीं है
Marian Klühspies

3
संकेत के लिए धन्यवाद। मैंने भाग लिया है: android list sdk --all |grep -i reposयह मुझे देता है "98-Android Support Repository, revision 6"और "106-Google Repository, revision 11"। फिर मैंने दोनों पैकेज android update sdk -u -a -t 98,106चलाए हैं जो अंत में समस्या को हल कर रहे हैं (मैं adt-bundle-linux-x86-20140702.zip का उपयोग कर रहा हूं, पता नहीं है कि यह कौन सा एसडीके प्रबंधक संस्करण है)।
मेटुस ज़ुल्फ़

1
आपने Google रिपॉजिटरी को स्थापित करने की आवश्यकता का उल्लेख करके यहां कई लोगों की जान बचाई। धन्यवाद।
यति संगदे ने १६

हाँ मेरा गायब होने के कारण भी था - 142- एंड्रॉइड सपोर्ट रिपॉजिटरी, संशोधन 21 150- Google रिपॉजिटरी, संशोधन 22
ब्रूस लिम


2
compileSdkVersion 17
targetSdkVersion 17

संकलन संस्करण को 18 से 17 में बदलें

compile "com.android.support:support-v4:17.0.+"
compile "com.android.support:appcompat-v7:17.0.+"

2

कासिम के जवाब के अलावा:

जैसा कि पीटर कहते हैं, वे मावेन सेंट्रल में नहीं होंगे

या तो मावेन-एंड्रॉइड-एसडीके-तैनाती का उपयोग करें अपने स्थानीय रिपॉजिटरी में पुस्तकालयों को तैनात करने के लिए तैनाती का उपयोग करें

या एंड्रॉइड एसडीके प्रबंधक से एंड्रॉइड सपोर्ट रिपॉजिटरी (एक्स्ट्रा में) डाउनलोड करें और समर्थन लाइब्रेरी के एक एम 2 रेपो को आपके एंड्रॉइड एसडीके निर्देशिका में डाउनलोड किया जाएगा।

मुझे एंड्रॉइड एसडीके मैनेजर में "स्थानीय मैवेन रिपॉजिटरी फॉर सपोर्ट लाइब्रेरी" को भी अपडेट करना था।


1

@friederbluemle को इको करने के लिए, यदि आप एंड्रॉइड एसडीके टूल इंस्टॉल करते हैं, तो आप कमांड लाइन से एसडीके प्रबंधक को भी लॉन्च कर सकते हैं:

$ android

और फिर पॉप अप करने वाले UI में, उन टूल / रिपॉजिटरी का चयन करें जिन्हें इंस्टॉल करने की आवश्यकता है - आपके मामले में सपोर्ट लाइब्रेरी रेपो


1

अपने ऐप की बिल्ड.ग्रेड फ़ाइल में निम्नलिखित कथन लिखें।

com.android.support:appcompat-v7:18.0.+

बस


1

अपने फ़ायरवॉल बंद करने के लिए प्रयास करें , it works for me। ऐसा लगता एंड्रॉयड स्टूडियो कुछ निर्भरता और हमारे फ़ायरवॉल इसे डाउनलोड करने से रोकता है डाउनलोड करने के लिए चाहता है just be aware that turning your firewall off may lower the security of your computer। यदि आपके पास अधिक समय है तो आप अपने एंड्रॉइड स्टूडियो को मैन्युअल रूप से अपने फ़ायरवॉल को बायपास करने की अनुमति दे सकते हैं, इस तरह से आप अपने फ़ायरवॉल को चालू कर सकते हैं जबकि एंड्रॉइड स्टूडियो को वह कुछ भी डाउनलोड करने की अनुमति देता है जो वह चाहता है।


1

मुझे यह संदेश एंड्रॉइड स्टूडियो 2.1.1 में ग्रैडल बिल्ड टैब में मिला। मैंने एसडीके प्रबंधक से बहुत सारी फाइलें स्थापित कीं लेकिन इससे कोई फायदा नहीं हुआ।

मुझे अगले टैब "ग्रेड सिंक" पर क्लिक करने की आवश्यकता थी। एक लिंक "इंस्टॉल रिपॉजिटरी और सिंक प्रोजेक्ट" था जो "एंड्रॉइड सपोर्ट रिपॉजिटरी" स्थापित करता था।


1
  1. Android sdk manager इंस्टॉल करें
  2. जाँच करें कि क्या उपकरण स्थापित किए गए हैं। एपी 23 स्थापित करें।
  3. एंड्रॉयड एसडीके प्रबंधक से 'एंड्रॉयड सपोर्ट रिपॉजिटरी' डाउनलोड करें
  4. कॉर्डोवा-प्लगइन-एंड्रॉइड-सपोर्ट-वी 4 को हटा दें
  5. बिल्ड

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