versiones pie oreo developer caracteristicas android xml androidx

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



android versiones (30)

Entonces, soy un principiante en Android y Java. Acabo de empezar a aprender. Mientras estaba experimentando con Intent hoy, incurrí en 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 AndroidManifest:

<?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 es algo realmente tonto. Soy realmente nuevo en esto y no encontré ningún otro lugar para preguntar. Lo siento si rompí alguna regla


  1. En AndroidManifest.xml :

    • En la aplicación, agregue tools:replace="android:icon, android:theme y
    • En la raíz del Manifiesto, agregue xmlns:tools="http://schemas.android.com/tools
  2. En build.gradle :

    • En la raíz, agregue useOldManifestMerger true

Abra su consola de gradle, luego verá que gradle le sugiere agregar la línea en particular (como: herramientas: reemplazar = "android: allowBackup" o herramientas: reemplazar = "android: etiqueta", etc.). Agregue esa línea en su archivo de manifiesto bajo la etiqueta y sincronice gradle, eso es todo.


Además de las soluciones disponibles, verifique esto también.
Si ha configurado android:allowBackup="false" en su AndroidManifest.xml , puede haber un conflicto para android:allowBackup="true" en otras dependencias.

Solución
Según lo sugerido por @CLIFFORD PY, cambie a Merged Manifest combinado en su AndroidManifest.xml . Android Studio sugerirá agregar tools:replace="android:allowBackup" en <application /> en su AndroidManifest.xml .


Como novato en Android Studio, en mi caso, moví un proyecto existente de Eclipse a Android Studio y descubrí que había una definición duplicada de una actividad dentro de mi Manifest.xml que Eclipse no había recogido. Un error de Gradle.

Encontré esto yendo a la consola de Gradle (abajo a la derecha de la pantalla).


Complemente la respuesta Phan Van Linh. Eliminé estas líneas:

android:icon="@mipmap/ic_launcher" android:label="name"


Durante los últimos días también estaba pasando por el mismo problema. Pero después de mucha investigación, finalmente encontré una solución para esto.
Para resolver este problema, lo que debe hacer es:
1. Compruebe si el archivo build.gradle de su proyecto y el archivo build.gradle del módulo contienen las mismas versiones de todas las dependencias.
2. Asegúrese de que compileSdkVersion , buildToolsVersion , minSdkVersion y targetSdkVersion de su proyecto coincidan con el de los módulos o bibliotecas que ha agregado al proyecto.

compileSdkVersion 25 buildToolsVersion "25.0.0" defaultConfig { applicationId "com.example.appname" minSdkVersion 16 targetSdkVersion 25 versionCode 22 versionName "2.0.3" }

Espero que esto ayude.


El siguiente truco funciona:

  1. Agregue la línea xmlns:tools="http://schemas.android.com/tools" en la etiqueta de manifiesto
  2. Agregue tools:replace="android:icon,android:theme,android:allowBackup,label,name" en la etiqueta de la aplicación

Elimine <activity android:name=".MainActivity"/> de su archivo mainfest. Como ya lo ha 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, archivo de manifiesto que muestra ambigüedad.


En mi caso, estaba mostrando un error porque había una redundancia en el elemento <uses-permission> . Por lo tanto, compruebe su archivo AndroidManifest.xml para el mismo.

La versión de Android Studio es 3.0.1

El sistema operativo es Windows 7

Aquí está la captura de pantalla para referencia.


En mi caso, estaba usando algunas anotaciones de la biblioteca jetbrains. Eliminé esas anotaciones y dependencias y funcionó bien.

Por lo tanto, compruebe cuidadosamente las bibliotecas en el código y las dependencias de Android.


En mi caso, sucedió por dejar un filtro de intención vacío dentro de la etiqueta Actividad

<activity android:name=".MainActivity" android:label="@string/app_name" android:theme="@style/AppTheme.NoActionBar"> <intent-filter> </intent-filter> </activity>

Así que solo eliminarlos resolvió el problema.

<activity android:name=".MainActivity" android:label="@string/app_name" android:theme="@style/AppTheme.NoActionBar"> </activity>


Estaba enfrentando el mismo problema y acabo de agregar una línea en mi manifest.xml y funcionó para mí.

tools:replace="android:allowBackup,icon,theme,label,name">

agregue esta línea debajo

<application android:name=".MyApplication" android:allowBackup="true" android:icon="@drawable/launcher" android:label="@string/app_name" android:largeHeap="true" android:screenOrientation="portrait" android:supportsRtl="true" android:theme="@style/AppThemecustom" tools:replace="android:allowBackup,icon,theme,label">

Espero que ayude.


Estaba usando la FirebaseUI Library junto con la Facebook SDK Library , lo que me estaba causando el problema.

implementation ''com.firebaseui:firebase-ui-database:0.4.4'' implementation ''com.facebook.android:facebook-android-sdk:[4,5)''

Y desde [aquí] [1], me libré de este problema.

Con la latest update de la biblioteca FirebaseUI , la versión anterior de Facebook SDK también forma parte de ella.

Si está utilizando ambas bibliotecas, elimine la biblioteca del SDK de Facebook .

https://github.com/firebase/FirebaseUI-Android/issues/230

ACTUALIZAR

Desde Android Studio 3.0 y las versiones posteriores, se app.gradle archivo app.gradle para usar la implementation o la api lugar de compile para agregar las dependencias a la aplicación.


Esto se debe a que está utilizando la nueva biblioteca de materiales con la biblioteca de soporte heredada.

androidx migrar android.support a androidx para usar com.google.android.material .

Si está utilizando Android Studio v 3.2 o superior, simplemente

ir al refactorizador ---> MIGRAR AL ANDROID X.

Haga una copia de seguridad de su proyecto.


La versión minium sdk debe ser la misma que la de los módulos / lib que está utilizando. Por ejemplo: la versión min sdk de su módulo es 26 y la versión min sdk de su aplicación es 21 Debe ser la misma.


Mi caso lo he arreglado

build.gradle (Módulo: aplicación)

defaultConfig { ---------- multiDexEnabled true } dependencies { ........... implementation ''com.google.android.gms:play-services-gcm:11.0.2'' implementation ''com.onesignal:OneSignal:3.+@aar'' }

Esta respuesta se envió a la notificación push de OnSignal


Ponga esto al final de su módulo de aplicación build.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'' } } }}

de esto


Por lo general, ocurre cuando tiene errores en su manifiesto. Abra AndroidManifest.xml. Haga clic en la pestaña de manifiesto combinado. Los errores se pueden ver allí. También incluya sugerencias mencionadas allí. Cuando tuve un problema similar al importar com.google.android.gms .maps.model.LatLng, me sugirió incluir herramientas: overrideLibrary = "com.google.android.gms.maps" en la etiqueta de la aplicación y la compilación fue exitosa.


Resolví esto eliminando android:replace etiqueta


Si después de agregar un módulo de biblioteca de Android y obtiene este error.
Puede solucionarlo simplemente eliminando android:label="@string/app_name" del AndroidManifest.xml de su Módulo de biblioteca de Android


Si está utilizando múltiples elementos manifestPlaceholder en su archivo build.gradle , debe agregarlos como elementos de matriz, en lugar de elementos separados.

Por ejemplo, esto provocará un error de compilación o error de compilación: "java.lang.RuntimeException: la fusión del manifiesto falló con varios errores":

android { ... defaultConfig { manifestPlaceholders = [myKey1: "myValue1"] manifestPlaceholders = [myKey2: "myValue2"] // Error! } }

Esto solucionará el error:

android { ... defaultConfig { manifestPlaceholders = [myKey1: "myValue1", myKey2: "myValue2"] } }


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

<application tools:node="replace">


Simplemente migre a Androidx como se muestra arriba y luego configure la versión mínima de SDK en 26 ... sin dudas, esto funciona perfectamente


Sucedió conmigo dos veces cuando refractaria (Cambiar nombre con MAYÚS + F6) el nombre de un campo en nuestros archivos y le pide que lo cambie en todas partes y nosotros, sin prestar atención, cambiamos el nombre en todas partes. Por ejemplo, si tiene un nombre de variable "id" en su clase de Java y lo renombra con SHIFT + F6. Si no presta atención al siguiente cuadro de diálogo que le preguntará dónde va a cambiar la identificación y marque la casilla de verificación, todo cambiará toda la identificación en sus archivos de diseño desde el nuevo valor.


También estaba enfrentando los mismos problemas, y después de mucha investigación encontré la solución:

  1. La versión de min sdk debe ser la misma que la de los módulos que está utilizando, por ejemplo: la versión de min sdk de su módulo es 14 y la versión de min sdk de su aplicación es 9 Debe ser la misma.
  2. Si la versión de compilación de su aplicación y módulos no es la misma. De nuevo, debería ser el mismo ** En resumen, el archivo build.gradle y el manifiesto de su aplicación 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 menciona dos veces.
  4. Si ha eliminado alguna actividad de su proyecto, elimínela también de su archivo de manifiesto.
  5. A veces es debido a la etiqueta, icono, etc. etiqueta del archivo de manifiesto:

a) Agregue la línea xmlns:tools en la etiqueta de 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 son del mismo ejemplo de versión: está utilizando la dependencia para appcompat v7: 26.0.0 y para facebook com.facebook.android:facebook-android-sdk:[4,5) facebook usa la vista de tarjeta de la versión com.android. soporte: cardview-v7: 25.3.1 y appcompat v7: 26.0.0 usa cardview de la versión v7: 26.0.0, por lo que hay discrepancia en dos bibliotecas y, por lo tanto, da error

Error: Error de ejecución para la tarea '': aplicación: processDebugManifest''.

La fusión del manifiesto falló: Atributo metadatos#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 anular.

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

Al considerar los puntos anteriores en mente, se librará de este problema irritante. También puedes consultar mi blog https://wordpress.com/post/dhingrakimmi.wordpress.com/23


esto es un error muy simple que solo ocurre cuando define una llamada de actividad dos veces en el archivo mainifest.xml Ejemplo como

<activity android:name="com.futuretech.mpboardexam.Game" ></activity> //and launcher also------like that //solution:use only one


resolví este problema eliminando la línea de abajo de AndroidManifest.xml

android:allowBackup="true"


Abra el manifiesto de la aplicación ( AndroidManifest.xml ), haga clic en Merged Manifest combinado. Verifique la imagen

Desde la imagen puede ver el error en la columna derecha, intente resolver el error. Puede ayudar a alguien con el mismo problema. Lea más desde here


Para mí ESTO funciona

Encontrar errores de fusión en AndroidManifest.xml

Haga clic en Manifiesto AndroidManifest.xml en AndroidManifest.xml

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


Resolví esto con Refactor -> Migrar a AndroidX

GL