2012-05-24 110 views
0

我收到R无法解决的错误。我读R cannot be resolved - Android error。但有android.R文件。 如果.java文件包含导入com.companyname.productname.R语句,我的项目将进行编译。 如果我在AndroidManifest.xml中更改产品名称,则会出现很多说明包com.companyname.productname不存在的错误。 我试图删除所有导入com.companyname.productname.R行,但后来我得到包R不存在R *线上的错误。我该如何解决这个问题?谢谢。我必须导入com.companyname.productname.R吗?

更新:
那么答案是肯定的,我必须导入com.companyname.productname.R。在AndroidManifest中更改productname后,我设法编译了项目,并使用新产品名查找并替换了所有导入的com.companyname.productname.R语句。

+0

清理您的项目。您需要导入您在manifest.xml中使用的软件包。 –

+0

如何在intellij想法中清理项目? –

回答

2

您定制的R类是基于AndroidManifest中的包名称生成的。因此,如果您在那里更改它,它将使用新的软件包名称重新生成。

因此,请确保您导入正确的并删除所有旧的导入。

如果您未生成R类,则应检查资源文件和/或AndroidManifest中的XML错误。修复那里的问题,你的R文件应该重新生成。

+1

这是最后一段,通常会让人起来。与XML语法错误一样,XML中的问题不会显示在Eclipse中。在Eclipse中打开错误日志视图(Window-> Show View)或使用命令行构建来查看这是否是您的问题。 –

+0

@EricCloninger true。我更喜欢Problems View,因为错误日志可能包含可能会混淆新用户的旧错误。我没有提到它,因为OP不使用Eclipse而是使用IDEA。 – WarrenFaith