美文网首页
android studio 引用第三方工程Manifest m

android studio 引用第三方工程Manifest m

作者: 挨踢老李 | 来源:发表于2017-08-29 10:48 被阅读0次

昨天在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 <meta-data> 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 库强制指定同一个版本号。

然后,没然后了~

相关文章

网友评论

      本文标题:android studio 引用第三方工程Manifest m

      本文链接:https://www.haomeiwen.com/subject/abtodxtx.html