Intellij IDEA 14 - 包 R 不存在
Intellij IDEA 14 - Package R does not exist
好吧,我知道以前有人问过这个问题,但在浏览其他答案时:
IntelliJ IDEA - Can't build anything, always get "package R does not exist"
Error: java: package R does not exist
等等
none 个解决方案有效。
这是针对至少在过去几天之前构建良好的项目,因此导致问题的原因一定是新的。
症状:
尝试构建 > 重建项目失败。我在状态栏中看到编译生成源的步骤,但下一个编译步骤失败并出现可怕的 "java: package R does not exist."
R在IDE中发现还好,所以只是编译失败,说明生成的源码编译有问题。 out/production/[module] 目录中只显示了一些资源文件,没有编译的 classes,"generated" sbupackage 中没有任何内容,没有 apk,这似乎证明了这一点文件。
有趣的是,当我将 phone 连接到计算机并尝试 运行 设备上的应用程序时,会发现新的更改,因此某处正在成功构建某些东西。
我尝试过的事情:
根据我尝试过的其他主题:
- 正在进行全面重建。
- 重新启动 IntelliJ(包括使缓存失效)
- 正在重新启动计算机。
- 正在检查 gen 包是否包含在源代码下。
- 正在检查任何排除项(有 none)
- 删除存根 R 文件并强制 IntelliJ 重新生成它(它立即执行)
- 确认模块上有一个 Android 方面。
- 仔细检查清单 xml 文件是否未更改以及引用的 activity 是否正确。
- 已检查排除输出路径未被选中(它是灰色的,因为我从项目编译路径继承,但我尝试切换并手动取消选中它...没有运气)。
xml 最近的唯一变化是:
- 菜单文件中的新项目。我尝试删除它以查看是否存在某种问题,即使没有报告任何错误,但问题仍然存在。
- 我将视图 class 移动到其先前包的子包中。该视图 class 在布局 xml 中被引用一次,我确认 xml 已更新为新的包名称。
所以在这一点上我没有想法。很抱歉重复一个有点常见的问题。
我有同样的问题,它肯定与 IDE 的上次更新有关。我的版本是 IU-139.1117.1
在更新之前 Build -> 'Rebuild Project' 在 windows 和 mac 安装中工作正常 IDE。我先更新了 windows,'Rebuild Project' 显示了错误 'Package R does not exist',即使对于新的 Android 项目也是如此。更新后立即在 mac 安装中出现同样的错误。构建菜单上的 'Make project'、'Make module' 和 'Compile' 命令都工作正常,没有错误,只有 'Rebuild project' 引发错误。
对于新的 Gradle Android 项目,一切正常。上次更新好像有问题
尝试文件 |使缓存无效。这解决了我的问题。
在 IDEA 14.0.3 (http://youtrack.jetbrains.com/issue/IDEA-135234) 中报告了问题。
您可以尝试 Compile Module (Ctrl-Shift-F9)
包含缺少 R 文件的模块。它对我有用(但每次我 add/remove 资源中的项目时我都必须这样做)。
不要使用 Rebuild Project,使用 Make Project 并刷新您的项目,也许您应该多尝试几次。
如果您等不及官方稳定版,请从 https://confluence.jetbrains.com/display/IDEADEV/IDEA+14+EAP
安装 IDEA EAP 14.0.4(IntelliJ IDEA 14.0.4 EAP build 139.1408,2015 年 2 月 20 日发布)
我刚刚解决了所有问题并重新构建项目。
已通过 intelliJ IDEA 14.1 更新解决,现已可用。
我今天在 Windows 7 box 和 Java 7 Gradle 项目上遇到了同样的问题,使用的是 IntelliJ 14.1.5。
问题是类路径不知何故是 "too long",但 IntelliJ 只给了我那些奇怪的 "java: package foo does not exist" 编译错误。
通常的技巧(另见上文)没有帮助。
解决方法是稍微缩短类路径,在我的例子中,将 GRADLE_USER_HOME 设置为 c:/.gradle(在 c:/users/myusername/.[=25= 之前) ]).重新同步 gradle 项目后一切正常。
问题显然是 IMO 某种 windows 文件系统路径长度限制。
好吧,我知道以前有人问过这个问题,但在浏览其他答案时:
IntelliJ IDEA - Can't build anything, always get "package R does not exist"
Error: java: package R does not exist
等等
none 个解决方案有效。
这是针对至少在过去几天之前构建良好的项目,因此导致问题的原因一定是新的。
症状:
尝试构建 > 重建项目失败。我在状态栏中看到编译生成源的步骤,但下一个编译步骤失败并出现可怕的 "java: package R does not exist."
R在IDE中发现还好,所以只是编译失败,说明生成的源码编译有问题。 out/production/[module] 目录中只显示了一些资源文件,没有编译的 classes,"generated" sbupackage 中没有任何内容,没有 apk,这似乎证明了这一点文件。
有趣的是,当我将 phone 连接到计算机并尝试 运行 设备上的应用程序时,会发现新的更改,因此某处正在成功构建某些东西。
我尝试过的事情:
根据我尝试过的其他主题:
- 正在进行全面重建。
- 重新启动 IntelliJ(包括使缓存失效)
- 正在重新启动计算机。
- 正在检查 gen 包是否包含在源代码下。
- 正在检查任何排除项(有 none)
- 删除存根 R 文件并强制 IntelliJ 重新生成它(它立即执行)
- 确认模块上有一个 Android 方面。
- 仔细检查清单 xml 文件是否未更改以及引用的 activity 是否正确。
- 已检查排除输出路径未被选中(它是灰色的,因为我从项目编译路径继承,但我尝试切换并手动取消选中它...没有运气)。
xml 最近的唯一变化是:
- 菜单文件中的新项目。我尝试删除它以查看是否存在某种问题,即使没有报告任何错误,但问题仍然存在。
- 我将视图 class 移动到其先前包的子包中。该视图 class 在布局 xml 中被引用一次,我确认 xml 已更新为新的包名称。
所以在这一点上我没有想法。很抱歉重复一个有点常见的问题。
我有同样的问题,它肯定与 IDE 的上次更新有关。我的版本是 IU-139.1117.1 在更新之前 Build -> 'Rebuild Project' 在 windows 和 mac 安装中工作正常 IDE。我先更新了 windows,'Rebuild Project' 显示了错误 'Package R does not exist',即使对于新的 Android 项目也是如此。更新后立即在 mac 安装中出现同样的错误。构建菜单上的 'Make project'、'Make module' 和 'Compile' 命令都工作正常,没有错误,只有 'Rebuild project' 引发错误。 对于新的 Gradle Android 项目,一切正常。上次更新好像有问题
尝试文件 |使缓存无效。这解决了我的问题。
在 IDEA 14.0.3 (http://youtrack.jetbrains.com/issue/IDEA-135234) 中报告了问题。
您可以尝试 Compile Module (Ctrl-Shift-F9)
包含缺少 R 文件的模块。它对我有用(但每次我 add/remove 资源中的项目时我都必须这样做)。
不要使用 Rebuild Project,使用 Make Project 并刷新您的项目,也许您应该多尝试几次。
如果您等不及官方稳定版,请从 https://confluence.jetbrains.com/display/IDEADEV/IDEA+14+EAP
安装 IDEA EAP 14.0.4(IntelliJ IDEA 14.0.4 EAP build 139.1408,2015 年 2 月 20 日发布)我刚刚解决了所有问题并重新构建项目。
已通过 intelliJ IDEA 14.1 更新解决,现已可用。
我今天在 Windows 7 box 和 Java 7 Gradle 项目上遇到了同样的问题,使用的是 IntelliJ 14.1.5。
问题是类路径不知何故是 "too long",但 IntelliJ 只给了我那些奇怪的 "java: package foo does not exist" 编译错误。
通常的技巧(另见上文)没有帮助。
解决方法是稍微缩短类路径,在我的例子中,将 GRADLE_USER_HOME 设置为 c:/.gradle(在 c:/users/myusername/.[=25= 之前) ]).重新同步 gradle 项目后一切正常。
问题显然是 IMO 某种 windows 文件系统路径长度限制。