Erreur de fusion manifeste : application d'attribut en double@appComponentFactory
Dans le projet Android fourni, vous rencontrez l'erreur suivante :
ERROR: Manifest merger failed : Attribute application@appComponentFactory value=(androidx.core.app.CoreComponentFactory) from [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 is also present at [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91 value=(android.support.v4.app.CoreComponentFactory). Suggestion: add 'tools:replace="android:appComponentFactory"' to element at AndroidManifest.xml:9:5-44:19 to override.
Cette erreur indique que vous avez des attributs application@appComponentFactory en double définis dans votre manifeste Android, provoquant un échec de fusion manifeste. Plus précisément, deux bibliothèques différentes (androidx.core et com.android.support) déclarent toutes deux cet attribut.
Résolution :
Pour résoudre ce problème, vous disposez de deux options :
1. Migrez entièrement vers AndroidX
Migrez l'intégralité de votre projet vers les bibliothèques AndroidX, en remplaçant toutes les bibliothèques de support par leurs homologues Androidx. Cela implique d'apporter les modifications suivantes :
Exemple :
<code class="gradle">implementation "androidx.appcompat:appcompat:1.1.0" implementation "androidx.constraintlayout:constraintlayout:1.1.3"</code>
2. Rétrograder la dépendance Firebase
Vous pouvez également rétrograder votre dépendance Firebase vers une version qui ne nécessite pas de bibliothèques AndroidX. Cependant, il ne s'agit pas d'une solution à long terme, car Firebase migre activement vers AndroidX.
Exemple :
<code class="gradle">implementation "com.google.firebase:firebase-messaging:17.3.4"</code>
Remarques supplémentaires :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!