La fusión de manifiesto falló con múltiples errores en Android Studio

Resuelto Rohan asked hace 54 años • 45 respuestas

Entonces, soy un principiante en Android y Java. Recién comencé a aprender. Mientras experimentaba con Intent hoy, cometí un error.

Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed with multiple errors, see logs

Encontré algunas soluciones aquí e intenté implementarlas, pero no funcionó.

Este es mi build.gradle:

apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.0"

defaultConfig {
    applicationId "com.example.rohan.petadoptionthing"
    minSdkVersion 10
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.0'
}

Este es mi manifiesto de Android:

<?xml version="1.0" encoding="utf-8"?>

package="com.example.rohan.petadoptionthing" >

<application

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

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity android:name=".Second"
        />

    <activity android:name=".third"/>
    <activity android:name=".MainActivity"/>


</application>

Esta es mi primera semana con la codificación, lo siento si esto es una tontería. Soy realmente nuevo en esto y no encontré ningún otro lugar para preguntar. Perdón si rompí alguna regla

Rohan avatar Jan 01 '70 08:01 Rohan
Aceptado

Abra el manifiesto de la aplicación ( AndroidManifest.xml) y haga clic en Merged Manifestla pestaña en la parte inferior del panel de edición. Mira la imagen a continuación:

ingrese la descripción de la imagen aquí

En la imagen puedes ver el error en la columna de la derecha, intenta solucionar el error. Puede ayudar a alguien con el mismo problema. Leer más aquí .

Además, una vez que encontró el error y si obtiene ese error de la biblioteca externa que está utilizando, debe permitir que el compilador ignore el atributo de la biblioteca externa. //agrega este atributo en la etiqueta de la aplicación en el manifiesto

   tools:replace="android:allowBackup" 
                                                                                                                                          
   //Add this in the manifest tag at the top

   xmlns:tools="http://schemas.android.com/tools"
CLIFFORD P Y avatar Feb 03 '2017 11:02 CLIFFORD P Y

Elimínelo <activity android:name=".MainActivity"/>de su archivo mainfest. Como ya lo has definido como:

 <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

Entonces, el archivo de manifiesto muestra ambigüedad.

Android Geek avatar Mar 07 '2016 12:03 Android Geek

Para mí ESTO funciona -

Encontrar errores de fusión enAndroidManifest.xml

ingrese la descripción de la imagen aquí

Haga clic en Manifiesto fusionado enAndroidManifest.xml

ingrese la descripción de la imagen aquí

Puede ver el error de fusión del manifiesto en la columna de la derecha. Puede ayudar a resolver este problema.

A J avatar Aug 13 '2018 08:08 A J

También me enfrenté a los mismos problemas y, después de mucha investigación, encontré la solución:

  1. Su versión mínima de SDK debe ser la misma que la de los módulos que está utilizando, por ejemplo: la versión mínima de su módulo SDK es 14 y la versión mínima de SDK de su aplicación es 9. Debería ser la misma.
  2. Si la versión de compilación de su aplicación y sus módulos no son iguales. Nuevamente debería ser lo mismo ** En resumen, build.gradleel archivo de su aplicación y el manifiesto deben tener las mismas configuraciones **
  3. No hay duplicación como los mismos permisos agregados en el archivo de manifiesto dos veces, la misma actividad mencionada dos veces.
  4. Si ha eliminado alguna actividad de su proyecto, elimínela también de su archivo de manifiesto.
  5. A veces se debe a la etiqueta, icono, etc., etiqueta del archivo de manifiesto:

a) Agregue la xmlns:toolslínea en la etiqueta del manifiesto.

b) Agregar tools:replace=o tools:ignore=en la etiqueta de la aplicación.

Ejemplo:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.slinfy.ikharelimiteduk"
    xmlns:tools="http://schemas.android.com/tools"
    android:versionCode="1"
    android:versionName="1.0" >

  <application
      tools:replace="icon, label"
      android:label="myApp"
      android:name="com.example.MyApplication"
      android:allowBackup="true"
      android:hardwareAccelerated="false"
      android:icon="@drawable/ic_launcher"
      android:theme="@style/Theme.AppCompat" >
  </application>

</manifest>
  1. Si dos dependencias no tienen la misma versión, ejemplo: está usando la dependencia para appcompat v7:26.0.0 y para facebook com.facebook.android:facebook-android-sdk:[4,5) facebook usa cardview de la versión com.android. soporte: cardview-v7:25.3.1 y appcompat v7:26.0.0 usan cardview de la versión v7:26.0.0, por lo que hay discrepancia en dos bibliotecas y, por lo tanto, se genera un error

Error: Error de ejecución de la tarea ':app:processDebugManifest'.

Error en la fusión del manifiesto: atributo meta-data#android.support.VERSION@value value=(26.0.0-alpha1) de [com.android.support:appcompat-v7:26.0.0-alpha1] AndroidManifest.xml:27:9 -38 también está presente en [com.android.support:cardview-v7:25.3.1] AndroidManifest.xml:24:9-31 value=(25.3.1). Sugerencia: agregue 'tools:replace="android:value"' al elemento en AndroidManifest.xml:25:5-27:41 para anularlo.

Entonces, al usar appcompat de la versión 25.3.1, podemos evitar este error.

Si tiene en cuenta los puntos anteriores, podrá deshacerse de este irritante problema. También puedes consultar mi blog https://wordpress.com/post/dhingrakimmi.wordpress.com/23

Kimmi Dhingra avatar Sep 15 '2016 11:09 Kimmi Dhingra

Simplemente agregue el siguiente código en la etiqueta de aplicación del manifiesto de su proyecto...

<application
        tools:node="replace">
sankalp avatar Aug 17 '2018 14:08 sankalp