নির্ভরতা 'com.android.support:support-annotations' এর সাথে সংঘাত। অ্যাপ্লিকেশন (23.1.0) এবং পরীক্ষার অ্যাপ্লিকেশন (23.0.1) এর সমাধান করা সংস্করণগুলি পৃথক


119

নির্মাণের সময় আমি নিম্নলিখিত ত্রুটিটি পাই:

Conflict with dependency 'com.android.support:support-annotations'. Resolved versions for app (23.1.0) and test app (23.0.1) differ.

এগুলি আমার গ্রেড নির্ভরতা

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:support-v4:23.1.0'
    compile 'com.android.support:appcompat-v7:23.1.0'
    compile 'com.android.support:design:23.1.0'
    compile 'com.android.support:cardview-v7:23.1.0'
    compile 'com.android.support:recyclerview-v7:23.1.0'
    compile 'com.squareup.retrofit:retrofit:1.9.0'
    compile 'com.squareup.okhttp:okhttp:2.4.0'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.jakewharton:butterknife:7.0.1'
    compile 'com.squareup:otto:1.3.8'
    compile 'com.snappydb:snappydb-lib:0.5.2'
    compile 'com.esotericsoftware.kryo:kryo:2.24.0'
    compile 'com.google.dagger:dagger:2.0.1'
    apt 'com.google.dagger:dagger-compiler:2.0.1'
    compile 'javax.annotation:javax.annotation-api:1.2'
    compile 'io.reactivex:rxandroid:1.0.1'
    compile 'io.reactivex:rxjava:1.0.14'
    compile 'com.google.android.gms:play-services-location:8.1.0'
    compile 'com.google.android.gms:play-services-gcm:8.1.0'
    compile 'org.apache.commons:commons-lang3:3.4'
    testCompile 'junit:junit:4.12'
    testCompile 'org.hamcrest:hamcrest-library:1.3'
    testCompile 'org.mockito:mockito-core:1.10.19'
    androidTestCompile 'com.android.support.test:runner:0.4'
    androidTestCompile 'com.android.support.test:rules:0.4'
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
    androidTestCompile 'com.android.support.test.espresso:espresso-intents:2.2.1'
    androidTestCompile 'com.android.support.test.espresso:espresso-web:2.2.1'
    debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1'
    releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3.1'
}

আমি এটা কিভাবে ঠিক করবো?


আমি আপনাকে বলতে পারি যে ২৩.১.০ নির্ভরতা অ্যাপকম্প্যাট লাইব থেকে আসে, কারণ এতে টীকাগুলি লিওব অন্তর্ভুক্ত থাকে। 23.0.1 আমি জানি না
— টিম

আমি যদি অ্যাপকম্প্যাটটি 23.0.1
— বার্ক

আমি কেবল 23.0.0 দ্বারা 23.0.1 দ্বারা প্রতিস্থাপন করেছি, সর্বত্র নির্ভরতা থাকা, আমার পক্ষে কাজ করেছিল।
— শাহজাদ আফ্রিদি

আপনার সংস্করণ ত্রুটির সাথে সম্পর্কিত টিকাটি নির্ভরতা যুক্ত করুন।
— প্রস্তুত

উত্তর:


208

আপনি আপনার পরীক্ষায় এনটেশন লাইব্রেরিটি জোর করে ব্যবহার করতে পারেন:

androidTestCompile 'com.android.support:support-annotations:23.1.0'

এটার মতো কিছু:

  // Force usage of support annotations in the test app, since it is internally used by the runner module.
  androidTestCompile 'com.android.support:support-annotations:23.1.0'
  androidTestCompile 'com.android.support.test:runner:0.4.1'
  androidTestCompile 'com.android.support.test:rules:0.4.1'
  androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
  androidTestCompile 'com.android.support.test.espresso:espresso-intents:2.2.1'
  androidTestCompile 'com.android.support.test.espresso:espresso-web:2.2.1'

আরেকটি সমাধান হ'ল শীর্ষ স্তরের ফাইলটিতে এটি ব্যবহার করা:

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

8
এই লাইনটিই সমাধানটি ছিল: অ্যান্ড্রয়েডটেষ্টকম্পাইল 'com.android.support:support-annotations23.1.1'
— বার্ক

4
কনফিগারেশনগুলির ব্যবহার.সকল সেটিংটি আমার পক্ষে কাজ করেছিল, তবে প্রকল্প স্তরের ফাইলটিতে নয়, যা আমি প্রথমে উপরের প্রতিক্রিয়া থেকে "শীর্ষ স্তরের ফাইল" হিসাবে ব্যাখ্যা করেছি। এটি মডিউল স্তরে বিল্ড.gradle ফাইলে ছিল
— ওওয়াইআরএম

এই বিরোধটি কি মূলত এসপ্রেসো দ্বারা সৃষ্ট?
— ইগোরগানাপলস্কি

রেজোলিউশনস্ট্রেজি.ফোর্স 'com.android.support:support-annotations 23.4.0' আমার পক্ষে সাহায্য করে না .. সমস্যাটি ডেটপিকার, ড্রয়ারঅ্যাকশনস, রিসাইক্লারভিউ, ইত্যাদির জন্য এসপ্রেসো কনট্রিবিউশন ... ('com.android.support.test.espresso : এস্প্রেসো-অবদান: ২.২.২ ') module মডিউলটি বাদ দিন:' সমর্থন-মন্তব্যগুলি 'মডিউলটি বাদ দিন:' সাপোর্ট-ভি 4 '}
— ইওকস

3
শুধু এক গুরুত্বপূর্ণ পয়েন্ট, এটা পরিষ্কার যে আমরা configurations.all {resolutionStrategy.force 'com.android.support:support-annotations:23.1.0'} ভিতরে যোগ করতে হবে করতে build.gradleএর মডিউল (অ্যাপ্লিকেশন) সমস্যা সমাধানের জন্য।
— এএডিপ্রোগ্রামিং 10

69

প্রকল্প পুনর্নির্মাণ আমার সমস্যার সমাধান করেছে।

টুলবারে অ্যান্ড্রয়েড স্টুডিওতে .. বিল্ড> পুনর্নির্মাণ প্রকল্প।


25

উত্স: কোডপথ - এসপ্রেসো সহ ইউআই টেস্টিং

  1. শেষ অবধি, আমাদের এসপ্রেসো নির্ভরতা টানতে হবে এবং আমাদের অ্যাপ্লিকেশন বিল্ডড্র্যাডলে পরীক্ষা রানার সেট করতে হবে:
// build.gradle
...
android {
    ...
    defaultConfig {
        ...
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
}

dependencies {
    ...
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2') {
        // Necessary if your app targets Marshmallow (since Espresso
        // hasn't moved to Marshmallow yet)
        exclude group: 'com.android.support', module: 'support-annotations'
    }
    androidTestCompile('com.android.support.test:runner:0.5') {
        // Necessary if your app targets Marshmallow (since the test runner
        // hasn't moved to Marshmallow yet)
        exclude group: 'com.android.support', module: 'support-annotations'
    }
}

আমি এটি আমার গ্রেড ফাইলটিতে যুক্ত করেছি এবং সতর্কতা অদৃশ্য হয়ে গেছে।

এছাড়াও, যদি আপনি বিরোধী হিসাবে লিখিত অন্য কোনও নির্ভরতা যেমন সমর্থন-টীকাগুলি পান তবে এটিকে অ্যান্ড্রয়েড টেস্টকম্পাইল নির্ভরতা থেকেও বাদ দেওয়ার চেষ্টা করুন।


1
পৃথক অ্যান্ড্রয়েডস্টেম্পম্পাইল বাদ দিয়ে আমার পক্ষে কাজ করে
— নান্থা কুমার

12

আপনি ব্যবহার করার চেষ্টা করতে পারেন

  androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})

পরিবর্তে

androidTestCompile 'com.android.support.test:runner:0.4.1'

androidTestCompile 'com.android.support.test:rules:0.4.1'

androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
androidTestCompile 'com.android.support.test.espresso:espresso-contrib:2.2.1'

6

আমি এই ত্রুটি পেয়েছিলাম

ত্রুটি: কার্য ': অ্যাপ্লিকেশন: প্রিডিবুগএন্ড্রয়েডটেষ্টবিল্ড' এর জন্য কার্যকর করা ব্যর্থ। নির্ভরতা 'com.android.support:support-nnotations' প্রকল্পে 'অ্যাপ্লিকেশন' এর সাথে দ্বন্দ্ব। অ্যাপ্লিকেশন (26.1.0) এবং পরীক্ষার অ্যাপ্লিকেশন (27.1.1) এর সমাধান করা সংস্করণগুলি পৃথক। বিস্তারিত জানতে https://d.android.com/r/tools/test-apk-d dependency- conflicts.html দেখুন ।

গ্রেডল স্ক্রিপ্টস এর অধীনে আমার বিল্ড.gradle ফাইলটিতে আমার নিম্নলিখিত নির্ভরতা ছিল

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support:support-v4:26.1.0'
implementation 'com.android.support:support-vector-drawable:26.1.0'
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'
}

সুতরাং, আমি নিম্নলিখিত নির্ভরতা মন্তব্য করে এটি সমাধান করেছি

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'

সুতরাং আমার নির্ভরতা এই মত চেহারা

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support:support-v4:26.1.0'
implementation 'com.android.support:support-vector-drawable:26.1.0'
//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'
}

আশা করি এটা সাহায্য করবে!


1
তাহলে আপনি পরীক্ষা লাইব্রেরি সরিয়েছেন? আপনার যদি এই লাইব্রেরিগুলির প্রয়োজন হয় তবে এটি খুব সহায়ক নয়।
— প্যান্টগুলি

4

আমি আজ একই ত্রুটি পেয়েছিলাম:

ত্রুটি: কার্য ': অ্যাপ্লিকেশন: preDebugAndroidTestBuild'। এর জন্য নির্বাহ ব্যর্থ ' অ্যাপ্লিকেশন (26.1.0) এবং পরীক্ষার অ্যাপ্লিকেশন (27.1.1) এর সমাধান করা সংস্করণগুলি পৃথক।

আমি কি করেছিলাম:

  • আমি কেবলমাত্র আমার সমস্ত নির্ভরতা 27.1.1পরিবর্তে পরিবর্তিত করেছি26.1.0
  • এছাড়াও, আপডেট আমার compileSdkVersion 27এবং targetSdkVersion 27যা 26আগের ছিল

আর com.android.support:support-annotationsত্রুটি চলে গেল!

রেফের জন্য:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    implementation 'com.android.support:design:27.1.1'
    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'
}

1

আমার ক্ষেত্রে, আমি অ্যাপ স্তরের build.gradle এর নির্ভরতাগুলিতে কোডের নীচে যুক্ত করেছি added

androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})

এর পরে, আমি প্রকল্পটি পরিষ্কার করি এবং পুনর্নির্মাণ করি y আমার সমস্যাটি সমাধান হয়েছে।


0

আপনার অ্যাপ্লিকেশন স্তর বিল্ড.gradle ফাইল এর পরিবর্তন করুন:

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

প্রতি

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

0

এটা চেষ্টা কর :

apply plugin: 'com.android.application'

android {
compileSdkVersion 27
defaultConfig {
    applicationId "com.example.yourpackagename"
    minSdkVersion 15
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
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'
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.