Manifest Merger Error: Duplicate Attribute application@appComponentFactory
In the provided Android project, you're encountering the following error:
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.
This error indicates that you have duplicate application@appComponentFactory attributes defined in your Android manifest, causing a manifest merger failure. Specifically, two different libraries (androidx.core and com.android.support) are both declaring this attribute.
Resolution:
To resolve this issue, you have two options:
1. Fully Migrate to AndroidX
Migrate your entire project to AndroidX libraries, replacing all support libraries with their androidx counterparts. This involves making the following changes:
Example:
<code class="gradle">implementation "androidx.appcompat:appcompat:1.1.0" implementation "androidx.constraintlayout:constraintlayout:1.1.3"</code>
2. Downgrade Firebase Dependency
Alternatively, you can downgrade your Firebase dependency to a version that does not require AndroidX libraries. However, this is not a long-term solution, as Firebase is actively migrating to AndroidX.
Example:
<code class="gradle">implementation "com.google.firebase:firebase-messaging:17.3.4"</code>
Additional Notes:
The above is the detailed content of How to Resolve \'Manifest Merger Error: Duplicate Attribute application@appComponentFactory\' in Android?. For more information, please follow other related articles on the PHP Chinese website!