Android Manifest merger failed with multiple errors参考解决方法

本文介绍了如何解决Android开发中遇到的`Manifest merger failed with multiple errors`问题,包括与引入库冲突的解决方法和Androidx与support库共存的问题。通过查看External Libraries,定位冲突源,并在AndroidManifest中使用tools:replace进行冲突解决。对于Androidx与support库共存的问题,可以通过在gradle.properties中添加配置,或者执行Migrate to AndroidX操作来解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

判断报错类别

Android Manifest merger failed with multiple errors , see logs 主要分为俩类(个人遇见的情况):

  1. 与引入的其他库中的Manifest部分属性冲突
  2. Androidx和Android support库不能共存

主要方法是 将导航栏由Android模式切换到Project模式,打开External Libraries,看各个引入架包的命名,如果既有Androidx又有support就是第二种情况。


与引入的其他库中的Manifest部分属性冲突解决方法
  • 先看ide工具有没有提供相应的解决办法的建议如:
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.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
    Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:36:5-364:19 to override.

如果有就先根据建议修改,一般是在某个标签下添加某个语句,上面这个例子就是在 下 添加 tools:replace=“android:appComponentFactory” 语句,编译一把,基本都能解决问题。

  • 如果上面解决不了,就要去找具体问题,但是log打印的量巨多怎么搞呢?参考个人解决思路:

打开AndroidManifest文件——>选中文件左下角 Merged Manifest 标签,在视图的右侧就可以看到具体的报错信息。


Androidx和Android support库不能共存

解决方法:

  1. 在gradle.properties文件中加上
android.useAndroidX=true
android.enableJetifier=true
  1. 如果你参考ide给的建议在AndroidManifest中部分标签下加了例如
tools:replace="android:appComponentFactory"

的语句都给删掉。
3. Migrating to AndroidX

  • 首先将build tools更新到3.2.0,gradle更新到4.6,依赖库统一更新到28.0.0
  • 然后选择工程右键→Refactor→Migrate to Androidx…(注意弹出的对话框Migrate按钮是在右边)
  • 在左下方对需要重命名的文件进行Do Refactor

编译一把,搞定!!!!!!!


参考:
stackoverflow
Migrating to AndroidX

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值