Android 要求编译器合规级别为 5.0 或 6.0。而是找到了“1.7”。请使用 Android 工具 > 修复项目属性

Posted

技术标签:

【中文标题】Android 要求编译器合规级别为 5.0 或 6.0。而是找到了“1.7”。请使用 Android 工具 > 修复项目属性【英文标题】:Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead. Please use Android Tools > Fix Project Properties 【发布时间】:2011-11-30 00:44:02 【问题描述】:

有没有人有类似的问题,我导入android项目,我得到了 像

这样的错误
[2011-10-03 17:20:09 - Screen] Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead. Please use Android Tools > Fix Project Properties.
[2011-10-03 17:21:55 - App] Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead. Please use Android Tools > Fix Project Properties.
[2011-10-03 17:21:59 - App] Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead. Please use Android Tools > Fix Project Properties.

删除所有@Override 上述函数时出错。我有 Windows 7 x64,jvm7 x64。有谁知道出了什么问题?(我完成了 Android 工具 -> 修复项目属性但没有帮助)

【问题讨论】:

您是否检查了项目的 Eclipse 编译器合规性设置? Example Android SDK 似乎无法将 1.7 识别为 Java7(然后与它需要的兼容)。尝试将项目兼容性设置为 Java6 :) 【参考方案1】:

这不是问题,杰克。 Android SDK 不是 x64,但可以与 x64 jvm(和 x64 eclipse IDE)一起使用。

正如 helios 所说,您必须将项目兼容性设置为 Java 5.0 或 Java 6.0。

为此,有 2 个选项:

    右键单击您的项目并选择"Android Tools -> Fix Project Properties"(如果这不起作用,请尝试第二个选项) 右键单击您的项目并选择"Properties -> Java Compiler",勾选“启用项目特定设置”并选择 1.5 或 1.6 来自 “编译器合规性设置” 选择框。

【讨论】:

在我的情况下(我正在尝试编译 OpenFeint Android 示例)禁用“启用项目特定设置”代替了。 当我使用第一个选项时,项目的 R.java 被自动删除 不要使用第一个选项,因为它会将编译器设置为 1.5,这在大多数情况下还不够“好”。最好的方法是通过转到工具 -> 首选项 -> Java 编译器并从下拉列表中选择 1.6 来更改整个工作区的编译器合规级别。 但是如果你想要编译器 1.7 并且仍然得到这个错误怎么办?你怎么能解决这个问题? Google 刚刚发布了Eclipse ADT 22.6 Preview 他们还推出了新的ADT Bundle with Eclipse Kepler 4.3 您现在可以使用JDK 7 编译您的Android 项目,也可以使用JDK 7 的功能。只要确保两件事:( 1)您在 JDK 7 上运行 Eclipse(2)您的 Android 项目是针对 Android Build Target 编译的 API 19。【参考方案2】:

    进入项目文件夹右键-> properties ->勾选只读框并点击确定

    右键单击您的项目并选择"Android Tools -> Fix Project Properties"

    右键单击您的项目并选择"Properties -> Java Compiler",选中"Enable project specific settings",然后从“编译器合规性设置”选择框中选择1.5 或1.6。 (以防万一,一一尝试所有关卡)

    Window -> Preferences -> Java -> Compiler 下,将编译器合规级别设置为 1.6 或 1.5。

希望它能解决问题。

【讨论】:

可能已回答,但在 Windows 文件系统(项目的文件夹位置)中,右键单击并将“只读”复选框设置为未选中。这解决了我的问题!【参考方案3】:

我会推荐使用 x86 版本的 jvm。当我第一次拿到我的新笔记本电脑(x64)时,我想一直使用 x64(jvm、jdk、jre、eclipse 等)。但是一旦我完成了所有设置,我意识到 Android SDK 不是 x64,所以我遇到了问题。回到x86 jvm应该没问题。

编辑:2013 年 11 月 14 日

我看到了一些最近的活动,并想我会详细说明一下。

我没有说它不适用于 x64,我只是建议使用 x86。

这是一篇关于 x64 JDK 的优点/缺点的好文章。 Benefits of 64bit Java platform

思考过程:为了什么目的?为什么我要尝试使用 64 位 JDK?仅仅因为我有一个 64 位操作系统?我需要 64 位 JDK 的任何功能吗? 64 位 JDK 中是否有任何额外功能?!这他妈怎么不好好在一起玩啊!?他妈的,我要 32 位。

【讨论】:

【参考方案4】:

正在做 Project -> Clean... 为我修复了它。

我的 Eclipse 停止工作,所以我清理了 workspace 目录,在我导入项目时运行 eclipse 后,我遇到了这个问题。此处建议的其他解决方案无效。

【讨论】:

【参考方案5】:

对于大多数人在修复项目属性后仍然收到错误,您可能在设置环境时安装了 Java 7 SDK,但目前不支持 Android 开发。

如错误信息所示,您应该安装了 Java 5.0 或 6.0,但发现了 Java 7。

如果您在未先安装 Java 5 或 6 的情况下修复项目属性,您将再次看到相同的错误。

首先,请确保您已安装或安装 Java SDK 5 或 6。 检查您的环境变量 (JAVA_HOME) 是否指向 SDK 5/6。

然后:

检查 Eclipse 是否默认使用 SDK 5/6(Window => Prefs. => Java => Compiler 禁用项目特定设置(项目属性 => Java 编译器) 修复项目属性

默认使用 JDK 7 离开 Eclipse。 启用项目特定设置(项目属性 => Java 编译器) 选择 Compiler Compliance 1.5 或 1.6(项目属性 => Java Compiler)

【讨论】:

【参考方案6】:

我同意 BMSAndroidDroid 和 Flo-Schield-Bobby。我正在做一个名为 DailyQuote 的教程,并使用了 Cordova 库。然后,我将操作系统从 Windows 更改为 Ubuntu,并尝试将项目导入 Eclipse,(我使用 Eclipse Juno 64 位,Ubuntu 12.04 64-bit,Oracle JDK 7。我还安装了 Ubuntu 32 位库,所以没有问题64 位和 32 位),并且遇到了同样的问题。

按照 Flo-Scheild-Bobby 的建议,打开配置构建路径并再次添加您之前添加的 jar。然后删除旧的 jar 链接就可以了。

【讨论】:

【参考方案7】:

我使用以下两个程序解决了这个问题:

    在 Eclipse->'Project' 菜单 -> 'Java Compiler' -> 设置'Compiler compliance level' = 1.6 检查“使用默认合规性设置” 设置“生成的 .class 兼容性”= 1.6 设置“源兼容性”= 1.6

    然后进入 'Windows' 菜单 --> 'Preferences' -->'Java' ,展开 'Java' --> 'Compiler' -->设置 'Compiler compliance level' = 1.6

提示:源兼容性必须等于或低于合规级别。

【讨论】:

不要使用 SO 来宣传您的网站。【参考方案8】:

我建议您检查 jar 文件是否正确包含在您的项目中。有可能在没有jar文件的情况下,项目不会被编译

【讨论】:

【参考方案9】:

正如BMSAndroidDroid所说,这个问题可能是由于构建路径配置错误造成的。

如果您在构建路径中包含了一些库,然后移动这些库,构建路径将保留错误的引用,在编译期间不会找到这些库,您将收到错误消息。

要修复它,请右键单击您的项目文件夹 > 构建路径 > 配置构建路径 然后查看库选项卡,并删除旧库。

【讨论】:

【参考方案10】:

在我的情况下,从 openjdk7 切换到 openjdk6 会有所帮助。之后我将合规级别更改为 1.6 并且编译正常。

【讨论】:

【参考方案11】:

我遇到这个问题是因为我的debug.keystore过期了,所以我删除了.android文件夹下的debug.keystore,eclipse会重新生成一个新的debug.keystore,然后我修复了这个

【讨论】:

【参考方案12】:

以下对我有用

Enable project-specific settings and set the compliance level to 1.6

你怎么能这样做?

在您的 Eclipse Package Explorer 中,第三次单击您的项目并选择 properties。属性窗口将打开。选择窗口左侧面板上的Java Compiler。现在Enable project specific settings 并将Complier compliance level 设置为1.6。选择Apply,然后选择OK

【讨论】:

以上是关于Android 要求编译器合规级别为 5.0 或 6.0。而是找到了“1.7”。请使用 Android 工具 > 修复项目属性的主要内容,如果未能解决你的问题,请参考以下文章

Android SDK 可以与 JDK 1.7 一起使用吗?

Android SDK 可以与 JDK 1.7 一起使用吗?

m2eclipse 将 JDK 合规性设置为 1.4

Braintree Android - 使用 Cardbuilder 在 SAQ A PCI 合规级别添加信用卡

Eclipse 中所有 API 级别的 Android 5.0 FAB 按钮

如果我在 API 级别 21 (5.0) 上制作应用程序,它是不是适用于较新版本的 android?