Android Studio 3.4 Manifest merger failed with multiple errors

问题起因

我在项目中引入信鸽Push,然后在 File --> Project Structure 设置依赖后再 Build 就报了这个错误。

“Manifest merger failed with multiple errors”,在 Build 面板中就提示这么一丁点,把右侧的 + 号点开也全是些没用的东西,心想谷歌做的软件果然跟微软没得比,技术贼6,体验贼差。
在这里插入图片描述

解决方案:

追本溯源,编译用的是gradle这个打包工具的gradlew命令,那么在命令行直接执行

gradlew processDebugManifest --stracktrace

gradlew assembleDebug --s -info

注意:这个 processDebugManifest,是个变化的值,要根据具体出错的任务来定,下面会进行解释。

原理分析:

  • gradlew 是包装器脚本,它会自动下载包装里定义好的gradle 版本,保证编译环境统一,下载的Gradle发行版被存放在目录$USER_HOME/.gradle/wrapper/dists中,然后使用gradle命令进行打包。
  • processDebugMenifest 是gradlew执行的任务名,从下面的错误打印可以得出。前缀app表示的是当前编译的是名字叫app的这个模块。
    在这里插入图片描述
  • -s,–stracktrace 表示打印出堆栈信息,用以调试错误

在这里插入图片描述找到原因了,是因为我想把信鸽独立成一个module,然后在这个module的build.gradle中配置manifestPlaceholders,结果编译app的时候,不会去xgpush这个module下面去找这个配置,于是就报错了。把它移动到app模块的build.gradle文件中就好了。但是移动到app模块后,app编译是通过了,xgpush模块又同样的提示了该问题。最后我合并成一个module了 。。。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值