我该如何解决?我已经尝试删除R.java并通过eclipse清理项目,但它没有帮助。
仅供参考我想从这里获取PhotoStream:http://code.google.com/p/apps-for-android/,但到目前为止,让事情变得非常困难。
答案 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
答案 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;
是相同的,所以请注意额外的空格。谢谢