संकट :
Error:Could not find com.android.support.constraint:constraint-layout:1.0.0-alpha2.
Required by:
myapp:app:unspecified
पृष्ठभूमि: एंड्रॉइड स्टूडियो 2.2 पी 1
संकट :
Error:Could not find com.android.support.constraint:constraint-layout:1.0.0-alpha2.
Required by:
myapp:app:unspecified
पृष्ठभूमि: एंड्रॉइड स्टूडियो 2.2 पी 1
जवाबों:
के लिए समर्थन पुस्तकालय ConstraintLayout
स्थापित / अद्यतन नहीं किया जा सका।
बस खुला Preferences
> Appearance & Behavior
> System Settings
> Android
और इस कदम SDK Tools
टैब। निम्नलिखित फ़ील्ड जांचें और इंस्टॉल करें।
jmartinalonso
नीचे दिए गए उत्तर की जांच करें। यह इस उत्तर का विस्तार कर रहा है।
Preferences
वास्तव में File
> Settings
विंडोज पर है।
./sdkmanager "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta4"
एंड्रॉइड-टूल्स / बिन से निष्पादित किया।
मेरे मामले में, कांस्ट्रेन्थ लयआउट के लिए समर्थन पुस्तकालयों को स्थापित किया गया था, लेकिन मैं अपनी बिल्ड.ग्रेडल फ़ाइल में कांस्ट्रेनल लाईट लाइब्रेरी के गलत संस्करण को जोड़ रहा था। आदेश देखने के लिए संस्करण आप स्थापित किया है, क्या है करने के लिए जाने में Preferences
> Appearance & Behavior
> System Settings
> Android SDK
। अब, SDK Tools
दाएँ फलक में टैब पर क्लिक करें । शो पैकेज विवरण की जाँच करें और संस्करण का ध्यान रखें।
अंत में आप build.gradle
फ़ाइल में सही संस्करण जोड़ सकते हैं
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha9'
testCompile 'junit:junit:4.12'
}
फिक्स अपने build.gradle में एंड्रॉइड ग्रेडल प्लगइन को अपडेट करना है।
यह काम करना चाहिए: classpath 'com.android.tools.build:gradle:2.2.0-alpha2'
या आप नवीनतम का उपयोग कर सकते हैं: classpath 'com.android.tools.build:gradle:2.2.0-alpha3'
मेरी समस्या यह थी, कि एसडीके टूल्स ने इसे नवीनतम संस्करण में अपडेट किया, मेरे मामले में यह 1.0.0-अल्फा 9 था, लेकिन मेरे ग्रेडेल निर्भरता में सेट किया गया था
संकलित करें 'com.android.support.constraint: बाधा-लेआउट: 1.0.0-Alpha8' तो, आप अपनी gradle बिल्ड फ़ाइल को बदल सकते हैं
संकलन 'com.android.support.constraint: बाधा-लेआउट: 1.0.0-Alpha9' या आप SDK उपकरण संपादक में "पैकेज विवरण दिखाएं" जांचें और अपना आवश्यक संस्करण इंस्टॉल करें। नीचे स्क्रीनशॉट देखें। एसडीके टूल्स की छवि
सुनिश्चित करें कि आपके पास अपने मॉड्यूल-स्तर build.gradle फ़ाइल में घोषित maven.google.com भंडार है
repositories {
maven {
url 'https://maven.google.com'
}
}
2. एक ही build.gradle फ़ाइल में एक निर्भरता के रूप में पुस्तकालय जोड़ें:
dependencies {
compile 'com.android.support.constraint:constraint-layout:1.0.2'
}
पहले मैंने वह सब कुछ आज़माया जो मैंने स्टैकओवरफ़्लो पर पढ़ा है ... जो कि एक्सिल वर्जन को अपडेट करने से लेकर कॉन्स्ट्रेनल लयआउट को एक्सवाई वर्जन में अपडेट करने के लिए है ... मैं अपने एसडीके टूल्स और एंड्रॉइड स्टूडियो को भी लेटेस्ट वर्जन में अपडेट करता हूं ... लेकिन कुछ भी काम नहीं कर रहा था।
एकमात्र समाधान है कि मेरे लिए काम किया है कि मैं Gradle और एसडीके से ConstraintLayout लाइब्रेरी हटाना था, तो मैं यादृच्छिक XML लेआउट खोला और में डिज़ाइन दृश्य के तहत पैलेट के लिए खंड खोज ConstraintLayout । यदि आपने अपने प्रोजेक्ट से लाइब्रेरी को सफलतापूर्वक डिलीट कर दिया है, तो आप कांस्ट्रेन्डलीवेट तत्व पर डबल क्लिक करने पर वहां से लाइब्रेरी को स्थापित कर सकेंगे ।
यह मेरे app build.gradle में अगली पंक्ति बनाता है:
'com.android.support.constraint:constraint-layout:1.0.0-beta1'
मेरी परियोजना build.gradle में मेरे पास यह है:
classpath 'com.android.tools.build:gradle:2.2.2'
Android स्टूडियो संस्करण 2.2.2
अल्फा संस्करण अब उपलब्ध नहीं है!
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
बस यह सुनिश्चित करने के लिए कि स्टूडियो संस्करण 2.3 में आपको एसडीके टूल्स में बाधा-लेआउट के पास ड्रॉपडाउन दिखाई नहीं देगा, यह नवीनतम संस्करण को डिफ़ॉल्ट रूप से स्थापित करेगा
वांछित संस्करण प्राप्त करने के लिए बॉक्स को दिखाते हुए कहें कि पैकेज विवरण और बूम आप अब इच्छित संस्करण चुन सकते हैं जिसे आप इंस्टॉल करना चाहते हैं
Gradle com.android.tools.build:gradle:2.2.0-alpha6
बाधा लेआउट निर्भरता com.android.support.constraint:constraint-layout:1.0.0-alpha4
मेरे लिये कार्य करता है
मेरे लिए यह पूरी तरह से अलग मुद्दा था। जब मैंने एसडीके टूल्स में बाधा निर्भरता स्थापित की, तो टूल ने उन्हें गलत निर्देशिका में लिखा । अर्थात्
/home/${USER}/Android/Sdk/extras/+m2repository+/com/.../constraint
के बजाय
/home/${USER}/Android/Sdk/extras/+android+/+m2repository+/com/.../constraint
उपाय:
बस 1.0.0-alpha*
बाद के मार्ग में निर्देशिकाओं की प्रतिलिपि बनाएँ
एसडीके टूल को अपडेट करते समय, एक पतला बॉक्स जो कि कॉन्स्टेंट लेआउट संस्करण के साथ प्रस्तुत किया गया है, जो स्थापित होने जा रहा है। ध्यान दें और उसके आधार पर अपनी निर्भरता को अपडेट करें। मेरे मामले में यह बीटा 3 स्थापित कर रहा था।
मैंने अपनी निर्भरता को नीचे की तरह बदल दिया। उसके बाद इसने काम किया।
संकलन 'com.android.support.constraint: बाधा-लेआउट: 1.0.0-beta3'
मेरे मामले में, मैं २.३ का उपयोग कर रहा था और मैं वर्तमान में नवीनतम कॉन्स्ट्रेन्थलाईट १.१.३ का उपयोग करना चाहता था, लेकिन मेरी प्राथमिकताएँ> प्रकटन और व्यवहार> सिस्टम सेटिंग्स> Android में नवीनतम संस्करण १.०.२ था।
ConstraintLayout 1.1.3 का उपयोग करने के लिए, मैंने अपने एएस को 2.3 से वर्तमान में नवीनतम 3.2.1, com.android.tools.build:gradle पर 2.2.2 से 3.2.1 तक अद्यतन किया, 3.3 से 4.6 तक का निर्माण और 25.0.0 से बिल्डटूलवर्थ 28.0.3।
मैंने प्रोजेक्ट-लेवल बिल्ड.ग्रेड फ़ाइल में Maven रिपॉजिटरी में maven {url ' https://maven.google.com '} भी जोड़ा और इससे मेरी समस्या हल हो गई।
मैंने com.android.support.constraint: constraint-layout: 1.0.0-alpha2 का प्रयोग classpath 'com.android.tools.build:gradle:2.1.0' के साथ किया, यह आकर्षण की तरह काम करता था।
यकीन नहीं होता कि मुझे बहुत देर हो गई है, लेकिन अगर किसी के पास अभी भी SDK टूल्स के ऊपर कॉन्स्ट्रेन्थलाईट और सॉल्वर के अपडेट के बाद त्रुटि है, तो शायद यह समाधान मदद कर सकता है: त्रुटि: (30, 13) हल करने में विफल: com.android। support.constraint: बाधा-लेआउट: 1.0.0-alpha4
मेरे मामले में, मेरे पास "ऐप" और "एसडीके" नामक एक मल्टी-मॉड्यूल प्रोजेक्ट था। "Sdk" मॉड्यूल वह है जहां मैंने बाधा लेआउट लाइब्रेरी को जोड़ा था। मुझे त्रुटि तब मिली जब मैंने "sdk" को "app2" नामक एक नए मल्टी-मॉड्यूल प्रोजेक्ट में शामिल करने की कोशिश की। समाधान यह सुनिश्चित करने के लिए था कि मैंने "app2" के लिए प्रोजेक्ट स्तर के निर्माण के लिए Google मावेन रिपोजिटरी को जोड़ा है। Google Maven Repository allprojects.repositories
को प्रोजेक्ट-स्तर build.gradle फ़ाइल के अंतर्गत "google ()" डालकर जोड़ा जा सकता है :
allprojects {
repositories {
jcenter()
google()
}
}
'1.0.0-अल्फ़ा 2' से संबंधित संस्करण के लिए अपने बाधा लेआउट निर्भरता को अपडेट करें। मेरे मामले में, मैं निम्नलिखित में बदल गया। संकलन 'com.android.support.constraint: बाधा-लेआउट: 2.0.0-अल्फा 5'