2

when add

implementation 'com.google.android.material:material:1.1.0-alpha10'

in gradle file and build the error is :

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

And when add tools:replace="android:appComponentFactory" in manifest file , i have another error new error message is :Manifest merger failed with multiple errors, see logs

my geadle file :

android {
compileSdkVersion 28
buildToolsVersion '28.0.3'
defaultConfig {
    applicationId "com.saat.ali.hozorghiab"
    minSdkVersion 21
    targetSdkVersion 28
    versionCode 6
    versionName '1.6'
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
productFlavors {
}
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

}

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:support-v4:28.0.0'
implementation 'android.arch.lifecycle:extensions:1.1.1'
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
//implementation 'com.android.support:appcompat-v7:26.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
implementation 'com.android.support:design:28.0.0'
androidTestImplementation 'junit:junit:4.12'
implementation 'com.github.florent37:materialtextfield:1.0.7'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:recyclerview-v7:28.0.0'

implementation 'com.google.android.material:material:1.1.0-alpha10'

implementation 'com.github.ittianyu:BottomNavigationViewEx:2.0.4'
//testImplementation 'org.testng:testng:6.9.6'

}

Gabriele Mariotti
  • 320,139
  • 94
  • 887
  • 841
Ali Elahi
  • 131
  • 1
  • 10

2 Answers2

2

Check the official doc of the Material Components library:

If your app currently depends on the original Design Support Library, you can make use of the Refactor to AndroidX… option provided by Android Studio. Doing so will update your app's dependencies and code to use the newly packaged androidx and com.google.android.material libraries.

If you don't want to switch over to the new androidx and com.google.android.material packages yet, you can use Material Components via the com.android.support:design:28.0.0 dependency.

Note: You should not use the com.android.support and com.google.android.material dependencies in your app at the same time.

You have to use AndroidX libraries.

Community
  • 1
  • 1
Gabriele Mariotti
  • 320,139
  • 94
  • 887
  • 841
0

Try migrating to AndroidX, to do this go to Refactor -> Migrate to AndroidX, most of the problems about manifest merger are goes away with AndroidX. and the cool part is that migration is so safe, never had any problem with migrating my projects.

SinaMN75
  • 6,742
  • 5
  • 28
  • 56