2017-09-03 5 views
4

Fehler: Ausführung fehlgeschlagen für Task ': app: processDebugManifest'.Wenn ich Abhängigkeiten von Drittanbietern hinzufüge, bekomme ich einen manifesten Merger fail, was soll ich tun, um das zu beheben?

Manifest merger failed : Attribute meta-data#[email protected] value=(26.0.2) from [com.android.support:design:26.0.2] AndroidManifest.xml:28:13-35 is also present at [com.android.support:support-v13:26.0.1] AndroidManifest.xml:28:13-35 value=(26.0.1). Suggestion: add 'tools:replace="android:value"' to element at AndroidManifest.xml:26:9-28:38 to override. apply plugin: 'com.android.application'

app.gradle Datei

android { 
    compileSdkVersion 26 
    buildToolsVersion "26.0.1" 
    defaultConfig { 
     applicationId "com.dharquissandas.budget" 
     minSdkVersion 21 
     targetSdkVersion 26 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

allprojects{ 
    repositories{ 
     jcenter() 
      maven{ 
       url "https://maven.google.com" 
      } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    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:26.+' 
    compile 'com.android.support:preference-v7:23.4.0' 
    compile 'com.android.support:design:26.+' 
    compile 'com.android.support.constraint:constraint-layout:1.0.2' 
    compile 'com.android.support:support-v4:26.+' 
    compile 'com.afollestad.material-dialogs:core:0.9.4.7' 
    compile 'com.afollestad.material-dialogs:commons:0.9.4.7' 
    testCompile 'junit:junit:4.12' 
} 

android manifest

<?xml version="1.0" encoding="utf-8"?> 
<manifest 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.dharquissandas.budget"> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:roundIcon="@mipmap/ic_launcher_round" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/app_name" 
      android:theme="@style/AppTheme.NoActionBar"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".add_expense" 
      android:label="@string/title_activity_add_expense" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name=".add_income" 
      android:label="@string/title_activity_add_income" 
      android:theme="@style/AppTheme.NoActionBar" /> 
    </application> 

</manifest> 

Dies funktioniert und dann plötzlich nicht arbeiten, wenn ich auf der App wieder arbeiten wollte. Was muss ich tun, um diesen Fehler zu beheben?

+0

Prüfung und pflegen die gleiche Version der Bibliothek in allen Modulen Ihrer Projekt. Auf die gleiche Weise ist mein Problem behoben. – Suresh

Antwort

2

Verwendung derselben Version für alle Support-Bibliothek und unter Abhängigkeit in Ihrem gradle verwenden

compile 'com.android.support:appcompat-v7:26.+' 
compile 'com.android.support:preference-v7:26.+' 
compile 'com.android.support:design:26.+' 
compile 'com.android.support.constraint:constraint-layout:1.0.2' 
compile 'com.android.support:support-v4:26.+' 
compile ('com.afollestad.material-dialogs:core:0.9.4.7') { 
    exclude module: 'support-v4' 
    exclude module: 'com.android.support' 
    exclude module: 'com.google.android' 
} 
compile ('com.afollestad.material-dialogs:commons:0.9.4.7'){ 
    exclude module: 'support-v4' 
    exclude module: 'com.android.support' 
    exclude module: 'com.google.android' 
} 
+0

Das schien nicht zu funktionieren Ich habe den gleichen Fehler wie zuvor –

+0

Haben Sie hinzufügen, Plug-in: "com.android.application" oben auf Ihrem build.gradle. Wenn nicht .please hinzufügen –

+0

Ich habe auch hinzugefügt, und es funktioniert immer noch nicht –

1

Wie ich com.afollestad.material-dialogs:core:0.9.4.7 verwendet 26.0.1 verstehen, so muss man es auch verwenden, während Material Dialoge nicht aktualisiert werden. Versuche, exakte Versionen statt + für Support-Bibliotheken zu setzen:

compile 'com.android.support:appcompat-v7:26.0.1' 
compile 'com.android.support:design:26.0.1' 
compile 'com.android.support:support-v4:26.0.1' 
8
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.1' 
      } 
     } 
    } 
} 

Das hat mir geholfen, fügen Sie diese zu Ihrer build.gradle und stellen Sie sicher, dass Sie die gleichen Versionen wie '26 .0.1' verwenden.

+0

Sie sind mein Lebensretter! –

0

hatte ich den gleichen Fehler und ich änderte 26.0.1 bis 26.0.2 und es funktionierte

implementation 'com.android.support:appcompat-v7:26.0.2' 
implementation 'com.android.support:recyclerview-v7:26.0.2' 
implementation 'com.android.support:cardview-v7:26.0.2' 
0

Dank der Beantworter für mich einen Anhaltspunkt zu geben. Keine der obigen Antworten hat sich jedoch für mich ergeben.

Stattdessen änderte ich Support-Bibliothek in eine andere Version (26.1.0) und jetzt funktioniert es wie ein Charme!

compile 'com.android.support:appcompat-v7:26.1.0' 
compile 'com.android.support:design:26.1.0' 
compile 'com.android.support:support-v4:26.1.0' 

Ich hoffe, dies wäre nützlich für alle mit ähnlichen Problemen.

1

Sie können den Vorschlag versuchen, folgen eine Meta-Daten zu Ihrem Manifest hinzufügen:

Suggestion: add 'tools:replace="android:value"' to element at AndroidManifest.xml

Fügen Sie diese Meta-Daten Ihrer Version mit (26.0.2). In meinem Fall habe ich Version 26.1.0 und es funktionierte:

<meta-data 
    tools:replace="android:value" 
    android:name="android.support.VERSION" 
    android:value="26.1.0" /> 
0

Dieser Code hinzufügen auf Ihre gradle Datei

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.1' 
      } 
     } 
    } 
} 
Verwandte Themen