【问题标题】:Must I import com.companyname.productname.R?我必须导入 com.companyname.productname.R 吗?
【发布时间】:2012-05-24 13:08:47
【问题描述】:

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

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

【问题讨论】:

  • 清理你的项目。您需要导入您在 manifest.xml 中使用的包。
  • 如何在intellij idea中清理项目?

标签: android intellij-idea r.java-file


【解决方案1】:

您的自定义 R 类是根据您的 AndroidManifest 中的包名称生成的。因此,如果您在那里更改它,它将使用新的包名称重新生成。

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

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

【讨论】:

  • 最后一段通常会让人绊倒。 XML 中的问题不会像 Java 语法错误那样明显地出现在 Eclipse 中。在 Eclipse 中打开错误日志视图(Window->Show View)或者使用命令行构建看看这是不是你的问题。
  • @EricCloninger 是真的。我更喜欢问题视图,因为错误日志可能包含可能使新用户感到困惑的旧错误。我没有提到它,因为 OP 不使用 eclipse 而是使用 IDEA。
猜你喜欢
  • 2016-06-18
  • 1970-01-01
  • 1970-01-01
  • 2021-02-14
  • 2012-03-31
  • 2017-03-12
  • 2013-10-05
  • 2011-07-02
  • 1970-01-01
相关资源
最近更新 更多