सभी com.android.support पुस्तकालयों को सटीक एक ही संस्करण विनिर्देश का उपयोग करना चाहिए


788

एंड्रॉइड स्टूडियो 2.3 पर अपडेट करने के बाद मुझे यह त्रुटि संदेश मिला। मुझे पता है कि यह केवल एक संकेत है क्योंकि ऐप सामान्य रूप से चलता है लेकिन यह वास्तव में अजीब है।

सभी com.android.support पुस्तकालयों को सटीक एक ही संस्करण विनिर्देश का उपयोग करना चाहिए (मिक्सिंग संस्करण रनटाइम क्रैश का कारण बन सकता है)। पाया संस्करण 25.1.1, 24.0.0। उदाहरणों में com.android.support:animated-vector-drawable:25.1.1 और com.android.support:mediarouter-v7:24.0.0 शामिल हैं।

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

मेरी श्रेणी:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    testCompile 'junit:junit:4.12'

    compile 'com.android.support:appcompat-v7:25.1.1'
    compile 'com.android.support:support-v4:25.1.1'
    compile 'com.android.support:design:25.1.1'
    compile 'com.android.support:recyclerview-v7:25.1.1'
    compile 'com.android.support:cardview-v7:25.1.1'
    compile 'com.google.android.gms:play-services-maps:10.2.0'
    compile 'com.google.android.gms:play-services:10.2.0'

    compile 'io.reactivex.rxjava2:rxjava:2.0.1'
    compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
    compile 'com.jakewharton:butterknife:8.4.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
    compile 'com.blankj:utilcode:1.3.6'
    compile 'com.orhanobut:logger:1.15'
    compile 'com.facebook.stetho:stetho:1.4.2'

    provided 'com.google.auto.value:auto-value:1.2'
    annotationProcessor 'com.google.auto.value:auto-value:1.2'
    annotationProcessor 'com.ryanharter.auto.value:auto-value-parcel:0.2.5'

    compile 'com.mikepenz:iconics-core:2.8.2@aar'
    compile('com.mikepenz:materialdrawer:5.8.1@aar') { transitive = true }
    compile 'com.mikepenz:google-material-typeface:2.2.0.3.original@aar'
    compile 'me.zhanghai.android.materialprogressbar:library:1.3.0'
    compile 'com.github.GrenderG:Toasty:1.1.1'
    compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.8.0'
    compile 'com.github.MAXDeliveryNG:slideview:1.0.0'

    compile 'com.facebook.fresco:fresco:1.0.1'
    compile 'com.github.bumptech.glide:glide:3.7.0'

    compile 'com.google.maps.android:android-maps-utils:0.4.4'
    compile 'com.github.jd-alexander:library:1.1.0'
}

इसे अपनी प्रोजेक्ट में जोड़ें। ')) {details.useVersion "26. +"}}}}
सुनील चौधरी

जवाबों:


906

आप इसे निम्न में से किसी एक समाधान के साथ हल कर सकते हैं:

अपडेट करें:

एंड्रॉइड स्टूडियो 3.0 के रूप में, यह बहुत आसान हो जाता है क्योंकि यह अब अधिक सहायक संकेत दिखाता है, इसलिए हमें केवल इस संकेत का पालन करने की आवश्यकता है।
उदाहरण के लिए: 1]

सभी com.android.support पुस्तकालयों को सटीक एक ही संस्करण विनिर्देश का उपयोग करना चाहिए (मिक्सिंग संस्करण रनटाइम क्रैश का कारण बन सकता है)। पाया संस्करण 27.0.2, 26.1.0। उदाहरणों में com.android.support:animated-vector-drawable:27.0.2 और com.android.support:customtabs:26.1.0 शामिल हैं।

पुस्तकालयों, या औजारों और पुस्तकालयों के कुछ संयोजन हैं, जो असंगत हैं, या बग पैदा कर सकते हैं। ऐसी ही एक असंगतता एंड्रॉइड सपोर्ट लाइब्रेरी के एक संस्करण के साथ संकलित है जो कि नवीनतम संस्करण नहीं है (या विशेष रूप से, आपके लक्ष्य से कम का संस्करण है।)

समाधान:
लाइब्रेरी को पुराने संस्करण के साथ, लेकिन एक नए संस्करण संख्या के साथ स्पष्ट रूप से जोड़ें।
मेरे मामले में com.android.support:customtabs:26.1.0मुझे जोड़ने की जरूरत है:

implementation "com.android.support:customtabs:27.0.2"  

यानी: दूसरे आइटम से लाइब्रेरी लें, और पहले से संस्करण संख्या के साथ इसे लागू करें।

ध्यान दें: अब सिंक को दबाना न भूलें, इसलिए ग्रेडेल निर्भरता ग्राफ को फिर से बना सकते हैं और देख सकते हैं कि क्या कोई और संघर्ष है।

स्पष्टीकरण:
आप त्रुटि संदेश से भ्रमित हो सकते हैं क्योंकि customtabsमैं इसका विरोध कैसे करता हूं, इसका उपयोग न करें !!
अच्छी तरह से .. आप इसे सीधे उपयोग नहीं किया था, लेकिन आपके पुस्तकालयों में से एक customtabsआंतरिक रूप से एक पुराने संस्करण का उपयोग करता है , इसलिए आपको सीधे इसके लिए पूछने की आवश्यकता है।

यदि आप यह जानने के लिए उत्सुक हैं कि पुराने संस्करणों के लिए आपकी कौन सी लाइब्रेरी जिम्मेदार है और हो सकता है कि वह लेखक से अपनी कामेच्छा को अपडेट करने के लिए कहे, ग्रैडल निर्भरता रिपोर्ट चलाएँ, जानने के लिए पुराना उत्तर देखें।

इस पर ध्यान दें


पुराना उत्तर:

कॉमन्सवेयर जवाब से प्रेरित :

अपनी निर्भरता का पूरा पेड़ क्या है, यह देखने के लिए ग्रैडल निर्भरता रिपोर्ट चलाएँ।

वहां से, आप देखेंगे कि आपकी कौन सी लाइब्रेरी एंड्रॉइड सपोर्ट लाइब्रेरी के एक अलग संस्करण के लिए पूछ रही है। जो कुछ भी वह माँग रहा है, उसके लिए आप सीधे 25.2.0 संस्करण से पूछ सकते हैं या उसी संस्करण को प्राप्त करने के लिए ग्रैडल के अन्य संघर्ष समाधान दृष्टिकोण का उपयोग कर सकते हैं।


अपडेट करें:

असेंबल प्लगइन संस्करण के रूप में: 3.0 compileको अंतर के लिए इस उत्तर से बदल दिया गया है implementationया apiदेखें ।

इसलिए इसके बजाय उपयोग करें:

./gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath

या खिड़कियों के लिए cmd:

gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath

और विवादित संस्करण की खोज करें।

मेरे लिए, निकालने के बाद त्रुटि गायब हो गई com.google.android.gms:play-services:10.2.0

और केवल शामिल हैं com.google.android.gms:play-services-location:10.2.0और com.google.android.gms:play-services-maps:10.2.0जैसा कि वे केवल दो खेल सेवाएं हैं जो मैं उपयोग करता हूं।

मुझे लगता gms:play-servicesहै कि समर्थन पुस्तकालय के कुछ पुराने घटकों पर निर्भर करता है, इसलिए हमें उन्हें स्वयं स्पष्ट रूप से जोड़ना होगा।


3.0 के लिए एक पुराने।

Daud:

./gradlew -q dependencies <module-name>:dependencies --configuration implementation

उदाहरण:

./gradlew -q dependencies app:dependencies --configuration implementation

अगर किसी को नए ढाल प्लगइन में एक बेहतर तरीका पता है तो कृपया मुझे बताएं।


3
com.google.android.gms:play-services:10.2.0का समर्थन करता है 14 SDK और ऊपर, आप एसडीके 14 से नीचे का उपयोग करना चाहते हैं, तो आप संस्करण का उपयोग करने की आवश्यकता 10.0.1के रूप में में उल्लेख किया stackoverflow.com/a/42315590/6248491
स्नेह पंड्या

2
@humprise noob सवाल, मैं एंड्रॉइड स्टूडियो में कमांड कहां चलाऊं?
हाइकाल नाशुहा

1
टर्मिनल में है, लेकिन पहले, खेलने-सेवाओं बात की कोशिश की कोशिश
humazed

1
क्या मैं अकेला हूँ जो सोचता है कि यह पागलपन है? मैं सिर्फ कॉम्बो और फेसबुक चाहता हूं, और वे एक साथ काम करने से इनकार करते हैं ....
जय

3
यह इंगित करने में मददगार हो सकता है कि examples includeत्रुटि संदेश में पाठ आपके स्वयं के प्रोजेक्ट से वास्तविक उदाहरण दिखाता है, समस्या के प्रकार के सामान्य उदाहरणों को अस्पष्ट नहीं करता है। लाइब्रेरी को दूसरे आइटम से लें, और पहले से संस्करण संख्या के साथ इसे लागू करें।
बेंजामिन केश्नर

203
  1. project/.idea/librariesअपने फाइल सिस्टम पर फोल्डर में जाएं और देखें कि कौन सी लाइब्रेरी अलग हैं।
  2. आपको इन पुस्तकालयों को अपनी build.gradleफ़ाइल में उसी संस्करण के साथ मैन्युअल रूप से शामिल करना होगा ।
  3. फिर, अपने प्रोजेक्ट को सिंक करें।

उदाहरण के लिए:

compile 'com.android.support:appcompat-v7:25.2.0'

// Wrong library version found on 1st point
compile 'com.android.support:customtabs:25.2.0'

अच्छी बात। मैंने कभी नहीं सोचा कि कौन सा वास्तव में गलत था। : एस थैंक्स!
टोबियास रीच

काम करता है जब स्वचालित हल करने की विधि नहीं होती है, धन्यवाद
20

10
/ प्रोजेक्ट फाइलों / मेरे प्रोजेक्ट / .idea / पुस्तकालयों में विभिन्न संस्करण के साथ कई समर्थन फाइलें हैं। अब मुझे कैसे पता चलेगा कि कौन सा मॉड्यूल या निर्भरता इसका उपयोग कर रहा है?
सतपाल यादव

2
@SatpalYadav मैंने सबसे नए उपलब्ध संस्करण का मिलान नहीं किया है (मैं अपने ऐप में उपयोग करता हूं)। जैसे मैं समर्थन का उपयोग करता हूं: डिजाइन: 25.3.1 लेकिन सामग्री-संवाद समर्थन-वी 13: 25.1.1 का उपयोग करता है। इसलिए मैंने समर्थन-v13: 25.3.1 जोड़ दिया है और त्रुटि गायब हो गई है।
हार्डिसिम

1
मेरे लिए अब तक का सबसे अच्छा समाधान है, लेकिन मैं नए कामों को कैसे रोक सकता हूं?
मत्युज कफलोव्स्की

149

सभी मामलों के लिए, न केवल इन संस्करणों या पुस्तकालयों के लिए:

थोड़ी जानकारी खिड़की पर ध्यान दें जो त्रुटि के बारे में कुछ कहता है, यह उन उदाहरणों को कहता है जिन्हें आपको बदलना और जोड़ना है

इस मामले में:

पाया संस्करण 25.1.1, 24.0.0। उदाहरणों में com.android.support:animated-vector-drawable:25.1.1 और com.android.support:mediarouter-v7:24.0.0 शामिल हैं।

तुम्हारी

com.android.support:animated-vector-drawable:25.1.1

संस्करण 25.1.1 है , और आपका

com.android.support:mediarouter-v7:24.0.0

संस्करण 24.0.0 है , इसलिए आपको एक ही संस्करण के साथ मध्यस्थ को जोड़ना होगा:

com.android.support:mediarouter-v7:25.1.1

और ऐसा हर उदाहरण के लिए करें, जो थोड़ी जानकारी खिड़की कहती है, इस मामले में सभी पुस्तकालयों में संस्करण 25.1.1 नहीं है।

अगले लाइब्रेरी और पैकेज को देखने के लिए आपको संकेतित लाइब्रेरी को ठीक करने के बाद आपको सिंक को सिंक करना होगा जिसे आपको बदलना है।

जरूरी:

यदि आप स्पष्ट रूप से एक या अधिक निर्दिष्ट पुस्तकालयों का उपयोग नहीं कर रहे हैं और यह आपको त्रुटि दे रहा है, तो इसका मतलब है कि किसी अन्य पुस्तकालय द्वारा आंतरिक रूप से उपयोग किया जा रहा है, वैसे भी इसे स्पष्ट रूप से संकलित करें।

आप सभी पुस्तकालयों के संस्करणों के अंतर को देखने के लिए एक अन्य विधि का भी उपयोग कर सकते हैं, जिसे आप वास्तव में संकलित कर रहे हैं (जैसे कि एक ग्रेडल निर्भरता रिपोर्ट चलाएं या अपनी पुस्तकालयों की फाइलों पर जाएं), वास्तविक ऑब्जेक्टिव सभी पुस्तकालयों को संकलित करता है, जिनका आप उपयोग कर रहे हैं एक ही संस्करण


1
एक टन धन्यवाद, क्या आप बता सकते हैं कि support:mediarouterवास्तव में क्या करता है?
मृग

1
मुझे लगता है कि यह कुछ ऐसा है जो आपने बताया है कि हम में से अधिकांश ने देखा है। और यानी- "उस छोटी सूचना खिड़की पर ध्यान दें जो त्रुटि के बारे में कुछ कहती है ...."। धन्यवाद, यह अब मुझे एक बेहतर समझ प्रदान करता है कि वास्तव में क्या हो रहा है।
यो एप्स

103

समस्या को हल करने का सबसे अच्छा तरीका एंड्रॉइड स्टूडियो द्वारा सुझाए गए सभी 'com.android.support: ...' को लागू करना है

(कोई फर्क नहीं पड़ता कि आप किस समर्थन संस्करण का उपयोग कर रहे हैं - 27.1.1, 28.0.0 आदि)

कर्सर को त्रुटि पंक्ति में रखें जैसे

implementation 'com.android.support:appcompat-v7:28.0.0'

Android Studio आपको सुझाएगा कि कौन सा 'com.android.support: ...' 'com.android.support:appcompat-v7:28.0.0' की तुलना में भिन्न संस्करण है

उदाहरण

सभी com.android.support पुस्तकालयों को सटीक एक ही संस्करण विनिर्देश का उपयोग करना चाहिए (मिक्सिंग संस्करण रनटाइम क्रैश का कारण बन सकता है)। पाया संस्करण 28.0.0, 27.1.0, 27.0.2। उदाहरणों में com.android.support:animated-vector-drawable:28.0.0 और com.android.support:exifinterface:27.1.0 शामिल हैं।

तो जोड़ने com.android.support:animated-vector-drawable:28.0.0 और com.android.support:exifinterface:28.0.0। अब सिंक फाइल को सिंक करें।

एक-एक करके सभी सुझाए गए 'com.android.support: ...' को लागू करने का प्रयास करें, जब तक कि इस पंक्ति में कोई त्रुटि न हो implementation 'com.android.support:appcompat-v7:28.0.0'

मेरे मामले में, मैंने जोड़ा

implementation 'com.android.support:appcompat-v7:28.0.0'

implementation 'com.android.support:animated-vector-drawable:28.0.0'
implementation 'com.android.support:exifinterface:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.android.support:customtabs:28.0.0'
implementation 'com.android.support:support-media-compat:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'

ये सभी निर्भरताएँ, यह आपके लिए अलग हो सकती हैं।


मैंने मैन्युअल रूप से "कार्यान्वयन 'com.android.support:animated-vector-drawable:28.0.0' और" कार्यान्वयन 'com.android.support:support-media-compat:28.0.0' दोनों को जोड़ा, लेकिन "कार्यान्वयन ' com.android.support:appcompat-v7:28.0.0 '' अभी भी लाल रंग से रेखांकित है
AAEM

@ AAEM यदि आप कर्सर को एरर लाइन पर रखते हैं तो यह दिखाएगा कि आगे क्या निर्भरताएँ हैं। कृपया सभी निर्भरताओं को एक ही संस्करण में जोड़ें और सिंक फ़ाइल को सिंक करें। यदि यह फिर से त्रुटि दिखाता है, तो जब तक कोई त्रुटि न हो, तब तक फिर से चरणों का पालन करें।
आदर्श विजयन पी

100

इसे अपने build.gradle (मॉड्यूल: एप्लिकेशन) के बहुत अंत में जोड़ें:

configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
    def requested = details.requested
    if (requested.group == 'com.android.support') {
        if (!requested.name.startsWith("multidex")) {
            details.useVersion '25.3.1'
        }
     }

   }
}

सुनिश्चित करें कि आप एंड्रॉइड सपोर्ट लाइब्रेरी के संस्करण के साथ '25 .3.1 'को बदलते हैं, जिसे आप सभी निर्भरता के लिए उपयोग करना चाहते हैं, यह आपके कॉंपाइल एसडीके संस्करण से कम नहीं होना चाहिए

पुनः सिंक सिंकेल की तुलना में


3
यह वही है जो मुझे चाहिए था, मेरी निर्भरता 27.0.1 में किसी तरह से खींच रही थी, तब भी जब मैंने शीर्ष स्तर पर कम संस्करण निर्दिष्ट किया था। जिज्ञासा से बाहर, आप "मल्टीडेक्स" को बाहर क्यों करते हैं?
रे

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

1
@ThinkTwiceCodeOnce आप groovy के बारे में और अधिक जानने के लिए यहां जा सकते हैं, और इसके इंटेलीजी प्लगइन्स: jetbrains.com/help/idea/getting-started-with-groovy.html
Ezzou

1
तुम एक जीवन रक्षक आदमी हो। इसे कई बार उखाड़ा जाना चाहिए!
imin

1
इसका समाधान होना चाहिए ... उत्थान
Ast

54

एंड्रॉइड स्टूडियो 2.3 पर अपडेट करने के बाद मुझे ठीक यही समस्या थी

निर्भरता में इस लाइन को जोड़ने से मेरी समस्या हल हो गई:

compile 'com.android.support:customtabs:25.2.0'

2
एंड्रॉइड स्टूडियो 2.3
प्लगइ

1
RenderScript का उपयोग करने वाले किसी के लिए, मैंने renderscriptSupportModeEnabled falseइसे गलत पर सेट किया है। और जोड़ा संकलन 'com.android.support:customtabs:25.2.0'और त्रुटि चली गई।
लॉ जिमनेज़

1
@LawGimenez और अगर हम इसे अभी निष्क्रिय कर देते हैं तो हमें रेंडरस्क्रिप्ट का उपयोग कैसे करना चाहिए?
dor506

3
ऐसा लगता है कि मेरी समस्या रेंडरस्क्रिप्ट के कारण भी है, लेकिन क्या होगा अगर मुझे किसी और चीज़ के लिए रेंडरस्क्रिप्ट की आवश्यकता है, कस्टमटैब्स के लिए नहीं?
हेंड्रडब्लूडी

46

क) भागो gradle dependenciesया./gradlew dependencies

बी) अपने पेड़ को देखें और यह पता लगाएं कि आपकी निर्भरता में से कौन सा निर्भरता नियंत्रण के लिए एक अलग समर्थन लाइब्रेरी संस्करण निर्दिष्ट कर रहा है।

मुझे यह महसूस नहीं हुआ कि यह चेतावनी यह भी प्रदर्शित करती है कि निर्भरता पूरी तरह से सीधे आपके ही कोड द्वारा अप्रयुक्त है। मेरे मामले में, फ़ेसबुक कुछ सपोर्ट लिब का उल्लेख करता है, जिनका मैं उपयोग नहीं कर रहा था, आप नीचे देख सकते हैं कि अधिकांश निर्भरताएँ मेरे अपने विनिर्देशन द्वारा 25.2.0 के ओवरराइड द्वारा -> XXX (*) प्रतीकों द्वारा निरूपित की गई थीं । कार्ड दृश्य और कस्टम टैब्स लिबास किसी के द्वारा ओवरराइड नहीं किए गए थे, इसलिए मुझे उन लोगों के लिए 25.2.0 पूछने की आवश्यकता है, भले ही मैं उनका उपयोग नहीं करता हूं।

+--- com.facebook.android:facebook-android-sdk:4.17.0
|    +--- com.android.support:support-v4:25.0.0 -> 25.2.0 (*)
|    +--- com.android.support:appcompat-v7:25.0.0 -> 25.2.0 (*)
|    +--- com.android.support:cardview-v7:25.0.0
|    |    \--- com.android.support:support-annotations:25.0.0 -> 25.2.0
|    +--- com.android.support:customtabs:25.0.0
|    |    +--- com.android.support:support-compat:25.0.0 -> 25.2.0 (*)
|    |    \--- com.android.support:support-annotations:25.0.0 -> 25.2.0
|    \--- com.parse.bolts:bolts-android:1.4.0 (*)

अगर ग्रेडेल ने आपको पहले ही चेतावनी दी है और आपको उदाहरण दिए हैं ...

उदाहरणों में com.android.support:animated-vector-drawable:25.1.1 और com.android.support:mediarouter-v7:24.0.0 शामिल हैं।

... यह बहुत आसान है अगर आप निचले संस्करण के लिए हाइलाइटिंग के बाद से कुछ ग्रीप में फेंक देते हैं, तो gradle dependenciesकाफी वर्बोज़ हो सकता है:

./gradlew dependencies | grep --color -E 'com.android.support:mediarouter-v7|$'

1
आपके स्पष्टीकरण से मैं समझता हूं कि XXX -> YYY (*) का अर्थ है कि XXX YYY द्वारा ओवरराइड किया गया है, यह जानना अच्छा है
बुध

वस्तुतः एकमात्र मान्य उत्तर।
स्टेफ

32

चरों का उपयोग करें : निम्नलिखित कुछ करने से आपके लिए यह सुनिश्चित करना आसान हो जाएगा कि आप सभी पुस्तकालयों के साथ एक ही संस्करण का उपयोग करें

dependencies {

    ext {
        support_library_version = '25.2.0'
        google_play_services_version = '10.2.0'
    }

    //#####################################################################
    //          Support Library
    //#####################################################################
    compile "com.android.support:appcompat-v7:${support_library_version}"
    compile "com.android.support:palette-v7:${support_library_version}"
    compile "com.android.support:design:${support_library_version}"

    //#####################################################################
    //          Google Play Services
    //#####################################################################
    compile "com.google.android.gms:play-services-auth:${google_play_services_version}"
    compile "com.google.android.gms:play-services-ads:${google_play_services_version}"
    compile "com.google.android.gms:play-services-analytics:${google_play_services_version}"

    //#####################################################################
    //          Firebase
    //#####################################################################
    compile "com.google.firebase:firebase-core:${google_play_services_version}"
    compile "com.google.firebase:firebase-auth:${google_play_services_version}"
    compile "com.google.firebase:firebase-messaging:${google_play_services_version}"

Google इस बारे में अधिक जानकारी देता है कि आप इस संस्करण को कैसे संभालते हैं, इस लेख में पाया जा सकता है: https://developer.android.com/studio/build/index.html#top-level


धन्यवाद प्रिय डैनियल एफ, मुझे लगता है कि संस्करण मिश्रण समस्या से बचने का यह सबसे अच्छा तरीका है।
होवेंस मोसोयान

2
केवल एक नोट कृपया: जैसा कि ऊपर दिए गए लिंक में सुझाया गया है, हमें इस प्रकार के चर को TOP LEVEL GRADLE FILE धन्यवाद में फिर से परिभाषित करना चाहिए)
Hovanes Mosoyan

25

बस इसे जोड़ें:

compile 'com.android.support:mediarouter-v7:25.2.0'

Updated नए एसडीके संस्करणों के लिए

compile 'com.android.support:mediarouter-v7:28.0.0-alpha3'

यह एक समस्या को हल नहीं करता है कि पुरानी लाइब्रेरी में पुराना एसडीके है।
कूलमाइंड

19

अगर वही त्रुटि है appcompat

implementation 'com.android.support:appcompat-v7:27.0.1'

फिर designइसे हल किया गया।

implementation 'com.android.support:appcompat-v7:27.0.1'
implementation 'com.android.support:design:27.0.1'

मेरे लिए, जोड़ना

implementation 'de.mrmaffen:vlc-android-sdk:2.0.6'

में शामिल appcompat-v7:23.1.1था

.idea / पुस्तकालयों

बिना vlc, appcompatअकेले काफी है।


बहुत धन्यवाद, यह काम किया, लेकिन 'com.android.support:design:27.0.1' की भूमिका क्या है
वेसम एल मह्डी

19

जैसा कि आपने पहले ही ऊपर दिए गए सभी उत्तरों और टिप्पणियों को देखा था, लेकिन यह उत्तर कुछ स्पष्ट करने के लिए है जो एक नया डेवलपर आसानी से नहीं प्राप्त कर सकता है।

./gradlew -q निर्भरता ऐप: निर्भरताएँ - अपरिपक्वता संकलन

उपरोक्त रेखा आपके जीवन को बिना किसी संदेह के बचाएगी लेकिन उपरोक्त रेखा के परिणाम से सटीक बिंदु कैसे प्राप्त करें।

जब आपको उपरोक्त कमांड से सभी निर्भरता चार्ट या सूची मिलती है, तो आपको उस परस्पर विरोधी संस्करण संख्या को खोजना होगा जो आपको अपने कोड में मिल रही है। कृपया नीचे दी गई छवि देखें।

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

उपरोक्त छवि में आप देख सकते हैं कि 23.4.0 समस्या पैदा कर रहा है, लेकिन यह हम अपनी श्रेणी फ़ाइल में नहीं पा रहे हैं। तो अब यह वर्जन नंबर (23.4.0) हमें बचाएगा। जब हमारे पास यह संख्या होती है तो हम इस संख्या को उपरोक्त कमांड परिणाम के परिणाम में पाएंगे और सीधे उस निर्भरता को सीधे हमारी फ़ाइल में आयात करेंगे। स्पष्ट दृश्य प्राप्त करने के लिए कृपया नीचे दी गई छवि देखें।

आप स्पष्ट रूप से देख सकते हैं कि com.android.support:cardview-v7:23.4.0 और com.android.support:customtabs:23.4.0 उस संस्करण का उपयोग कर रहे हैं जो समस्या पैदा कर रहा है। अब बस निर्भरता सूची से उन पंक्ति को कॉपी करें और स्पष्ट रूप से हमारी ग्रेड फ़ाइल में लेकिन अद्यतन संस्करण लिंक के साथ उपयोग करें

कार्यान्वयन "com.android.support:cardview-v7:26.1.0" कार्यान्वयन "com.android.support:customtabs:26.1.0"


1
धन्यवाद! एंड्रॉइड स्टूडियो के नए संस्करणों के साथ, इसे संकलन के बजाय कार्यान्वयन पर स्विच किया जाना चाहिए
एवी दर्शन

हाँ आप सही हैं @AviParshan हम संकलन या एपीआई का उपयोग कर सकते हैं। एपि कॉन्फ़िगरेशन में प्रदर्शित होने वाली निर्भरताएं लाइब्रेरी के उपभोक्ताओं के लिए सकारात्‍मक रूप से सामने आएंगी, और जैसा कि उपभोक्‍ताओं के संकलित वर्गपथ पर दिखाई देगा। कार्यान्वयन कॉन्फ़िगरेशन में मिली निर्भरता, दूसरी ओर, उपभोक्ताओं के सामने उजागर नहीं होगी, और इसलिए उपभोक्ताओं के संकलन क्लासपाथ में लीक नहीं होगी।
अनूपब्रीयन

उपयोग ./gradlew -q निर्भरता ऐप: निर्भरता
सुमित

15

संघर्षों को हल करने का एक और तरीका इस तरह से सभी निर्भरता के लिए सही संस्करण को मजबूर करना है:

dependencies {
            configurations.all {
                resolutionStrategy.eachDependency { DependencyResolveDetails details ->
                    if (details.requested.group == 'com.android.support' && details.requested.name == 'support-v4') {
                        details.useVersion "27.0.2"
                    }
                }
    ...
    }

https://docs.gradle.org/current/userguide/customizing_dependency_resolution_behavior.html


निर्भरता के समाधान के नियमों को बनाए रखना मुश्किल है। उन्हें संस्करण संख्या और कार्यान्वित समर्थन पुस्तकालयों में किसी भी परिवर्तन के लिए मैन्युअल रूप से बनाए रखना होगा। उदाहरण के लिए एंड्रॉइड स्टूडियो नए उपलब्ध संस्करणों को हाइलाइट करता है, लेकिन इन नियमों की व्याख्या नहीं करता है।
मैनुएल

12

Support-v4 के बजाय support-v13 का उपयोग करें

compile 'com.android.support:support-v13:25.2.0'

मुझे इससे समस्या हो रही है: संकलन 'com.android.support:recyclerview-v7:25.2.0'
क्राइम_मास्टर_गूगल

उपरोक्त के समान त्रुटि: -> सभी com.android.support पुस्तकालयों को सटीक उसी संस्करण विनिर्देश का उपयोग करना होगा Recyclerview
Crime_Master_GoGo

@Googli, कृपया compileSdkVersion लिखें , buildToolsVersion और निर्भरताएँ जिनका मैंने उपयोग किया। कोई समस्या नहींcompile 'com.android.support:appcompat-v7:25.2.0' compile 'com.android.support:design:25.2.0' compile 'com.android.support:support-v13:25.2.0' compile 'com.android.support:recyclerview-v7:25.2.0'
मेहमत हनोलू

12

एप्लिकेशन स्तर निर्भरता में इन्हें जोड़ें

implementation 'com.android.support:asynclayoutinflater:28.0.0'
implementation 'com.android.support:exifinterface:28.0.0'
implementation 'com.android.support:animated-vector-drawable:28.0.0'
implementation 'com.android.support:support-media-compat:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'

9

मेरी समस्या भी आपकी ही तरह है। यहाँ एक त्रुटि है!

compile 'com.android.support:appcompat-v7:25.3.0'

सभी com.android.support पुस्तकालयों को सटीक एक ही संस्करण विनिर्देश का उपयोग करना चाहिए (मिक्सिंग संस्करण रनटाइम क्रैश का कारण बन सकता है)। पाया संस्करण 25.3.0, 24.0.0। उदाहरणों में 'com.android.support:animated-vector-drawable:25.3.0' और 'com.android.support:mediarouter-v7:24.0.0' शामिल हैं।

इस उदाहरण को देखने में 'com.android.support:animated-vector-drawable:25.3.0' और 'com.android.support:mediarouter-v7:24.0.0' शामिल हैं।

निर्भरता में बस इन कोडों को जोड़ें, सुनिश्चित करें कि संस्करण समान हैं।

compile 'com.android.support:animated-vector-drawable:25.3.0'
compile 'com.android.support:mediarouter-v7:25.3.0'

9

compile 'com.google.android.gms:play-services:10.2.4'संकलन के साथ जोड़ने के बाद मुझे वही त्रुटि मिली 'com.android.support:appcompat-v7:25.3.1'

मुद्दे को जोड़ना animated-vector-drawableऔर mediarouter libsठीक करना।

compile 'com.google.android.gms:play-services:10.2.4'
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:animated-vector-drawable:25.3.1'
compile 'com.android.support:mediarouter-v7:25.3.1'

9

मेरे पास यह था:

dependencies {
   implementation fileTree(dir: 'libs', include: ['*.jar'])
   implementation 'com.android.support:appcompat-v7:27.1.1'
   implementation 'com.android.support:design:27.1.1'
   implementation 'com.android.support:support-v4:27.1.1'
   implementation 'com.google.firebase:firebase-auth:12.0.1'
   implementation 'com.google.firebase:firebase-firestore:12.0.1'
   implementation 'com.google.firebase:firebase-messaging:12.0.1'
   implementation 'com.google.android.gms:play-services-auth:12.0.1'
   implementation'com.facebook.android:facebook-login:[4,5)'
   implementation 'com.twitter.sdk.android:twitter:3.1.1'
   implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'
   implementation 'org.jetbrains:annotations-java5:15.0'
   implementation project(':vehiclesapi')
   testImplementation 'junit:junit:4.12'
   androidTestImplementation 'com.android.support.test:runner:1.0.1'
   androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}

और यह त्रुटि मिली: यहां छवि विवरण दर्ज करें

समाधान आसान था - प्राथमिक निर्भरताएं सभी सही थीं लेकिन फिर भी पत्तियां - किसी भी तीसरे पक्ष की निर्भरताएं। एक-एक कर सभी को हटा दिया गया, जब तक कि अपराधी नहीं मिला, और फेसबुक निकला! Android समर्थन पुस्तकालयों के संस्करण 27.0.2 के उपयोग से। मैंने २ version.१.१ को कार्डव्यू वर्जन जोड़ने की कोशिश की थी, लेकिन उस समाधान पर काम नहीं किया जो अभी भी काफी सरल था।

dependencies {
   implementation fileTree(dir: 'libs', include: ['*.jar'])
   implementation 'com.android.support:appcompat-v7:27.1.1'
   implementation 'com.android.support:design:27.1.1'
   implementation 'com.android.support:support-v4:27.1.1'
   implementation 'com.google.firebase:firebase-auth:12.0.1'
   implementation 'com.google.firebase:firebase-firestore:12.0.1'
   implementation 'com.google.firebase:firebase-messaging:12.0.1'
   implementation 'com.google.android.gms:play-services-auth:12.0.1'
   implementation('com.facebook.android:facebook-login:[4,5)'){
       // contains com.android.support:v7:27.0.2, included required com.android.support.*:27.1.1 modules
    exclude group: 'com.android.support'
   }
   implementation 'com.android.support:cardview-v7:27.1.1' // to replace facebook sdk's cardview-v7:27.0.2.
   implementation 'com.twitter.sdk.android:twitter:3.1.1'
   implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'
   implementation 'org.jetbrains:annotations-java5:15.0'
   implementation project(':vehiclesapi')
   testImplementation 'junit:junit:4.12'
   androidTestImplementation 'com.android.support.test:runner:1.0.1'
   androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}

9

मैंने एंड्रॉइड स्टूडियो 3.4 में अपग्रेड करने और 28.0.0 के एसडीके संस्करण के बाद इस समस्या का सामना किया है। नीचे निर्भरता को लागू करने से मेरे लिए समस्या हल हो गई।

    implementation 'com.android.support:exifinterface:28.0.0'

8

मैंने एंड्रॉइड स्टूडियो 2.3 में अपग्रेड करने के बाद अपनी समस्या को हल करने के लिए इन दोनों का उपयोग किया

compile 'com.android.support:animated-vector-drawable:25.0.0'
compile 'com.android.support:mediarouter-v7:25.0.0'

8

मुझे पहले भी यही समस्या थी और मुझे इसका समाधान मिला।

मैंने सिर्फ उन पुस्तकालयों को जोड़ा है जिनके पास एक और संस्करण था लेकिन मेरे उसी संस्करण के साथ support:appcompat

उदाहरण के लिए आपकी त्रुटि के लिए:

सभी com.android.support पुस्तकालयों को सटीक एक ही संस्करण विनिर्देश का उपयोग करना चाहिए (मिक्सिंग संस्करण रनटाइम क्रैश का कारण बन सकता है)। पाया संस्करण 25.1.1, 24.0.0। उदाहरणों में com.android.support:animated-vector-drawable:25.1.1 और com.android.support:mediarouter-v7:24.0.0 शामिल हैं।

* समाधान इन पुस्तकालयों के संस्करणों को इस तरह संकलित करना है:

compile 'com.android.support:mediarouter-v7:25.1.1'

-अन्य पुस्तकालय में एक ही मुद्दा था और एक और संस्करण था बस इसे अपने support:appcompatसंस्करण के साथ संकलित करें

इससे मेरी समस्या का समाधान हो गया और मुझे आशा है कि यह आपका समाधान करेगा।

शुभकामनाएँ :)


8

उत्तर खोजने और संयोजन करने के बाद, इस प्रश्न का 2018 संस्करण और इसने मेरे लिए काम किया:

1) नेविगेशन टैब पर इसे प्रोजेक्ट व्यू में बदलें

2) [YourProjectName] / पर विचार करें। विचार / पुस्तकालय /

3) Gradle__com_android_support_ [पुस्तकालयनाम] के साथ शुरू होने वाली सभी फ़ाइलों को हटाएं

जैसे: Gradle__com_android_support_animated_vector_drawable_26_0_0.xml

4) आपकी ग्रेड फ़ाइल में एक चर को परिभाषित करें और इसका उपयोग संस्करण संख्या को $ {variableName} की तरह बदलने के लिए करें

डेफ़ चर:

ext {
    support_library_version = '28.0.0' //use the version of choice
}

चर का उपयोग करें:

implementation "com.android.support:cardview-v7:${support_library_version}"

उदाहरण के प्रकार:

dependencies {
    ext {
        support_library_version = '28.0.0' //use the version of choice
    }

    implementation fileTree(include: ['*.jar'], dir: 'libs')

    implementation "com.android.support:animated-vector-drawable:${support_library_version}"
    implementation "com.android.support:appcompat-v7:${support_library_version}"
    implementation "com.android.support:customtabs:${support_library_version}"
    implementation "com.android.support:cardview-v7:${support_library_version}"
    implementation "com.android.support:support-compat:${support_library_version}"
    implementation "com.android.support:support-v4:${support_library_version}"
    implementation "com.android.support:support-core-utils:${support_library_version}"
    implementation "com.android.support:support-core-ui:${support_library_version}"
    implementation "com.android.support:support-fragment:${support_library_version}"
    implementation "com.android.support:support-media-compat:${support_library_version}"
    implementation "com.android.support:appcompat-v7:${support_library_version}"
    implementation "com.android.support:recyclerview-v7:${support_library_version}"
    implementation "com.android.support:design:${support_library_version}"

}

1
इस उत्तर को और स्पष्टीकरण की आवश्यकता है। एक पाठक को यह विश्वास करने के लिए प्रेरित किया जा सकता है कि वे आपकी संपूर्ण ग्रेड फ़ाइल को अपने प्रोजेक्ट में कॉपी-पेस्ट करें। आपको यह बताना चाहिए कि आपने एक्सटेंशन क्यों जोड़ा और आपने gplaysvcs वर्जन के लिए कुछ सपोर्ट लिब को क्यों सेट किया, दूसरों को सपोर्टलिब वर्जन को, और कुछ को अपरिवर्तित रखा गया है।
जंगलबेदेव

8

Android स्टूडियो के नए संस्करण 3.x के साथ बहुत सरल।

बस उस संस्करण की प्रतिलिपि बनाएँ जो वर्तमान संस्करण से कम है और इसे वर्तमान संस्करण के समान संस्करण संख्या के साथ स्पष्ट रूप से जोड़ें।

उदाहरण

पाया संस्करण 27.1.1, 27.1.0। उदाहरणों में com.android.support:animated-vector-drawable:27.1.1 और com.android.support:exifinterface:27.1.0 शामिल हैं।

बस संस्करण को कॉपी करें com.android.support:exifinterface:27.1.0और इसे बदल दें com.android.support:exifinterface:27.1.1ताकि यह आपके द्वारा उपयोग किए जा रहे वर्तमान संस्करण के बराबर हो जाए और इसे अपनी श्रेणीबद्ध निर्भरता में जोड़ दें।

implementation 'com.android.support:exifinterface:27.1.1'

नोट: एक बार जब आप काम कर लेते हैं तो संपादक के शीर्ष पर अब सिंक पर क्लिक करना न भूलें ।


7

इस त्रुटि के लिए 2018 अपडेट में प्रोजेक्ट संरचना से कार्यान्वयन जोड़ें

implementation 'com.android.support:support-v13:28.0.0'

परियोजना मोड में -> बाहरी पुस्तकालय आप अपनी समस्या पा सकते हैं, मेरे मामले में मैं संस्करण 28 का उपयोग कर रहा हूं और बाहरी पुस्तकालय मुझे मिला com.android.support:support-media-compat-26.0.0और यहां त्रुटि थी।

कार्यान्वयन के बाद support v13और यह काम कर रहा है


इस कार्यान्वयन के साथ लाल रेखांकन गायब हो गया।
Truong Hieu

6

आपने 24.0.0इसके बजाय संस्करण के साथ संकलन करने के लिए किसी अन्य निर्भरता को परिभाषित किया है 25.1.1। कृपया सभी निर्भरताएं संस्करण के समान सेट करें 25.1.1


मैंने अपना उत्तर अपडेट कर दिया है सभी समर्थन संस्करणों का एक ही संस्करण 25.1.1 है
19

6

मुझे त्रुटि को दूर करने के लिए ग्रेडेल में निम्नलिखित पंक्तियों को जोड़ना था

compile 'com.android.support:animated-vector-drawable:25.2.0'
compile 'com.android.support:preference-v7:25.2.0'
compile 'com.android.support:customtabs:25.2.0'
compile 'com.android.support:cardview-v7:25.2.0'

6

मैं भागा ।/gradlew कार्य --all और निर्भरता के लिए जाँच की गई जो कि लक्षित संस्करण (25.3.1) से भिन्न संस्करण थे। आपको कुछ इस तरह मिलेगा:

app:prepareComAndroidSupportAnimatedVectorDrawable2531Library - Prepare com.android.support:animated-vector-drawable:25.3.1
app:prepareComAndroidSupportAppcompatV72531Library - Prepare com.android.support:appcompat-v7:25.3.1
app:prepareComAndroidSupportCardviewV72531Library - Prepare com.android.support:cardview-v7:25.3.1
app:prepareComAndroidSupportCustomtabs2531Library - Prepare com.android.support:customtabs:25.3.1
app:prepareComAndroidSupportDesign2531Library - Prepare com.android.support:design:25.3.1
app:prepareComAndroidSupportMediarouterV72531Library - Prepare com.android.support:mediarouter-v7:25.3.1
app:prepareComAndroidSupportPaletteV72531Library - Prepare com.android.support:palette-v7:25.3.1
app:prepareComAndroidSupportRecyclerviewV72531Library - Prepare com.android.support:recyclerview-v7:25.3.1
app:prepareComAndroidSupportSupportCompat2531Library - Prepare com.android.support:support-compat:25.3.1
app:prepareComAndroidSupportSupportCoreUi2531Library - Prepare com.android.support:support-core-ui:25.3.1
app:prepareComAndroidSupportSupportCoreUtils2531Library - Prepare com.android.support:support-core-utils:25.3.1
app:prepareComAndroidSupportSupportFragment2531Library - Prepare com.android.support:support-fragment:25.3.1
app:prepareComAndroidSupportSupportMediaCompat2531Library - Prepare com.android.support:support-media-compat:25.3.1
app:prepareComAndroidSupportSupportV42531Library - Prepare com.android.support:support-v4:25.3.1
app:prepareComAndroidSupportSupportVectorDrawable2531Library - Prepare com.android.support:support-vector-drawable:25.3.1
app:prepareComAndroidSupportTransition2531Library - Prepare com.android.support:transition:25.3.1
app:prepareComAndroidVolleyVolley100Library - Prepare com.android.volley:volley:1.0.0
app:prepareComCrashlyticsSdkAndroidAnswers1312Library - Prepare com.crashlytics.sdk.android:answers:1.3.12
app:prepareComCrashlyticsSdkAndroidBeta124Library - Prepare com.crashlytics.sdk.android:beta:1.2.4
app:prepareComCrashlyticsSdkAndroidCrashlytics267Library - Prepare com.crashlytics.sdk.android:crashlytics:2.6.7
app:prepareComCrashlyticsSdkAndroidCrashlyticsCore2316Library - Prepare com.crashlytics.sdk.android:crashlytics-core:2.3.16
app:prepareComFacebookAndroidFacebookAndroidSdk4161Library - Prepare com.facebook.android:facebook-android-sdk:4.16.1
app:prepareComGoogleAndroidGmsPlayServicesAnalytics1026Library - Prepare com.google.android.gms:play-services-analytics:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesAnalyticsImpl1026Library - Prepare com.google.android.gms:play-services-analytics-impl:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesAuth1026Library - Prepare com.google.android.gms:play-services-auth:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesAuthBase1026Library - Prepare com.google.android.gms:play-services-auth-base:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesBase1026Library - Prepare com.google.android.gms:play-services-base:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesBasement1026Library - Prepare com.google.android.gms:play-services-basement:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesCast1026Library - Prepare com.google.android.gms:play-services-cast:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesLocation1026Library - Prepare com.google.android.gms:play-services-location:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesMaps1026Library - Prepare com.google.android.gms:play-services-maps:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesTagmanagerV4Impl1026Library - Prepare com.google.android.gms:play-services-tagmanager-v4-impl:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesTasks1026Library - Prepare com.google.android.gms:play-services-tasks:10.2.6
app:prepareComGoogleFirebaseFirebaseAnalytics1026Library - Prepare com.google.firebase:firebase-analytics:10.2.6
app:prepareComGoogleFirebaseFirebaseAnalyticsImpl1026Library - Prepare com.google.firebase:firebase-analytics-impl:10.2.6
app:prepareComGoogleFirebaseFirebaseAppindexing1024Library - Prepare com.google.firebase:firebase-appindexing:10.2.4
app:prepareComGoogleFirebaseFirebaseCommon1026Library - Prepare com.google.firebase:firebase-common:10.2.6
app:prepareComGoogleFirebaseFirebaseCore1026Library - Prepare com.google.firebase:firebase-core:10.2.6
app:prepareComGoogleFirebaseFirebaseIid1026Library - Prepare com.google.firebase:firebase-iid:10.2.6
app:prepareComGoogleFirebaseFirebaseMessaging1026Library - Prepare com.google.firebase:firebase-messaging:10.2.6
app:prepareComMindorksPlaceholderview027Library - Prepare com.mindorks:placeholderview:0.2.7
app:prepareDebugAndroidTestDependencies
app:prepareDebugDependencies
app:prepareDebugUnitTestDependencies
app:prepareInfoHoang8fAndroidSegmented105Library - Prepare info.hoang8f:android-segmented:1.0.5
app:prepareIoFabricSdkAndroidFabric1316Library - Prepare io.fabric.sdk.android:fabric:1.3.16
app:prepareNoNordicsemiAndroidLog211Library - Prepare no.nordicsemi.android:log:2.1.1
app:prepareNoNordicsemiAndroidSupportV18Scanner100Library - Prepare no.nordicsemi.android.support.v18:scanner:1.0.0

इस मामले में, मैं 25.3.1 को लक्षित कर रहा था, और कुछ निर्भरता थी जब मैं इस कमांड को चलाता था। चाल इस सूची में निर्भरता की पहचान करने के लिए है जो पिछले संस्करणों को लक्षित कर रही है, और ग्रैडल में निर्भरता के सबसे हाल के संस्करण को आयात करके ओवरराइड कर रही है।


6

मैं एक ही समस्या है, लेकिन मैं उन तीन लाइनों को जोड़कर इसे हल कर दिया

implementation 'com.android.support:design:27.1.1'
implementation "com.android.support:customtabs:27.1.1"
implementation 'com.android.support:mediarouter-v7:27.1.1'

अब हर चीज पूरी तरह से काम करती है


6

इस चेतावनी को ठीक करने के लिए यहां मेरा प्रवाह है

build.gradle

android {
    compileSdkVersion ... // must same version (ex: 26)
    ...
}

dependencies {
    ...
    compile 'any com.android.support... library'  // must same version (ex: 26.0.1)
    compile 'any com.android.support... library'  // must same version (ex: 26.0.1)

    ...
    compile ('a library B which don't use 'com.android.support...' OR use SAME version of 'com.android.support'){
         // do nothing 
    }

    ...
    compile ('a library C which use DIFFERENT 'com.android.support...' (ex:27.0.1) { 
        // By default, if use don't do anything here your app will choose the higher com.android.support... for whole project (in this case it is 27.0.1)

        // If you want to use 26.0.1 use
        exclude group: 'com.android.support', module: '...' (ex module: 'appcompat-v7') 
        exclude group: 'com.android.support', module: 'another module'
        ...

        // If you want to use 27.0.1 do 
        Upgrade `compileSdkVersion` and all 'com.android.support' to 27.0.1.
        (It may be a good solution because the best practice is always use latest `compileSdkVersion`.  
        However, use 26 or 27 is base on you for example higher library may have bug)
    }
}

dependenciesअपने एप्लिकेशन में सभी लाइब्रेरी को देखने / सत्यापित करने के लिए
टर्मिनल खोलें और चलाएं./gradlew app:dependencies

dependenciesअपने ऐप में एक विशिष्ट पुस्तकालय को देखने के लिए यहां ट्यूटोरियल का पालन करें: - ग्रैडल में किसी विशेष निर्भरता की निर्भरता को बाहर कैसे करें

आशा है कि यह मदद करेगा


5

अपनी परियोजना की बाहरी लाइब्रेरी खोलें, आप देखेंगे कि कुछ पुस्तकालय अभी भी पिछले संस्करण का उपयोग कर रहे हैं, हालांकि आपने उन पुस्तकालय का उल्लेख नहीं किया है, इसलिए मेरा सुझाव सिर्फ उन विशेष पुस्तकालय संस्करण का उपयोग करना है जो आपकी समस्या को हल करेंगे।


5

मैं सिर्फ अपने Android समर्थन रिपॉजिटरी (संशोधन: 44.0.0) को अपडेट करता हूं; तब Android एसडीके उपकरण और एमुलेटर नवीनतम संस्करण 25.3.1 से sdk प्रबंधक> एसडीके उपकरण और इसने मेरी समस्या हल कर दी।

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