在更新到gradle的新版本之后,android获得Manifest合并失败的错误

接受更新项目到新版本的Gradle后。 我得到这个错误:

Error:Execution failed for task ':app:processDebugManifest'. Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(26.0.0-alpha1) from [com.android.support:cardview-v7:26.0.0-alpha1] AndroidManifest.xml:24:9-38 is also present at [com.android.support:design: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:22:5-24:41 to override. 

我怎样才能解决这个问题,我如何更改build.gradle支持库

 android { compileSdkVersion 25 buildToolsVersion "25.0.2" defaultConfig { applicationId "com.sample.bookReader" minSdkVersion 16 targetSdkVersion 25 versionCode 1 versionName "1.0" } ... } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:multidex:+' compile 'com.android.support:appcompat-v7:26.0.0-alpha1' compile 'com.android.support:cardview-v7:26.0.0-alpha1' compile 'com.android.support:design:25+' compile 'com.jakewharton:butterknife:8.2.1' apt 'com.jakewharton:butterknife-compiler:8.2.1' ... } 

而这个包含的是project build.gradle

 buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.3.1' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' } } allprojects { repositories { jcenter() maven { url "https://www.jitpack.io" } } } task clean(type: Delete) { delete rootProject.buildDir } 

我试图使用gradlebuild议作为使用最新版本的支持库,但它不能解决我的问题

把它放在你的应用程序模块build.gradle的末尾:

 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' } } } } 

您正在使用Android支持库的多个版本:

 compile 'com.android.support:appcompat-v7:26.0.0-alpha1' compile 'com.android.support:cardview-v7:26.0.0-alpha1' compile 'com.android.support:design:25+' 

两个是26.0.0-alpha1 ,一个是使用25+

select一个具体的版本,并将其用于所有这三个。 由于您的compileSdkVersion不是O25.3.1这三个库都使用25.3.1 ,导致:

 compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support:cardview-v7:25.3.1' compile 'com.android.support:design:25.3.1' 

我将所有支持库版本更改为25.3.1,并像魅力一样工作:

 compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support:design:25.3.1' 

您还需要将compileSdkVersiontargetSdkVersion更改为25:

 compileSdkVersion 25 targetSdkVersion 25 

我没有使用不同版本的库,并得到相同的错误,这是发生在AS RC 1删除buildToolsVersion后,但添加tools:node="replace"做了伎俩,只需将其添加到您的清单文件<application ..../>块:

 <meta-data tools:node="replace" android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> 

将您的支持库更新到最新版本
**打开清单文件**添加到清单文件

  <uses-sdk tools:overrideLibrary="android.support.v17.leanback"/> 

并在>> build.gradle模块应用程序中添加recyclerview:

 compile 'com.android.support:recyclerview-v7:25.3.1' 

并单击:立即同步

它发生在我身上同样的事情。 请参阅Gradle – > Build Gradle – >并确保编译“app compat”和“support design”行中的兼容性匹配,它们应该具有相同的版本。

然后要超级确定,它将启动没有问题,去文件 – >项目结构 – >应用程序,并检查选项卡性能的构build工具版本,它应该是相同的支持编译线,以防万一我把目标SDK版本为25以及选项卡Flavors。

 dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') androidTestCompile('com.android.support.test.espresso:espresso- core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) *compile 'com.android.support:appcompat-v7:25.3.1'* compile 'com.android.support.constraint:constraint-layout:1.0.2' testCompile 'junit:junit:4.12' *compile 'com.android.support:design:25.3.1'* } 

那就是我所做的和工作的。 祝你好运!

答案是可以接受的,但是你也可以做的一件事是从你的项目结构中定义库。 你可以做的是:

  1. 评论出现问题的所有图书馆
  2. 转到您的项目结构
  3. 从那里添加库,它会自动同步,问题就会消失。
  4. 如果问题仍然存在,请按照上述3个步骤,从错误日志中查找需要什么库的库。

会发生什么是预定义的库现在closures现在我正在采取appcompat:26.0.0-alpha1它使用旧的东西,当你添加新的东西,并试图解决它与旧的东西。 当你从你的项目结构中添加它时,它会添加相同的东西,但用新的东西来解决它。 你的问题将得到解决。

你尝试阅读链接这个

错误:执行任务':app:processDevDebugManifest'失败。 清单合并失败:属性meta-data#android.support.VERSION@value value =(25.3.0)然后是usd VERSION 26.0.0

: https : //medium.com/@PongPloyAppDev/error-execution-failed-for-task-app-processdevdebugmanifest-48576be751

在这里输入图像说明