নির্ভরতা '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.