【发布时间】:2016-03-14 13:45:09
【问题描述】:
在我的 android 项目中,我使用了几个库。关键是当我添加一个新的时,例如:
compile(group: 'com.example', name: 'example_sdk', version: '+', ext: 'aar') {
transitive = true;
}
在尝试构建项目时,我从 gradle 得到下一个输出错误:
D:\AndroidStudioProject\MyProject\res\values-w820dp\dimens.xml 错误:(2) 资源条目 activity_horizontal_margin 已定义。 D:\AndroidStudioProject\MyProject\build\intermediates\exploded-aar\com.example\example_sdk\3.2.7\res\values-w820dp-v13\values-w820dp-v13.xml 错误:(2, 1) 最初在这里定义。 错误:任务“:processMyAppUniversalDebugResources”执行失败。 com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'D:\Tools\Android_SDK\build-tools\23.0.1\aapt.exe'' 完成非零退出值 1
我的猜测是,在某些库中,我们有默认定义的值-w820d/dimen.xml,它们是冲突的。但是问题是如何合并它们,因为key是一样的。
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 脚本以忽略这一点?
【问题讨论】:
标签: android gradle android-gradle-plugin build.gradle