在我的android项目中,我使用的库很少。关键是我正在添加一个新的,例如:
compile(group: 'com.example', name: 'example_sdk', version: '+', ext: 'aar') {
transitive = true;
}
尝试构建项目我从gradle得到了下一个输出错误:
d:\ AndroidStudioProject \ MyProject的\ RES \值-w820dp \ dimens.xml 错误:(2)已经定义了资源条目activity_horizontal_margin。 d:\ AndroidStudioProject \ MyProject的\建立\中间体\分解-AAR \ com。示例\ example_sdk \ 3.2.7 \ RES \值-w820dp-V13 \值-w820dp-v13.xml 错误:(2,1)最初在这里定义。 错误:任务':processMyAppUniversalDebugResources'的执行失败。 com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:处理'命令'D:\ Tools \ Android_SDK \ build-tools \ 23.0.1 \ aapt.exe''以非完成零退出值1
我的猜测是,在某些库中,我们有默认定义的值-w820d / dimen.xml,它们是冲突的。但问题是如何合并它们,因为关键是相同的。
values-w820d/dimen.xml content :
<resources>
<!-- Example customization of dimensions originally defined in res/values/dimens.xml
(such as screen margins) for screens with more than 820dp of available width. This
would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). -->
<dimen name="activity_horizontal_margin">64dp</dimen>
当我将activity_horizontal_margin
重命名为activity_horizontal_margin_default
时 - 我的项目已解决冲突,但与其他库发生冲突。
也许我可以添加一些gradle-override属性或修改gradle脚本来忽略它?
答案 0 :(得分:1)
当我问这个问题时,我已经做了一个解决方法。我在activity_horizontal_margin
内有两个具有默认定义values-w820d/dimen.xml
值的冲突库。因此,其中一个库是本地的.aar - 我解压缩并删除了冲突的文件,之后将其压缩回来并解决了问题。这种方法并不那么优雅 - 但它对我有用。我在等待更好的解决方案,但它没有来。所以这种混乱应该由图书馆开发人员处理。以下是Xavier Ducrohet的有用答案:
https://stackoverflow.com/a/16351116/3874721