java - Eclipse 不构建针对 5.0 Lollipop 的 Android 项目

标签 java android eclipse android-5.0-lollipop android-build

我使用 Eclipse (Kepler) 中的 SDK 管理器更新了 Android SDK。当我将构建目标更改为 Android 5.0 Lollipop 时,Eclipse 不再构建项目。清理项目后,“gen”文件夹变为空,并且不会再次生成 R.java 和其他文件,尽管我启用了“自动构建”。手动运行“Build Project”或“Build All”也不起作用。我不认为这是由源代码或资源文件错误引起的,因为当我将构建目标更改为任何较旧的 Android 版本(20 及以下)时,它会重新开始构建。

SDK 更新几乎包含所有内容,包括最新的构建工具 (21.1.1)、SDK 工具 (23.0.5)、平台工具 (21),当然还有 Android 5.0 (API 21) 本身。我使用的计算机运行 Windows Vista Home Premium SP2(32 位)。我也尝试在我的 Mac 上编译相同的项目,但没有这样的问题。

谁能看出哪里出了问题?


2014 年 11 月 24 日更新:

我在 Windows -> 首选项 -> Android -> 构建 -> 构建输出中打开了构建过程的详细日志记录 - 详细。启用“自动构建”且 Android 构建目标为 5.0(级别 21)时,我只有两行输出:

Removing generated java classes.
Starting full Package build.

但是,当我将构建目标更改为 Android 4.4.2(级别 19)时,输出很长。


2014 年 12 月 1 日更新:

感谢@sagis,我现在能够构建针对 Android 5.0 的 Android 项目。起初我试图只更改“已安装的 JRE”和“编译器”首选项,但没有成功。所以 sagis 是对的,我必须卸载现有的 JRE(实际上我也卸载了 JDK)。

我在这个过程中遇到的其他问题:

  1. Eclipse 在卸载 JRE 后无法启动。使用 this SO thread 中的解决方案已解决.
  2. 将项目特定的 Java 编译器版本更改为 1.8 是行不通的。这意味着您必须选中“启用项目特定设置”(右键单击项目名称 -> Java 编译器),并选择 1.8 以外的项目特定“编译器合规级别”。

最佳答案

通过迁移到 JRE 1.8 解决了完全相同的问题

在将项目构建目标设置为 Android 5 并重新启动 Eclipse 后出现以下错误提示这是问题所在:

Parsing Data for android-21 failed unsupported major.minor version 51.0

这就是我所做的,希望对您有所帮助(Windows 7 x64、Eclipse x64、JREs x64):

  1. 卸载所有现有的 JRE。
  2. 验证运行“cmd”时没有“java”命令。
  3. 安装 JRE 8
  4. 运行 Eclipse。
  5. "Window"=> "Preferences"=> "Java"=> "Installed JREs"=> 验证它指向新文件夹。
  6. "Window"=> "Preferences"=> "Java"=> "Compiler"=> Set to compiler compliance 1.8
  7. 有些项目没有编译,使用右键单击项目,“Android 工具”=>“修复项目属性”。

注意事项:

  1. 确保根据您的 Windows 和 Eclipse 版本使用正确的 JRE 版本(x86 与 x64)。

关于java - Eclipse 不构建针对 5.0 Lollipop 的 Android 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27050524/

相关文章:

android - 在 Android 应用程序中使用 MonkeyRunner?

java - 使用 Java 构建 JSON 会覆盖值

java - 我如何为 Websphere MQ 创建自定义 channel 以及如何使用 Java 客户端程序进行配置

java - 用正则表达式测试字符串?

android - Eclipse ADT 正式被废弃了吗?

java - 使用 eclipse 调试 Maven 构建的更短方法

eclipse - RCP 产品中的 XText

java - JFugue Java 音乐 API 在 Android 中的实现

java - Android DDMS 和分配跟踪 - 确定导致 GC 触发的原因及其原因

android - 如何在android中维护微调器状态