我们有一个共享的intellij项目,我们用它来构建我们的Android应用程序。最近有一个人(超过10个人)遇到了构建错误:
android-apt-compiler: [ui] <path>\strings.xml:454: error: Resource entry <name> is already defined.
调查一下,确定字符串资源的重复定义都在同一个strings.xml文件中。这些应该是固定的,因为这根本没有意义。
但这是我不明白的事情:尽管strings.xml中有重复的条目,但其他人都可以构建得很好。我假设我们无法看到我们的全局或项目设置(尽管项目被共享)之间存在一些差异。
任何想法在哪里看?谢谢。
答案 0 :(得分:1)
我能够通过降级到IntelliJ 13.0.3并从maven重新导入我的项目来解决问题。 YMMV
答案 1 :(得分:0)
我们今天遇到了类似的问题。当我们的一个开发人员第一次尝试构建项目时,构建失败,引用strings.xml中的重复节点。确实在strings.xml中有重复项,但这之前并不是问题,其他人都可以使用相同的strings.xml构建相同的项目而不会出现问题。
在我们的案例中,解决方案是在intellij项目的“项目结构”设置中找到的。我们的项目引用了其他一些“Android库”项目,但是无法构建的开发人员没有在相关模块的“Android”配置节点中勾选“库项目”复选框。勾选此复选框后,项目成功构建,我们确认取消选中该框将导致编译失败。
我不能说为什么这个选项会产生这种效果,但在我们的情况下,这就是解决方案。