android android-studio manifest

android - La fusión de manifiesto falla para appComponentFactory



android-studio manifest (8)

Esta pregunta ya tiene una respuesta aquí:

Usar el llamado Material Design 2.0 de Google requiere que agregues

implementation ''com.google.android.material:material:1.0.0-rc01''

en la aplicación Gradle que también incluye

implementation ''com.android.support:appcompat-v7:28.0.0-rc02''

que muestra conflictos

Esto es lo que dice el registro

Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0-rc02] AndroidManifest.xml:22:18-91 is also present at [androidx.core:core:1.0.0-rc01] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory). Suggestion: add ''tools:replace="android:appComponentFactory"'' to <application> element at AndroidManifest.xml:5:5-19:19 to override.

Incluso después de agregar eso al Manifiesto, muestra que Manifest Merger falló con error múltiple


Para solucionar esto, debe agregar el espacio de nombres de las herramientas y aplicar los atributos sugeridos al elemento de aplicación recomendado por el IDE.

<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="your.package.uri"> <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" tools:replace="android:appComponentFactory" android:appComponentFactory="androidx">

Source


Sugerencia: agregue '' tools:replace="android:appComponentFactory" '' al elemento en AndroidManifest.xml : 5: 5-19: 19 para anular.

Si agregó las tools:replace="android:appComponentFactory" y aún así tiene problemas al solucionarlo, cree un nuevo proyecto, copie y pegue los códigos y las mismas dependencias allí. Después de eso, debería ser arreglado espero.

Si no resolvió el problema, intente agregar estos dos:

tools:replace="android:appComponentFactory" android:appComponentFactory="whateverString"

En AndroidManifest.xml > <application etiqueta de <application por supuesto.


Deseleccionar la ejecución instantánea funcionó para mí. No estoy seguro si ayuda para todos.


Este error es común hoy en día:

Cuando obtenemos este tipo de error: cuando la biblioteca se actualiza y proporciona el uso de AndroidX pero estamos usando uno antiguo.

Puedes seguir los pasos para solucionar esto:

  • Migra tu proyecto a AndroidX:

Con Android Studio 3.2 y superior, puede migrar rápidamente un proyecto existente para usar AndroidX seleccionando Refactor> Migrar a AndroidX desde la barra de menú.

Nota: para migrar un proyecto existente que no utiliza ninguna biblioteca de terceros con dependencias que necesitan conversión, puede establecer el indicador android.useAndroidX en true y el indicador android.enableJetifier en false .

ESTE PASO HACERÁ TODO AUTOMÁTICAMENTE QUE TODA RESPUESTA DICE QUE HAGA MANUALMENTE

  • Puedes consultar la descripción general de AndroidX here .
  • Más detalles para la migration

Incluso si obtienes algún otro error, como error de compilación en tiempo de ejecución, entonces:

  • Invalidar caché y reiniciar

O

  • Limpia tu proyecto

Espero que ayude a todos. Gracias.


Reemplace todas las dependencias de Android con las de Android en el archivo build.gradle.

Por ejemplo:

implementation ''androidx.appcompat:appcompat:1.0.0'' implementation ''androidx.constraintlayout:constraintlayout:2.0.0-alpha2'' implementation ''androidx.annotation:annotation:1.0.0'' androidTestImplementation ''androidx.test:runner:1.1.0-alpha3'' androidTestImplementation ''androidx.test.espresso:espresso-core:3.1.0-alpha4''


Reemplazar en dependencias desde:

implementation ''com.google.android.material:material:1.0.0-rc01''

a:

implementation ''com.android.support:design:28.0.0''


También tuve este problema y migré a AndroidX, siguiendo la documentación oficial. Sólo a través de Refactor -> Migrar a AndroidX.

migration

Espero que esto ayude.


prueba: reemplaza rc01 >> alpha1. ¡Está funcionando para mí!