অ্যান্ড্রয়েড: গ্রেডেলের নতুন সংস্করণে আপডেট করার পরে "ম্যানিফেস্ট মার্জারটি ব্যর্থ" হওয়া ত্রুটি


108

প্রকল্পটি গ্রেডের নতুন সংস্করণে আপডেট করতে স্বীকার করার পরে আমি এই ত্রুটিটি পেয়েছি:

Error:Execution failed for task ':app:processDebugManifest'.
Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(26.0.0-alpha1) from [com.android.support:cardview-v7:26.0.0-alpha1] AndroidManifest.xml:24:9-38
    is also present at [com.android.support:design:25.3.1] AndroidManifest.xml:27:9-31 value=(25.3.1).
    Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:22:5-24:41 to override.

কিভাবে আমি এই সমস্যার সমাধান করতে পারে? এটি আমার অ্যাপ্লিকেশনটির build.gradleফাইল:

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "com.sample.bookReader"
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
    }
    ...
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:multidex:+'
    compile 'com.android.support:appcompat-v7:26.0.0-alpha1'
    compile 'com.android.support:cardview-v7:26.0.0-alpha1'
    compile 'com.android.support:design:25+'
    compile 'com.jakewharton:butterknife:8.2.1'
    apt 'com.jakewharton:butterknife-compiler:8.2.1'
    ...
}

এবং এটি প্রকল্পের build.gradle:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.1'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
    }
}

allprojects {
    repositories {
        jcenter()
        maven { url "https://www.jitpack.io" }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

গ্রেড সংস্করণ আপডেট করে পরিবর্তনগুলি বজায় রেখে আমি কীভাবে এই ত্রুটিটি সমাধান করব?

উত্তর:


212

আপনার অ্যাপ্লিকেশন মডিউলের বিল্ড.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.0'
            }
        }
    }
}

ক্রেডিট Eugen Pechanec


1
নিস এক, এই সমাধান যে আমার জন্য কাজ যখন আমার nativescript অ্যাপ্লিকেশন ভবন
DED

7
এটি আমার পক্ষেও কাজ করেছে, ধন্যবাদ @ বিশাল। এখানে কি ঘটছে তা আপনি কেবল ব্যাখ্যা করতে পারেন :)
ইসমাইল ইকবাল

3
সমর্থন লাইব্রেরির সর্বশেষতম সংস্করণটি ব্যবহার করার বিষয়টি নিশ্চিত করুন যা এটি লেখার সময় এটি details.useVersion '27.0.0'। অন্যথায় আপনার কাছে রিডানডেন্ট ভিউ কাস্টিং নির্মূলের মতো সর্বশেষ সমর্থন বৈশিষ্ট্য থাকবে না।
ড্রিউ জুরকো

9
এটি সম্পর্কে বিট বিবরণ যোগ করুন। এটি কাজ করছে তবে এটি আপডেট সংস্করণ এবং বৈশিষ্ট্যগুলির জন্য কাজ করবে
ঘনশ্যাম নায়মা

1
অন্য কারও কাছে যদি 'সিম্বল নির্ভরতা সমাধানের সমস্যাগুলি সমাধান করা যায় না' ত্রুটি থাকে তবে আমি 'DependencyResolveDetails' মুছে ফেলার মাধ্যমে এটি ঠিক করেছি (গ্রোকের পর থেকে স্ট্যাকওভারফ্লোতে এটির প্রয়োজন নেই, তাই এটি এটি
কার্যকরভাবে কার্যকর

90

আপনি অ্যান্ড্রয়েড সমর্থন লাইব্রেরির একাধিক সংস্করণ ব্যবহার করছেন:

compile 'com.android.support:appcompat-v7:26.0.0-alpha1'
compile 'com.android.support:cardview-v7:26.0.0-alpha1'
compile 'com.android.support:design:25+'

দুটি 26.0.0-alpha1হ'ল, এবং একজন ব্যবহার করছে 25+

একটি কংক্রিট সংস্করণ চয়ন করুন এবং এই তিনটি জন্য এটি ব্যবহার করুন। যেহেতু আপনার compileSdkVersionনা O, 25.3.1এই তিনটি লাইব্রেরির জন্য ব্যবহার করুন , ফলস্বরূপ:

compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'
compile 'com.android.support:design:25.3.1'

25.3.1সমর্থন লাইব্রেরি ব্যবহার করছেন বা buildToolsVersion? জন্য buildToolsVersionআমি ভুল পানPackage Unavailable
Tux বিশ্বের

@ টাক্স ওয়ার্ল্ড: "সমর্থন লাইব্রেরি বা বিল্ডটুলস ভার্সনের জন্য 25.3.1 ব্যবহার করছেন?" - সমর্থন লাইব্রেরি জন্য। আমার আপডেট হওয়া উত্তরটি দেখুন।
কমন্সওয়্যার

1
আমি এটি পরীক্ষা করে দেখছি, তবে আমার সমস্যাটি সমাধান হচ্ছে না, কোন সংস্করণ চালু থাকতে হবে compileSdkVersion?
টাক্স ওয়ার্ল্ড 15

আমি এই বার্তাটি All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes). Found versions 26.0.0-alpha1, 25.3.1. Examples include com.android.support:support-compat:26.0.0-alpha1 and com.android.support:animated-vector-drawable:25.3.1
পেয়েছি

1
@ tux-world: আপনার কিছুই আর build.gradleউল্লেখ করা উচিত 26.0.0-alpha1নয় anymore আপনার প্রকল্পটি পরিষ্কার করুন (বিল্ড> ক্লিন প্রকল্প) চেষ্টা করুন এবং দেখুন সমস্যাটি চলে যায় কিনা। যদি তা না হয় তবে আপনার কী টানছে তা ট্র্যাক করার দরকার আছে com.android.support:support-compat:26.0.0-alpha1যেমন গ্রেডল নির্ভরতা প্রতিবেদন চালিয়ে।
কমন্সওয়্যার

18

আমি সমস্ত সমর্থন লাইব্রেরি সংস্করণ 25.3.1 এ পরিবর্তন করেছি এবং একটি কবজির মতো কাজ করেছি:

compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'

আপনাকে সংকলিত এসডিকে ভার্সন এবং টার্গেটএসডিকি ভার্সন 25 এ পরিবর্তন করতে হবে :

compileSdkVersion 25
targetSdkVersion 25

সম্মত হন, উত্তরের উপরে উত্তরগুলি দেওয়া হলেও ত্রুটির কারণ হ'ল আপনি আপনার গ্রেড ফাইলটিতে বিভিন্ন সংস্করণ সেট করেছেন। কেবল ব্যবহার করুন বা 26 বা 25 সমর্থন
অ্যান্ড্রু ভি।

আমার ক্ষেত্রে কারণ minSdkVersion
ফল

10

সমর্থন লাইব্রেরির কোনও ভুল সংস্করণের উপর কোন লাইব্রেরি নির্ভর করে তা আপনি এটি খুঁজে বের করতে এবং এটিকে বাদ দিতে পারেন:

compile ('com.stripe:stripe-android:5.1.1') {
    exclude group: 'com.android.support'
  }

stripe-android আমার ক্ষেত্রে.


আপনি কিভাবে জানতে পারবো?
Zapnologica

তালিকা gradle কাজের নির্ভরতা চেষ্টা @Zapnologica মত stackoverflow.com/questions/21645071/...
paynd

6

আমি লাইব্রেরির বিভিন্ন সংস্করণ ব্যবহার করছি না এবং একই ত্রুটি পেয়েছি, এটি buildToolsVersionআরসি 1 এ অপসারণের পরে ঘটেছে , তবে tools:node="replace" কৌশলটি যুক্ত করে কেবল এটিকে <application ..../>ব্লকের অভ্যন্তরে আপনার ম্যানিফেস্ট.এক্সএমএল যুক্ত করুন :

<meta-data 
 tools:node="replace"
 android:name="com.google.android.gms.version"
 android:value="@integer/google_play_services_version" />

1
এটি করার সময় কোনও পার্শ্ব প্রতিক্রিয়া আছে কি? এটি এখনও আপনার জন্য নতুন অ্যান্ড্রয়েড স্টুডিও 3 নিয়ে কাজ করছে?
সাকিবয়

5

আমার ক্ষেত্রেও একই ঘটনা ঘটে। গ্রেডল -> গ্রেডল তৈরি করুন -> এ দেখুন এবং নিশ্চিত করুন যে "অ্যাপ কমপ্যাট" এবং "সমর্থন নকশা" লাইন উভয়ই কম্পাইলিটি মিলছে, তাদের একই সংস্করণ থাকা উচিত।

তারপরে নিশ্চিত হয়ে উঠুন যে এটি কোনও সমস্যা ছাড়াই চালু হবে, ফাইল -> প্রকল্পের কাঠামো -> অ্যাপ্লিকেশনটিতে যান এবং ট্যাবটিতে বিল্ড সরঞ্জামগুলির সংস্করণটি যথাযথভাবে পরীক্ষা করে দেখুন, আমি আপনার ক্ষেত্রে সমর্থন সংকলনের লাইনের মতোই হওয়া উচিত i 25 হিসাবে লক্ষ্য এসডিকে সংস্করণ হিসাবে ট্যাব স্বাদে।

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

আমি কী করেছি এবং কাজ করেছি তাও তা। শুভকামনা!


3
  • আপনার সমর্থন লাইব্রেরিকে শেষ সংস্করণে আপডেট করুন

  • খুলুন Manifest Fileএবং এটিকে ম্যানিফেস্ট ফাইলে যুক্ত করুন

  • <uses-sdk tools:overrideLibrary="android.support.v17.leanback"/>

  • এবং পুনর্বিবেচনার জন্য >> যোগ করুন build.gradle Module app:

  • compile 'com.android.support:recyclerview-v7:25.3.1'

  • এবং ক্লিক করুন: Sync Now


3

আমি আমার অ্যাপ্লিকেশন মডিউলের বিল্ড.gradle এর শেষে এটি রেখে এটি সমাধান করি:

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

আপনি সত্যিই আমার দিনটি উজ্জ্বল করলেন।
হামেদ জলিলিয়ানি

2

উত্তরটি গৃহীত হয়েছে তবে আপনি যা করতে পারেন তা হ'ল আপনার প্রকল্প কাঠামো থেকে গ্রন্থাগারগুলি সংজ্ঞায়িত করা। আপনি যা করতে পারেন তা হ'ল:

  1. যে সমস্ত লাইব্রেরিতে সমস্যা আসছে সেগুলি মন্তব্য করুন
  2. আপনার প্রকল্প কাঠামো যান
  3. সেখান থেকে লাইব্রেরি যুক্ত করুন এবং এটি স্বয়ংক্রিয়ভাবে সিঙ্ক হবে এবং সমস্যাটি বন্ধ হবে।
  4. সমস্যাটি যদি অব্যাহত থাকে তবে উপরের 3 টি পদক্ষেপ অনুসরণ করার পরে ত্রুটি লগটি দেখার চেষ্টা করুন what

যা ঘটে তা পূর্বনির্ধারিত লাইব্রেরি হ'ল এখন আমি অ্যাপকম্প্যাটটি নিচ্ছি: 26.0.0-alpha1 এটি যখন আপনি কোনও নতুন যুক্ত করেন এবং পুরানো স্টাফগুলি দিয়ে এটি সমাধান করার চেষ্টা করেন তখন এটি পুরানো সংস্করণ ব্যবহার করে। আপনি যখন এটি আপনার প্রকল্পের কাঠামো থেকে যুক্ত করেন, এটি একই জিনিস যুক্ত করবে তবে এটি সমাধান করার জন্য নতুন স্টাফগুলি যুক্ত হবে। আপনার সমস্যা সমাধান করা হবে।


0

আমার জন্য ত্রুটিটি ছিল:

Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(26.0.2) from [com.android.support:percent:26.0.2] AndroidManifest.xml:25:13-35
    is also present at [com.android.support:support-v4:26.1.0] AndroidManifest.xml:28:13-35 value=(26.1.0).
    Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:23:9-25:38 to override.

আমার জন্য সমাধানটি ছিল আমার প্রজেক্ট গ্রেডল ফাইলটিতে আমার আমার com.google.gms: গুগল-পরিষেবাদি সংস্করণটি বন্ধ করতে হবে।

আমি সংস্করণ 3.1.1 ব্যবহার করছিলাম:

classpath 'com.google.gms:google-services:3.1.1

এবং ত্রুটিটি সমাধান হয়ে যাওয়ার পরে আমি সংস্করণ 3.2.1 এ টুকরো টুকরো করলাম:

classpath 'com.google.gms:google-services:3.2.1

আমি ত্রুটিটি দেখে আমার সমর্থিত লাইব্রেরির v27.1.1 এবং সমস্ত ফায়ারবেস লাইব্রেরির v15.0.0 সহ সর্বশেষে আমার সমস্ত লাইব্রেরি আপগ্রেড করেছি।


0

আমি ওয়ার ওএসের জন্য পুরানো অ্যান্ড্রয়েড প্রকল্প আপডেট করেছি। প্রকল্পটি তৈরি করার সময় আমি এই ত্রুটি বার্তাটি পেয়েছি:

Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(26.0.2) from [com.android.support:percent:26.0.2] AndroidManifest.xml:25:13-35
is also present at [com.android.support:support-v4:26.1.0] AndroidManifest.xml:28:13-35 value=(26.1.0).
Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:23:9-25:38 to override.

পরিধান অ্যাপ্লিকেশানের জন্য আমার বিল্ডড্র্যাডলে এই নির্ভরতাগুলি রয়েছে:

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.google.android.support:wearable:2.4.0'
implementation 'com.google.android.gms:play-services-wearable:16.0.1'
compileOnly 'com.google.android.wearable:wearable:2.4.0'}

সমাধান :

যোগ করা হচ্ছে implementation 'com.android.support:support-v4:28.0.0'নির্ভরতা মধ্যে আমার সমস্যার সমাধান।


0

মেটা ডেটা মুছে ফেলার চেষ্টা করুন এবং প্রকল্পটি পুনর্নির্মাণ করুন।


-4

আপনি এই লিঙ্ক পড়তে চেষ্টা করুন

ত্রুটি: কার্য ': অ্যাপ্লিকেশন: প্রক্রিয়াদেবব্যাগমেনিস্ট' এর জন্য কার্যকর করা ব্যর্থ হয়েছে। ম্যানিফেস্ট একীকরণ ব্যর্থ হয়েছে: মেটাডাটা- ডেটা #android.support.VERSION@value মান = (25.3.0) তারপরে ইউএসডি সংস্করণ 26.0.0

: https://medium.com/@PongPloyAppDev/error-execution-failed-for-task-app-processdevdebugmanifest-48576be751

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


তাই না? তুমি কি বলতে চাচ্ছ? কিভাবে এই সাহায্য করে?
সাকিবয়
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.