完整的错误如下:
ERROR: 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.0.1] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:14:5-59:19 to override.
产生问题的原因:
我工程的gradle引用了android X(如图1):
图1然后呢我使用了Android Studio里面的新建Activity的菜单栏功能,去看一下app的build.gradle文件会发现被自动添加了这两行(如图2):
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
图2然后新建的Activity里面也会报错(如图3)
图3错误的原因就是v7包和android X包冲突了,解决方案就是把
implementation 'com.android.support:appcompat-v7:28.0.0' implementation 'com.android.support.constraint:constraint-layout:1.1.3'
这两行删掉就可以,然后Activity里面的AppCompatActivity,import AndroidX 的就可以了
网友评论