类型R已定义错误

时间:2011-03-12 15:28:21

标签: android eclipse

enter image description here 我该如何解决?我已经尝试删除R.java并通过eclipse清理项目,但它没有帮助。

仅供参考我想从这里获取PhotoStream:http://code.google.com/p/apps-for-android/,但到目前为止,让事情变得非常困难。

6 个答案:

答案 0 :(得分:45)

好的..... 5分钟之后谷歌告诉我正确答案......

http://www.fairtec.at/en/it-blog-mainmenu-16/168-the-type-r-is-already-defined

我只是没有足够的搜索。

  

“类型R已定义”

     

如果您尝试构建Funambol Android Sync Client,那么这就是您在Eclipse中获得的消息。   原因是您检查了两个尝试生成相同类的构建器。   您只需从Project-> Properties-> Builders中取消选中Java-Builder。   然后应用程序甚至可以在模拟器中正常工作。

答案 1 :(得分:8)

从src文件夹中删除R.java并重建项目。在此过程中,此文件将自动重新启动。

答案 2 :(得分:7)

http://www.fairtec.at/en/it-blog-mainmenu-16/168-the-type-r-is-already-defined

  1. 点击右键以点击项目点击属性
  2. 项目 - >属性 - >助洗剂
  3. unckeck java Builder
  4. 删除文件R.java

答案 3 :(得分:3)

您可能想要更改包名称。看起来你正在使用'PhotoStream'.jar,它的R.class定义在与你相同的包结构中。

以下是Google Code上项目的R.java链接。请注意您使用的是相同的包: http://code.google.com/p/apps-for-android/source/browse/trunk/Photostream/src/com/google/android/photostream/R.java?r=83

答案 4 :(得分:2)

我从工作中导入项目时遇到了同样的问题。按照您发现修复我的问题的文章中的建议关闭Java构建器,但是当我进行代码更新时,它们没有反映在正在运行的应用程序中。在我的情况下,我的源代码中有一个R.java,我删除了它并解决了我的问题。

答案 5 :(得分:1)

就我而言,

因为我没有使用任何IDE进行编程,而是使用命令行Android ..

我有两个xml文件,一个在布局中,另一个在layout-land中。我同时使用相同的ID“XXX”,但在声明我犯了小错误的时候

android:id="@+id/XXX" (in layout xml)
android:id="@+id/XXX " (in layout-land xml)

请注意第二个id声明中的额外空格,因此在创建R.java时它们是不同的,而在R.java中我有

public static final int XXX=0x7f040046;
public static final int XXX =0x7f040045;

是相同的,所以请注意额外的空格。谢谢