我准备使用RecyclerView,在dependencies导入RecyclerView-v7后gradle build出现以下错误。
Error:Execution failed for task ':app:processDebugManifest'.
Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(25.3.1) from [com.android.support:appcompat-v7:25.3.1] AndroidManifest.xml:27:9-31
is also present at [com.android.support:recyclerview-v7:26.0.0-alpha1] AndroidManifest.xml:24:9-38 value=(26.0.0-alpha1).
Suggestion: add 'tools:replace="android:value"' to element at AndroidManifest.xml:25:5-27:34 to override.
按照提示在meta-data标签添加tools:replace="android:value"也没有用,会报以下错误。
Error:Execution failed for task ':app:processDebugManifest'.
Manifest merger failed with multiple errors, see logs
换一个supportV7包,或删掉几个support包换成一个最大的V13的包试试?
根据我的经验就是资源冲突引起的,按照建议加上tools:replace="android:value"就可以了。请确定是在原始文件修改的,编译报错跳转过去的文件是编译过程中生成的文件,修改那个是没用的。
找到解决方法了,在build.gradle(module:app)的最后面加入这一段:
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.support:appcompat-v7:25.3.1和android.support:recyclerview-v7:26.0.0-alpha1有冲突,改用android.support:appcompat-v7:23.4.0就没问题了。