परियोजना में निर्भरता 'com.android.support:support-annotations' के साथ संघर्ष: 'ऐप'। एप्लिकेशन (26.1.0) और परीक्षण एप्लिकेशन (27.1.1) के लिए हल किए गए संस्करण अलग-अलग हैं।


106

मैं Android App Development में नया हूं। जब मैंने एक नया प्रोजेक्ट बनाने की कोशिश की, तो एंड्रॉइड प्रोजेक्ट ... निम्न संदेश पॉप अप हुआ।

त्रुटि: कार्य के लिए निष्पादन विफल रहा ': ऐप: preDebugAndroidTestBuild'।

निर्भरता के साथ संघर्ष 'com.android.support:support-annotations' परियोजना में ': ऐप'। एप्लिकेशन (26.1.0) और परीक्षण एप्लिकेशन (27.1.1) के लिए हल किए गए संस्करण अलग-अलग हैं। देखें https://d.android.com/r/tools/test-apk-dependency-conflicts.html जानकारी के लिए। सूचना: ग्रेड कार्य [: app: generateDebugSource,: app: generateDebugAndroidTestSources,: app: mockableAndroidJar]

यह मेरे प्रोजेक्ट का स्क्रीनशॉट है जिसे मुझे मिली त्रुटि का स्क्रीनशॉट देखने के लिए यहां क्लिक करें

मैंने इस कोड को अपनी निर्भरता में जोड़ने की कोशिश की .. androidTestCompile 'com.android.support:support-annotations:23.3.0' यह काम नहीं किया। मैंने २ work.१.१ और २६.१.० की भी कोशिश की थी।


इस सवाल की जाँच करें: stackoverflow.com/q/43817004/9611523 । आशा है कि यह मदद करेगा।

1
एंड्रॉइड स्टूडियो को अपडेट करना (साथ ही एमुलेटर और उसके बाद कुछ अन्य सामान) ने मेरे लिए उस समस्या को हल किया।

समस्या एनोटेशन ग्रेडेल के कारण है जो एंड्रॉइड स्टूडियो नए प्रोजेक्ट निर्माण में डिफ़ॉल्ट रूप से नहीं आती है। यह आपकी मदद हो सकती है: Readyandroid.wordpress.com/…
तैयार Android

जवाबों:


182

आपके स्क्रीनशॉट के आधार पर मुझे दो कार्य समाधान मिले:

पहला समाधान : इस लाइन के अपने ग्रेड मॉड्यूल की निर्भरता में जोड़ें

compile 'com.android.support:support-annotations:27.1.1'

और अपने प्रोजेक्ट को सिंक करें

नोट: आप एंड्रॉयड स्टूडियो उपयोग कर रहे हैं 3+ परिवर्तन compileकरने के लिएimplementation

दूसरा समाधान : प्रलेखन में पाए गए प्रोजेक्ट-वाइड गुणों को कॉन्फ़िगर करें https://developer.android.com/studio/build/gradle-tips.html#configure-project-wide-properties

परियोजना में इस लाइन को जोड़ने के लिए:

// This block encapsulates custom properties and makes them available to all
// modules in the project.
ext {
    // The following are only a few examples of the types of properties you can define.
    compileSdkVersion = 26
    // You can also use this to specify versions for dependencies. Having consistent
    // versions between modules can avoid behavior conflicts.
    supportLibVersion = "27.1.1"
}

तब इस खंड परिवर्तन compileSdkVersionलाइन तक पहुँचने के लिए

compileSdkVersion rootProject.ext.compileSdkVersion

और dependenciesखंड में आयातित पुस्तकालय को इस तरह से बदलना:

compile "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"

और अपने प्रोजेक्ट को सिंक करें

नोट: आप एंड्रॉयड स्टूडियो उपयोग कर रहे हैं 3+ परिवर्तन compileकरने के लिएimplementation

के बीच के अंतर के लिए compileऔर इसे implementationदेखो क्या है और कार्यान्वयन में अंतर के बीच अंतर है


4
मैं संकलन के बजाय 'कार्यान्वयन' का उपयोग करने का सुझाव
दूंगा

60

नीचे की ओर ब्लॉक करने से पहले अपने app.gradle फ़ाइल में नीचे पंक्ति जोड़ें।

configurations.all {
    resolutionStrategy {
        force 'com.android.support:support-annotations:26.1.0'
    }
}

बेहतर समझ के लिए नीचे स्क्रीनशॉट भी है।

विन्यास। लंबा ब्लॉक

  1. configurations.all ब्लॉक केवल तभी उपयोगी होगा जब आप चाहते हैं कि आपका लक्ष्य 26 तक होना चाहिए। यदि आप इसे 27 में बदल सकते हैं, तो कॉन्फ़िगरेशन ब्लॉक को app.gradle फ़ाइल में जोड़े बिना त्रुटि हो जाएगी।

  2. एक और तरीका है यदि आप app.gradle फ़ाइल से सभी परीक्षण कार्यान्वयन को हटा देंगे यह त्रुटि को हल करेगा और इसमें भी आपको कॉन्फ़िगरेशन ब्लॉक को जोड़ने की आवश्यकता नहीं है और न ही आपको targetdk संस्करण को बदलने की आवश्यकता है।

उम्मीद है की वो मदद करदे।


धन्यवाद, मेरा समय बचाओ
मणिकंदन के

1
@ ManikandanK मदद के लिए खुश!
हर्ष जैन

पूरा निर्देश देने के लिए आपकी प्रशंसा करते हैं! (इस तरह के विषय पर इतने सारे उत्तर "इस तरह जोड़ें:" बल 'com.android.support:support-annotations:26.1.0' "थोड़े / बिना संदर्भ के!" (अफसोस की बात है, हालांकि मैं अभी भी वही हो रहा हूं! मेरे मामले में त्रुटि का निर्माण करें, "com.android.support:support-annotations:27.0.0 नहीं पा सका। इसके लिए आवश्यक: प्रशिक्षणक: बग्सनाग-प्रतिक्रिया-मूल: अनिर्दिष्ट> com.bugsnag: बग्स-एंड्रॉइड: 4.3.1"
ड्रोनज़

35

यदि आप संस्करण 26 का उपयोग करते हैं, तो अंदर निर्भरता संस्करण 1.0.1 और 3.0.1 होना चाहिए , अर्थात्

  androidTestImplementation 'com.android.support.test:runner:1.0.1'
  androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'

यदि आप संस्करण 27 का उपयोग करते हैं, तो अंदर की निर्भरता संस्करण 1.0.2 और 3.0.2 होना चाहिए , अर्थात्

  androidTestImplementation 'com.android.support.test:runner:1.0.2'
  androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

2
भगवान आपको आशीर्वाद दे, नरक में सड़ने वाले पुस्तकालयों का समर्थन एंड्रॉइड कर सकता है!
मुहम्मद नादेरी

तो एंड्रॉइड स्टूडियो विज़ार्ड त्रुटियों के साथ खरोंच से एक परियोजना बनाता है? Ian
सेबस्टियन ब्रेइट

28 के बारे में क्या ?
अलिज़ुलुफ़र

27

यदि आप Android Studio 3.1। + या उससे ऊपर का उपयोग कर रहे हैं

बस इसे अपने ग्रेडेल डिपिडेंसी में रखें:

implementation 'com.android.support:support-annotations:27.1.1'

इस तरह कुल मिलाकर:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

    implementation 'com.android.support:support-annotations:27.1.1'
}

प्यार के लिए धन्यवाद buddy.Lots
amilab

23

यह संस्करणों का एक संघर्ष के कारण है, इसे हल करने के लिए, बस अपने समर्थन-एनोटेशन संस्करण के एक अपडेट को बाध्य करें, इस लाइन को अपने मॉड्यूल पर जोड़ते हुए: ऐप ग्रेड

implementation ('com.android.support:support-annotations:27.1.1')

आशा है कि यह आपके मुद्दे को हल करता है;)

संपादित करें

लगभग भूल गया, आप संस्करण के लिए एक अतिरिक्त संपत्ति ( https://docs.gradle.org/current/userguide/writing_build_scripts.html#sec:extra_properties ) घोषित कर सकते हैं , अपनी परियोजना (या आपकी शीर्ष) ग्रेड फ़ाइल में जा सकते हैं, और अपने समर्थन की घोषणा करें, या केवल इस उदाहरण के लिए, एनोटेशन संस्करण var

ext.annotation_version = "27.1.1"

फिर अपने मॉड्यूल ग्रेडेल में इसे बदलें:

implementation ("com.android.support:support-annotations:$annotation_version")

यह @emadabel समाधान के समान है, जो इसे करने के लिए एक अच्छा विकल्प है, लेकिन ब्लॉक या rootprojectउपसर्ग के बिना ।


1
उपर्युक्त समाधान के लिए धन्यवाद देने से मुझे मदद मिली
भारथराव

इस पंक्ति को जोड़ने के बाद अब मुझे त्रुटि मिल रही है "त्रुटि: कार्य के लिए निष्पादन विफल रहा ': app: processDebugManifest'।> मैनिफेस्ट विलय कई त्रुटियों के साथ विफल रहा, लॉग देखें" कृपया मेरी मदद करें मैं इसे कैसे हल कर सकता हूं
बसंत '

@ बसाट मुझे यह देखने की आवश्यकता होगी कि यह कौन सा मुद्दा है, क्योंकि यह आपके ग्रेडेल को निष्पादित करने में एक समस्या है, इसके लिए एक प्रश्न खोलना बेहतर होगा
desgraci

देर से उत्तर @desgraci के लिए क्षमा करें, मेरे पास आईडीई
बसंत

@ बंसत सुनकर खुश हुआ!
desgraci

9

इसे build.gradle (मॉड्यूल ऐप) में जोड़ना मेरे लिए काम करता है:
'com.android.support:support-annotations:27.1.1' संकलित करें


7

चिंता मत करो यह सरल है:

"प्रोजेक्ट" निर्देशिका संरचना पर जाएं और इसमें "ग्रेड स्क्रिप्ट" पर जाएं और इसके अंदर "बिल्ड.ग्रेडल (मॉड्यूल: ऐप)" पर जाएं और इसे डबल क्लिक करें।

अब - कार्यक्रम को नीचे स्क्रॉल करें और उस पर निर्भरता अनुभाग पर जाएं: नीचे की तरह


निर्भरताएँ {

implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

}


अब इसमें कोड की अंतिम दो लाइनें हटाएं और ऐप को फिर से बनाएं और अब यह काम करेगा

निर्भरताएं होनी चाहिए:


निर्भरताएँ {

implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
testImplementation 'junit:junit:4.12'

}


एप्लिकेशन और यह काम करता है !!


आपने समझाया नहीं कि आपने क्या हटाया / जोड़ा। क्या होगा यदि परीक्षण पुस्तकालयों की आवश्यकता है यहां?
TheRealChx101

3

अपनी परियोजना में build.gradle (मॉड्यूल ऐप) पर जाएं:

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

तस्वीर का अनुसरण करें और उन संस्करण को बदलें:

compileSdkVersion: 27
targetSdkVersion: 27

और अगर एंड्रॉइड स्टूडियो संस्करण 2: इस लाइन के साथ लाइन बदलें:

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

और इस लाइन के साथ लाइन बदलें:

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

और उम्मीद है, आप अपने बग को हल करेंगे।


2

इसे अपनी ग्रेडल फ़ाइल में जोड़ें।

implementation 'com.android.support:support-annotations:27.1.1'

1

इस समस्या को हल करने का एक और सरल तरीका है अपने build.gradle(ऐप) को संपादित करना :

  1. androidटैग पर जाएं और बदल compileSdkVersion 26देंcompileSdkVersion 27
  2. defaultConfigटैग पर जाएं और बदल targetSdkVersion 26देंtargetSdkVersion 27
  3. dependenciesटैग करने और बदलने के implementation 'com.android.support:appcompat-v7:26.1.0'लिए मिलाimplementation 'com.android.support:appcompat-v7:27.1.1'

1

मुझे एक ही समस्या है, build.gradle (मॉड्यूल: ऐप) पर निर्भरता के अंदर कोड की निम्न पंक्ति जोड़ें:

dependencies 
{
   ...
   compile 'com.android.support:support-annotations:27.1.1'
}

इसने मेरे लिए पूरी तरह से काम किया


1

महत्वपूर्ण अद्यतन

प्रोजेक्ट स्तर build.gradle पर जाएं, वैश्विक चर को परिभाषित करें

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext.kotlinVersion = '1.2.61'

    ext.global_minSdkVersion = 16
    ext.global_targetSdkVersion = 28
    ext.global_buildToolsVersion = '28.0.1'
    ext.global_supportLibVersion = '27.1.1'
}

एप्लिकेशन स्तर build.gradle पर जाएं, और वैश्विक चर का उपयोग करें

app build.gradle

android {
    compileSdkVersion global_targetSdkVersion
    buildToolsVersion global_buildToolsVersion
    defaultConfig {
        minSdkVersion global_minSdkVersion
        targetSdkVersion global_targetSdkVersion
}
...

dependencies {
    implementation "com.android.support:appcompat-v7:$global_supportLibVersion"
    implementation "com.android.support:recyclerview-v7:$global_supportLibVersion"
    // and so on...
}

कुछ पुस्तकालय build.gradle

android {
    compileSdkVersion global_targetSdkVersion
    buildToolsVersion global_buildToolsVersion
    defaultConfig {
        minSdkVersion global_minSdkVersion
        targetSdkVersion global_targetSdkVersion
}
...

dependencies {
    implementation "com.android.support:appcompat-v7:$global_supportLibVersion"
    implementation "com.android.support:recyclerview-v7:$global_supportLibVersion"
    // and so on...
}

समाधान यह है कि अपने संस्करणों को सभी मॉड्यूल में समान बनाया जाए। ताकि आप संघर्ष न करें।

महत्वपूर्ण टिप्स

मुझे लगा जब मैंने हर चीज के अपडेटेड वर्जन- ग्रेडल, एसडीके, लाइब्रेरी आदि को अपडेट किया है तो मुझे कम त्रुटियों का सामना करना पड़ा। क्योंकि Android Studio पर इसे आसान बनाने के लिए डेवलपर कड़ी मेहनत कर रहे हैं।

हमेशा नवीनतम लेकिन स्थिर संस्करण होते हैं अस्थिर संस्करण हैं alpha, betaऔरrc , उन्हें विकसित करने में उपेक्षा करते हैं।

मैंने अपनी परियोजनाओं में सभी नीचे अपडेट किया है, और मैं अब इन त्रुटियों का सामना नहीं करता हूं।

हैप्पी कोडिंग! :)


0

यदि बदलते लक्ष्य sdk संस्करण मदद नहीं करता है तो यदि आपके पास संस्करण के साथ कोई निर्भरता है 3.0.2तो इसे बदल दें 3.0.1

जैसे बदलाव

androidTestImplementation 'com.android.support.test.espresso:espresso-contrib:3.0.2'

सेवा

androidTestImplementation 'com.android.support.test.espresso:espresso-contrib:3.0.1'

0

आधिकारिक स्पष्टीकरण में एक बेहतर समाधान बताया गया है । मैंने क्षैतिज रेखा के नीचे जो उत्तर दिया है, उसे मैंने छोड़ दिया।

वहाँ समाधान के अनुसार:

एक बाहरी टैग का उपयोग करें और नीचे दिए गए कोड को शीर्ष-स्तरीय बिल्ड.ग्रेड फ़ाइल में लिखें । आप स्थैतिक संस्करण संख्या के बजाय संस्करण को चर में बदलने जा रहे हैं।

ext {
    compileSdkVersion = 26
    supportLibVersion = "27.1.1"
}

अपने ऐप-स्तरीय बिल्ड.ग्रेड फ़ाइल में स्थिर संस्करण संख्याओं को बदलें , जिसके (Module: app)पास पास है।

android {
    compileSdkVersion rootProject.ext.compileSdkVersion // It was 26 for example
    // the below lines will stay
}

// here there are some other stuff maybe

dependencies {
    implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
    // the below lines will stay
}

अपनी परियोजना सिंक करें और आपको कोई त्रुटि नहीं मिलेगी।


आपको ग्रेड स्क्रिप्ट में कुछ भी जोड़ने की आवश्यकता नहीं है। आवश्यक एसडीके स्थापित करें और समस्या हल हो जाएगी।

अपने मामले में, वरीयताएँ> Android SDK या उपकरण> Android> SDK प्रबंधक से नीचे लाइब्रेरी स्थापित करें

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


0

इस रेखा को अपनी श्रेणी फ़ाइल में निर्भरता के अंतर्गत जोड़ें

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