【问题标题】:Error:compileSdkVersion android-21 requires compiling with JDK 7错误:compileSdkVersion android-21 需要使用 JDK 7 编译
【发布时间】:2014-12-28 15:35:24
【问题描述】:

编译时我收到错误Error:compileSdkVersion android-21 requires compiling with JDK 7,说需要更新版本的JDK。

我在 OS X Yosemite 上运行 Android Studio v0.8.14

我检查的东西:

  1. Java 版本:

java version "1.8.0_25" Java(TM) SE Runtime Environment (build 1.8.0_25-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)

  1. 在 JavaVirtualMachine 文件夹中,我只能看到 1.6.0.jdk 文件夹,找不到任何其他文件夹。

  2. 尝试重新安装 JDK 8 和 7!

我找不到 jvm 1.8 的文件夹位置,不知道该如何解决。

【问题讨论】:

  • 我也有同样的问题。你找到解决办法了吗?
  • @EricCumbee 使用 Jdk 7 如下所示解决了该问题。
  • 这是第一次运行的体验很荒谬。

标签: android macos


【解决方案1】:

实际上我刚刚找到了解决方案 - JDK 7 在 /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home 中。

这让它对我有用。 Oracle Docs on where JDK7 is installed

【讨论】:

  • 我看不到这个文件夹!我的只显示这个文件夹1.6.0.jdk
  • 我不记得 Android Studio 最初在哪里寻找,但 1.7 JDK 文件夹与 1.6.0jdk 不在同一目录树中。
  • @Arjun 和你一样困惑。但是后来我才意识到JDK 7的“Java”目录实际上位于/Library/Java而不是/System/Library/Java与我的JDK 6分开
  • 那么用简单的英语来说,你实际上做了什么来解决这个问题?
  • {ROOT}/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/
【解决方案2】:

我分享这个是因为我想帮助那些在谷歌搜索错误时发现这个问题的人。互联网上的大多数其他“答案”都非常耗时。在您像我一样浪费这么多时间之前,请遵循以下内容。


我所做的是下载JDK 7

然后将jdk的设置更改为1.7.0

【讨论】:

    【解决方案3】:

    我也遇到过这个问题。到目前为止,我找不到修复它的方法,所以我求助于将最高 SDK 版本更改为 20,它适用于 JDK6。

    至于文件位置,而不是 Android Studio 假设它应该在 /System/Library/Java/JavaVirtualMachines/Insert JDK version/Contents/Home。

    实际上,我的 JDK 安装在 /Library/Java/JavaVirtualMachines/JDK 版本在此处/Contents/Home。

    试图在安装它的实际目录中选择一个 JDK,这会使 android studio 说我需要选择一个有效的 JDK 位置。目前我找不到修复程序,所以就像我上面所说的,我已经将最高 SDK 版本更改为 20 而不是 21,并且它将保持这种状态,直到更多人遭受该错误的困扰,以便 Google 修复它。或者直到一个实际的修复被发布到网上,而不是 101 种方法让它不起作用。

    希望这对现在有所帮助,这并不是真正的解决方案/答案,但它是一种暂时对我有用的解决方法。

    【讨论】:

      【解决方案4】:

      此问题的确切修复(Mac 上的 Android Studio 用户)

      如果您已经升级到 Java 8,请注意 JDK 的位置现在位于 /Library/Java 内,而 Java 6 的位置是 /System/Library/Java。因此,要解决此问题,请右键单击 Project 文件夹 > Project Structure > SDK Location.

      然后将JDK位置更改为

      /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home
      

      如果您安装了不同的 JDK 版本(Java 8 除外),请先使用 java_home 脚本找出路径并使用输出。快跑吧,

      /usr/libexec/java_home 
      

      【讨论】:

      • 感谢@Subin For Android studio 1.0.1 SDK Location 位于File > Project Structure 或直接点击Command + ;
      • android studio 用户的完美答案..救了我
      • 下面提到的路径对我有用 /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home
      • 我认真地一直查看我的位置并认为它很好,但一直看到 jdk1.6,直到我意识到你的意思是确保你在 /Library/Java 而不是 /System/Library/ Java 我很容易找到 jdk1.8 来进入 Contents/Home 并繁荣,现在 Android Studio 可以正常工作而不会出现持续错误。你是圣人!
      • 这也适用于 Windows!只需指向JDK安装即可。示例:C:\Program Files\Java\jdk1.8.0_51
      【解决方案5】:

      我发现 Eric 和 Subin 的答案结合在一起解决了我的问题:

      即需要将 java JDK 设置为 Eric 的答案(假设您使用的是 JDK 7):

      /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home.

      我犯的错误是我尝试只选择 jdk1.7.0_71.jdk 目录,但一直收到错误消息“请选择有效的 JDK 目录”。

      我正在研究以前用于 JDK 6 的格式:( - 当我给它提供进入 Contents/Home 的完整路径时,它就起作用了。

      Subin 的回答告诉您如何找到您的 JDK 位置,这可能会因您要执行的操作而有所不同。

      感谢 Eric 和 Subin!

      【讨论】:

        【解决方案6】:

        我有一个解决方案。它也发生在我身上,我在谷歌上搜索了很多,但我得到的只是提示。很多提示。我想出了一个可靠的解决方案。

        这是因为计算机没有安装 JDK 7(或更高版本)。 AS/Configuration 中的 JDK 目录可能指向 JDK6。 (那个系统/库/...)

        您需要做的就是:

        1. 下载最新的 JDK。
        2. 安装它。
        3. 将Android Studio/Configure/Project Defaults/Project Structure/(JDK Location:)指向 /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home

        以粗斜体突出显示的文本可能会有所不同,因此建议您浏览一下。 希望这可以帮助。花了一整天的时间搞乱 gradle, android studio。编码愉快。

        【讨论】:

          【解决方案7】:

          如果您只有文件夹 1.6.0.jdk,请转到此 link 并下载并安装 jdk 1.7。然后在此路径中找到您的 java 文件夹

          /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
          

          【讨论】:

            【解决方案8】:

            此线程上的解决方案对于 Android Studio 1.4 中的相同错误无效。例如,首选项菜单消失了。以下是在 Ubuntu 14.04 上运行的 Android Studio 1.4 的解决方案。

            要在 Ubuntu 14.04+ 和 Android Studio 1.4+ 中解决,你需要去

            文件 -> 其他设置 -> 默认设置 -> 构建、执行、部署 -> 编译器 -> Java 编译器 -> 项目字节码版本

            此下拉菜单默认为空。

            设置为您首选的 JDK,在下面的屏幕截图中为 1.8 。

            瞧,你的项目将编译。

            【讨论】:

              【解决方案9】:
              1. 下载from here最新的JDK。
              2. 打开命令行工具。
              3. 将以下行复制并粘贴到您的命令行工具中,然后按回车键。

              /usr/libexec/java_home

              1. 复制此命令的输出。
              2. 返回到您的 android 项目,然后导航如下

              文件->项目结构->JDK位置

              编辑(单击带有三个点的正方形)JDK位置(图像中的第二个)并将命令行工具输出粘贴到那里。

              我使用 MacBook Pro 收集了这些说明。

              【讨论】:

                猜你喜欢
                • 2015-01-02
                • 2014-08-19
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2016-10-22
                • 1970-01-01
                • 2013-10-01
                • 1970-01-01
                相关资源
                最近更新 更多