android / android-ktx

A set of Kotlin extensions for Android app development.
https://android.github.io/android-ktx/core-ktx/
7.48k stars 565 forks source link

Manifest merger failed #576

Closed duzechao closed 6 years ago

duzechao commented 6 years ago

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

SergeyUshatov commented 6 years ago

Hi I've faced with the same issue. The way I solved it: I created a new project and compared my build.gradle files and replaced all

    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.1'

and other dependencies with the same as were in a new project

someting like that

implementation 'androidx.appcompat:appcompat:1.0.0-alpha3'
implementation 'androidx.constraintlayout:constraintlayout:1.1.2'
implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0-alpha1'
androidTestImplementation 'androidx.test:runner:1.1.0-alpha3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha3'
implementation 'androidx.core:core-ktx:1.0.0-alpha3'

And then fixed imports to use androidx in kotlin files.

iNoles commented 6 years ago

It requires Android P (28) too.

MohammadFahimi commented 5 years ago

I used these two lines of code in application tag in manifest.xml and it worked.

 tools:replace="android:appComponentFactory"
 android:appComponentFactory="whateverString"
duckmoon commented 5 years ago

I used these two lines of code in application tag in manifest.xml and it worked.

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

I tried this, it work for me. How did you find the answer?

MohammadFahimi commented 5 years ago

I used these two lines of code in application tag in manifest.xml and it worked.

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

I tried this, it work for me. How did you find the answer?

I think I found it on Stackoverflow before but unfortunately I don't remember the link of the answer now.