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


106

আমি অ্যান্ড্রয়েড অ্যাপ বিকাশে নতুন new যখন আমি একটি নতুন প্রকল্প তৈরি করার চেষ্টা করেছি, অ্যান্ড্রয়েড প্রকল্প ... নিম্নলিখিত বার্তাটি পপ আপ হয়েছে ..

ত্রুটি: কার্য ': অ্যাপ্লিকেশন: প্রিডিবুগএন্ড্রয়েড টেস্টবাইল' এর জন্য কার্যকর করা ব্যর্থ।

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

এটি আমার প্রকল্পের স্ক্রিনশটটি আমার যে ত্রুটিটি পেয়েছে তার স্ক্রিনশটটি দেখতে এখানে ক্লিক করুন

আমি এই কোডটি আমার নির্ভরতার সাথে যুক্ত করার চেষ্টা করেছি .. androidTestCompile 'com.android.support:support-annotations 23.3.3.0' এটি কার্যকর হয়নি। আমি 27.1.1 এবং 26.1.0 এও চেষ্টা করেছিলাম .. এটিও কার্যকর হয়নি।


এই প্রশ্নটি দেখুন: stackoverflow.com/q/43817004/9611523 । আশা করি এটি সাহায্য করবে।

1
অ্যান্ড্রয়েড স্টুডিও আপডেট করা (সেইসাথে এমুলেটর এবং এর পরে কিছু অন্যান্য জিনিস) আমার জন্য সেই সমস্যার সমাধান করেছে।

ইস্যুটি টীকাগুলির গ্রেডের কারণে যা অ্যান্ড্রয়েড স্টুডিওতে নতুন প্রকল্প তৈরির ক্ষেত্রে ডিফল্টরূপে আসে না। এটি আপনাকে সাহায্য করতে পারে: রেডিঅ্যান্ড্রয়েড.ওয়ার্ডপ্রেস.com/…
অ্যান্ড্রয়েড

উত্তর:


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এই সময়ে বর্ণন কি বাস্তবায়ন ও gradle মধ্যে কম্পাইল পার্থক্য


4
আমি সংকলনের পরিবর্তে 'বাস্তবায়ন' ব্যবহারের পরামর্শ দেব
সানভেড

60

ডিপেন্সেন্সিসিগুলি ব্লক করার আগে আপনার অ্যাপ্ল্যাড্রেড ফাইলটিতে নীচের লাইনটি যুক্ত করুন।

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

আরও ভাল বোঝার জন্য নীচে স্ক্রিনশটও রয়েছে।

কনফিগারেশন.সকল ব্লক

  1. কনফিগারেশন.সকল ব্লক কেবল তখনই সহায়ক হবে যদি আপনি চান আপনার টার্গেটের এসডিকে ২ 26 হতে হবে you

  2. আরও একটি উপায় আছে আপনি যদি অ্যাপ্লিকেশন ফাইল থেকে সমস্ত পরীক্ষার বাস্তবায়ন সরিয়ে ফেলেন তবে এটি ত্রুটিটি সমাধান করবে এবং এর মধ্যে আপনাকে কনফিগারেশন ব্লকটি যুক্ত করতে হবে না অথবা আপনার টার্গেটএসকে সংস্করণ পরিবর্তন করতে হবে না।

আশা করি এইটি কাজ করবে.


ধন্যবাদ, আমার সময় বাঁচান
মানিকান্দন কে

1
@ মানিকান্দানকে সাহায্য করতে পেরে খুশি!
হর্ষ জৈন

সম্পূর্ণ নির্দেশ দেওয়ার জন্য আপনার প্রশংসা! (এই ধরণের বিষয়ে এতগুলি উত্তর ঠিক যেমন "এটিকে যুক্ত করুন:" বল প্রয়োগ করুন: " বিল্ড ত্রুটি, আমার ক্ষেত্রে "com.android.support:support-annotations:27.0.0 খুঁজে পাওয়া যায়নি প্রয়োজনীয় দ্বারা: trainingiq: bugsnag-প্রতিক্রিয়া-নেটিভ: অনির্দিষ্ট> com.bugsnag: 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
Youশ্বর আপনাকে মঙ্গল করুন, অ্যান্ড্রয়েড লাইব্রেরিগুলিকে নরকের পর্দার সংস্করণে সমর্থন করুন!
মুহাম্মদ নাদেরি

সুতরাং অ্যান্ড্রয়েড স্টুডিও উইজার্ড ত্রুটিগুলির সাথে স্ক্র্যাচ থেকে একটি প্রকল্প তৈরি করে? ¬¬
সেবাস্তিয়ান ব্রেইট

28 কি ?
alizulfuqar

27

যদি আপনি অ্যান্ড্রয়েড স্টুডিও ৩.১ ব্যবহার করেন +

এটি কেবল আপনার গ্রেডের অবক্ষয়গুলিতে রাখুন:

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'
}

ধন্যবাদ বন্ধু। প্রচুর ভালবাসা
amilab

23

এটি সমাধান করার জন্য সংস্করণগুলির দ্বন্দ্বের কারণে, কেবলমাত্র আপনার সমর্থন-এনোটেশন সংস্করণটির একটি আপডেট জোর করে আপনার মডিউলে এই লাইনটি যুক্ত করুন: অ্যাপ গ্রেড

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

আশা করি এটি আপনার সমস্যা সমাধান করে;)

সম্পাদন করা

প্রায় ভুলে গেছেন, সংস্করণটির জন্য আপনি একক অতিরিক্ত সম্পত্তি ( https://docs.gradle.org/current/userguide/writing_build_scriptts.html#sec:extra_properties ) ঘোষণা করতে পারেন , আপনার প্রকল্পে (বা আপনার শীর্ষে) গ্রেড ফাইল এবং আপনার সমর্থন ঘোষণা করুন, বা কেবলমাত্র এই উদাহরণের জন্য, টীকা সংস্করণ ভেরিয়াল

ext.annotation_version = "27.1.1"

তারপরে আপনার মডিউল গ্রেডের সাথে এটি প্রতিস্থাপন করুন:

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

এটি @ ইমাদাবেল সলিউশনের সাথে খুব মিল, এটি করার জন্য এটি একটি ভাল বিকল্প তবে ব্লক বা rootprojectউপসর্গ ছাড়াই ।


1
উপরোক্ত সমাধানটি আমাকে সহায়তা করেছে
দেশগ্র্যাসী

এখন এই লাইন যোগ করার পরে আমি পাচ্ছি ত্রুটি "। ত্রুটি: ': অ্যাপ: processDebugManifest' এক্সিকিউশন কাজের জন্য ব্যর্থ> ম্যানিফেস্ট সমবায় একাধিক ত্রুটিযুক্ত ব্যর্থ হয়েছে, লগ দেখুন" দয়া করে সহায়তা আমাকে কিভাবে আমি এটা সমাধান করতে পারে
বসন্ত

@ বসন্তকে আমার দেখতে হবে কোনটি সমস্যা, যেহেতু এটি আপনার গ্রেড চালানোয় সমস্যা, তাই এর জন্য একটি প্রশ্ন খোলাই ভাল হবে
ডেসরাসি

দেরগ্রাহী @ দেগ্রগ্রির জন্য দুঃখিত, আমি আইডিই আপগ্রেড করে এই সমস্যাটি সংক্ষিপ্ত করে রেখেছি
বাসন্ত

@ বসন্ত তা শুনে খুশি!
desgraci

9

বিল্ড.gradle এ এটি যুক্ত করা (মডিউল অ্যাপ্লিকেশন) আমার জন্য কাজ করেছে:
'com.android.support:support-Anificationsations 27.1.1.1' সংকলন করুন


7

চিন্তা করবেন না এটি সহজ:

"প্রকল্প" ডিরেক্টরি কাঠামোতে যান এবং এর মধ্যে "গ্রেডল স্ক্রিপ্টস" এ যান এবং এর অভ্যন্তরে "build.gradle (মডিউল: অ্যাপ)" এ যান এবং এটিতে ডাবল ক্লিক করুন।

এখন - প্রোগ্রামটি নীচে স্ক্রোল করুন এবং তার মধ্যে নির্ভরতা বিভাগে যান: নীচের মত


নির্ভরতা {

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

আপনার প্রকল্পের বিল্ডড্রেডল (মডিউল অ্যাপ) এ যান:

এখানে চিত্র বর্ণনা লিখুন

ছবিটি অনুসরণ করুন এবং সেই সংস্করণটি পরিবর্তন করুন:

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

বিল্ড.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 এ যান এবং গ্লোবাল ভেরিয়েবলগুলি ব্যবহার করুন

অ্যাপ্লিকেশন 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...
}

সমাধানটি হ'ল আপনার সংস্করণগুলিকে সমস্ত মডিউলগুলির মতোই করা। যাতে আপনার দ্বন্দ্ব না ঘটে।

গুরুত্বপূর্ণ টিপস

আমার অনুভূত হয়েছিল যখন আমার কাছে গ্রেড, এসডিএস, লাইব্রেরি ইত্যাদির আপডেট সংস্করণ রয়েছে তখন আমি কম ত্রুটির মুখোমুখি হই। কারণ বিকাশকারীরা অ্যান্ড্রয়েড স্টুডিওতে এটি সহজ বিকাশের জন্য কঠোর পরিশ্রম করছে।

সব সময় নতুন আছে কিন্তু স্থিতিশীল সংস্করণ অস্থায়ী সংস্করণ alpha, betaএবং rcতাদের উন্নয়নশীল উপেক্ষা করি।

আমি আমার প্রকল্পগুলিতে নীচে সমস্ত আপডেট করেছি এবং আমি এই ত্রুটিগুলির আর মুখোমুখি হই না।

শুভ কোডিং! :)


0

যদি টার্গেট এসডিকে সংস্করণ পরিবর্তন না করে তবে যদি সংস্করণটির সাথে আপনার কোনও নির্ভরতা থাকে 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

সরকারী ব্যাখ্যায় আরও ভাল সমাধান ব্যাখ্যা করা হয় । আমি আগে যে উত্তর দিয়েছি তা অনুভূমিক লাইনের নীচে রেখে দিয়েছি।

সেখানে সমাধান অনুযায়ী:

একটি বাহ্যিক ট্যাগ ব্যবহার করুন এবং নীচের নীচের কোডটি শীর্ষ-স্তরের বিল্ড . gradle ফাইলটিতে লিখুন। আপনি স্ট্যাটিক সংস্করণ সংখ্যার পরিবর্তে সংস্করণটি পরিবর্তনশীলতে পরিবর্তন করতে চলেছেন।

ext {
    compileSdkVersion = 26
    supportLibVersion = "27.1.1"
}

আপনার অ্যাপ-স্তরের বিল্ড.gradle ফাইলে স্থির সংস্করণ নম্বরগুলি পরিবর্তন করুন, যার একটি (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
}

আপনার প্রকল্পের সিঙ্ক করুন এবং আপনি কোনও ত্রুটি পাবেন না।


গ্রেডল স্ক্রিপ্টগুলিতে আপনাকে কিছু যোগ করার দরকার নেই। প্রয়োজনীয় এসডিকে ইনস্টল করুন এবং সমস্যার সমাধান হবে।

আপনার ক্ষেত্রে, পছন্দগুলি> অ্যান্ড্রয়েড এসডিকে বা সরঞ্জামসমূহ> অ্যান্ড্রয়েড> এসডিকে পরিচালক থেকে নীচে লাইব্রেরিগুলি ইনস্টল করুন

এখানে চিত্র বর্ণনা লিখুন


0

আপনার গ্রেড ফাইলের নির্ভরতার অধীনে এই লাইনটি যুক্ত করুন

compile 'com.android.support:support-annotations:27.1.1'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.