android - La fusión de manifiesto falla para appComponentFactory
android-studio manifest (8)
Esta pregunta ya tiene una respuesta aquí:
- La fusión de Manifest y Material de Android falló 26 respuestas
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">
Sugerencia: agregue ''
tools:replace="android:appComponentFactory"
'' al elemento enAndroidManifest.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 indicadorandroid.enableJetifier
en false .
ESTE PASO HACERÁ TODO AUTOMÁTICAMENTE QUE TODA RESPUESTA DICE QUE HAGA MANUALMENTE
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.
Espero que esto ayude.
prueba: reemplaza rc01 >> alpha1. ¡Está funcionando para mí!