android studio manifest merger failed,android studio 引用第三方工程Manifest merger failed

昨天在gradle中引用第三方包,报了个错:

Error:Execution failed for task ':app:processDebugManifest'.

> Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(25.3.0) from [com.android.support:design:25.3.0] AndroidManifest.xml:27:9-31is also present at [com.android.support:appcompat-v7:25.3.1] AndroidManifest.xml:27:9-31 value=(25.3.1).

Suggestion: add 'tools:replace="android:value"' to element at AndroidManifest.xml:25:5-27:34 to override.

错误提示,上面说是在合并 Manifest 的时候出错了,(在引用第三方工程 compile 的时候会合并所有第三方工程,和我们工程的Manifest)根据上面的说法是support 包版本不统一。于是乎,根据提示,这么搞:

step 1: 在manifest 根目录添加 xmlns:tools=\"http://schemas.android.com/tools\"

step 2:在application 节点下添加 tools:replace="android:value"

然而,对我的工程来说这并没有什么卵用,~~~~~~~~

报了另外一个错:

error: Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger failed with multiple errors, see logs –

于是又继续填坑之路,终于在stack overflow 看到了大招:

configurations.all {

resolutionStrategy.eachDependency { DependencyResolveDetails details ->

def requested = details.requested

if (requested.group == 'com.android.support') {

if (!requested.name.startsWith("multidex")) {

details.useVersion '25.3.0'

}

}

}

}

这段代码的意思是:给所有工程的support 库强制指定同一个版本号。

然后,没然后了~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值