Android: Mendapatkan "Mewujudkan merger gagal" error setelah update ke versi baru dari gradle

Setelah menerima update proyek untuk versi baru dari gradle saya mendapatkan error ini:

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.

Bagaimana saya bisa memecahkan masalah ini? Ini adalah aplikasi saya's membangun.gradle file:

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

Dan ini adalah proyek's membangun.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
}

Bagaimana cara memperbaiki kesalahan ini sambil mempertahankan perubahan yang dilakukan dengan memperbarui gradle versi?

Menempatkan ini pada akhir aplikasi modul membangun.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'
            }
        }
    }
}

Kredit untuk Eugen Pechanec

Komentar (12)

Anda menggunakan beberapa versi dari Android Support Library:

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

Dua 26.0.0-alpha1, dan salah satunya adalah dengan menggunakan 25+.

Pilih salah satu beton versi dan menggunakannya untuk semua tiga ini. Karena anda compileSdkVersion bukan O, gunakan 25.3.1 untuk semua tiga dari perpustakaan ini, yang mengakibatkan:

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'
Komentar (7)

Saya mengubah semua dukungan perpustakaan versi untuk 25.3.1 dan bekerja seperti pesona:

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

Anda juga perlu mengubah compileSdkVersion dan targetSdkVersion 25:

compileSdkVersion 25
targetSdkVersion 25
Komentar (2)

Anda dapat mengetahui apa perpustakaan tergantung pada versi yang salah dari dukungan perpustakaan dan mengecualikan seperti ini:

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

stripe-android dalam kasus saya.

Komentar (2)

I'm tidak menggunakan versi yang berbeda dari perpustakaan dan punya kesalahan yang sama, it's terjadi setelah menghapus buildToolsVersion SEBAGAI RC 1, tetapi menambahkan alat:node="ganti" melakukan trik, hanya menambahkan ini ke manifest.xml dalam <aplikasi ..../> block:

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

Hal itu terjadi hal yang sama padaku. Lihat di Gradle -> Membangun Gradle -> dan memastikan bahwa kompatibilitas pertandingan di kedua mengkompilasi "aplikasi compat" dan "dukungan desain" garis, mereka harus memiliki versi yang sama.

Maka untuk menjadi super yakin, bahwa ia akan memulai dengan tidak ada masalah, pergi ke File -> Struktur Proyek ->aplikasi dan centang pada tab propertie build Tools versi, itu harus sama seperti dukungan anda mengkompilasi baris, hanya dalam kasus saya menempatkan target SDK version seperti 25 dan juga pada tab Rasa.

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

Thats apa yang saya lakukan dan berhasil. Good luck!

Komentar (0)

Aku memecahkan bahwa dengan menempatkan ini di akhir aplikasi modul membangun.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'
        }
    }
  }
}
Komentar (1)
  • Memperbarui dukungan perpustakaan untuk versi terakhir

  • Buka File Manifest` , dan menambahkan ini ke File Manifest

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

  • Dan menambahkan untuk recyclerview di >> membangun.gradle Modul aplikasi :

  • compile &#39;com.android.dukungan:recyclerview-v7:25.3.1&#39;

  • Dan klik : Sync Sekarang

Komentar (0)

Jawaban yang diterima tapi satu hal yang anda bisa lakukan adalah untuk mendefinisikan perpustakaan dari struktur proyek anda. Apa yang dapat anda lakukan adalah :

  1. Komentar semua perpustakaan di mana masalah akan datang
  2. Goto struktur proyek anda
  3. Menambahkan library dari sana dan itu'll sync secara otomatis dan masalah pergi.
  4. Jika masalah terus berlanjut, cobalah melihat dari error log bahwa apa yang perpustakaan itu menuntut setelah mengikuti semua langkah di atas 3 langkah.

Apa yang terjadi adalah yang telah ditetapkan perpustakaan sebagai off sekarang aku yang'm mengambil appcompat:26.0.0-alpha1 menggunakan versi yang lebih tua dari hal-hal ketika anda menambahkan sesuatu yang baru dan mencoba untuk mengatasinya dengan barang-barang. Ketika anda menambahkan dari struktur proyek anda, itu'll menambahkan hal yang sama tetapi dengan barang baru untuk mengatasinya. Masalah anda akan teratasi.

Komentar (0)

Kesalahan bagi saya adalah:

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.

Solusi bagi saya adalah di proyek saya Gradle yang saya butuhkan untuk benjolan saya com.google.rups:google-layanan versi.

Saya menggunakan versi 3.1.1:

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

Dan kesalahan teratasi setelah saya terbentur ke versi 3.2.1:

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

Saya baru saja upgrade semua pustaka yang terbaru termasuk v27.1.1 dari semua dukungan perpustakaan dan v15.0.0 semua Firebase perpustakaan ketika saya melihat kesalahan.

Komentar (0)

Cobalah untuk menghapus data meta dan membangun kembali proyek.

Komentar (0)

Saya telah diperbarui android lama proyek untuk Memakai OS. Saya mendapat pesan kesalahan ini saat membangun proyek:

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.

Saya membangun.gradle untuk Memakai aplikasi ini berisi dependensi ini:

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

SOLUSI:

Menambahkan implementasi &#39;com.android.dukungan:dukungan-v4:28.0.0&#39; menjadi dependensi memecahkan masalah saya.

Komentar (0)

anda coba baca link ini

Kesalahan:Eksekusi gagal untuk tugas ':app:processDevDebugManifest'. Mewujudkan merger gagal : Atribut meta-data#android.support.VERSION@value nilai=(25.3.0) maka usd VERSI 26.0.0

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

Komentar (1)