Ошибка: compileSdkVersion android-21 требует компиляции с JDK 7

106

При компиляции я получаю сообщение об ошибке 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, не знаю, как я могу это исправить.

Арджун Комат
источник
У меня такая же проблема. Вы нашли решение этого?
gsueagle2008 03
@EricCumbee Использование Jdk 7, как показано ниже, решило проблему.
Arjun Komath
4
Абсурдно, что это первый опыт.
Энди

Ответы:

224

Точное решение этой проблемы (пользователи Android Studio на Mac)

Если вы уже выполнили обновление до Java 8, обратите внимание, что местоположение JDK теперь находится внутри /Library/Javaпо сравнению с местоположением Java 6 /System/Library/Java. Таким образом , чтобы решить эту проблему, щелкните правой кнопкой мыши на Project folder> Project Structure>SDK Location.

Затем измените местоположение JDK на

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

Если вы установили другую версию JDK (отличную от Java 8), java_homeсначала найдите путь с помощью сценария и используйте вывод. Просто беги,

/usr/libexec/java_home 
Субин Себастьян
источник
10
Спасибо @Subin за Android studio 1.0.1 SDK Местоположение находится в File > Project Structureили просто нажмитеCommand + ;
Хусам
1
Идеальный ответ для пользователей студии android .. спас меня
рейдисаки
указанный ниже путь сработал для меня /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home
Teja Swaroop
2
Я серьезно смотрел на свое местоположение и думал, что все в порядке, но продолжал видеть jdk1.6, пока не понял, что вы имели в виду, говоря, что вы находитесь в / Library / Java, а не в / System / Library / Java, где я легко нашел jdk1. 8, чтобы попасть в Contents / Home и бум, теперь Android Studio работает без постоянных ошибок. Ты святой!
ColossalChris
1
Это работает и для Windows! Просто укажите на установку JDK. Пример:C:\Program Files\Java\jdk1.8.0_51
ADTC
29

На самом деле я только что нашел решение - JDK 7 находится в /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home.

это заставило меня работать. Документы Oracle о том, где установлен JDK7

gsueagle2008
источник
2
Я не вижу эту папку! у меня отображается только эта папка1.6.0.jdk
Arjun Komath
Я не могу вспомнить, где Android Studio изначально искала, но папка 1.7 JDK не находилась в том же дереве каталогов, что и 1.6.0jdk.
gsueagle2008 03
6
@Arjun запутался так же, как и ваш. Но потом я только что понял, что каталог «Java» JDK 7 на самом деле расположен, /Library/Javaа не /System/Library/Javaотделен от моего JDK 6
akhy
Итак, что вы на самом деле сделали, чтобы исправить проблему?
JGallardo 05
{ROOT} /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/
gsueagle2008,
10

У меня есть решение. Это случилось и со мной, я много искал в Google, но все, что у меня было, это намеки. Намеков много. И я придумал верное решение.

Это связано с тем, что на компьютере не установлен JDK 7 (или выше). Каталог JDK в AS / Configuration может указывать на 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. Удачного кодирования.

TheOnlyAnil
источник
7

Я обнаружил, что ответы Эрика и Субина вместе решили мою проблему:

т.е. необходимо установить java JDK на ответ Эрика (при условии, что вы используете JDK 7):

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

Ошибка, которую я совершил, заключалась в том, что я пытался просто выбрать каталог jdk1.7.0_71.jdk, но продолжал получать сообщение об ошибке «Пожалуйста, выберите действительный каталог JDK».

Я работал над форматом, который ранее использовался для JDK 6 :( - Он работал, когда я указал ему полный путь до Contents / Home.

Ответ Субина расскажет вам, как найти свое местоположение JDK, которое может отличаться в зависимости от того, что вы пытаетесь сделать.

Спасибо Эрику и Субину!

user2155964
источник
3

Я делюсь этим, потому что хочу помочь тем, кто нашел этот вопрос, когда они погуглили об ошибке. Большинство других «ответов» в Интернете занимало очень много времени. Следуйте инструкциям ниже, прежде чем тратить столько времени, как я.


Что я сделал, так это загрузил JDK 7

Затем измените настройку jdk на 1.7.0

введите описание изображения здесь

Дж. Галлардо
источник
3

У меня тоже была эта проблема. Пока я не могу найти исправление для этого, поэтому я прибег к изменению максимальной версии SDK на 20, которая работает с JDK6.

Что касается местоположения файла, вместо того, чтобы предположить, что студия Android находится в / System / Library / Java / JavaVirtualMachines / Insert JDK version / Contents / Home.

На самом деле мой JDK устанавливается в / Library / Java / JavaVirtualMachines / JDK Version Here / Contents / Home.

Попытка выбрать JDK в фактическом каталоге, в котором он установлен, заставляет студию Android сказать, что мне нужно выбрать действительное местоположение JDK. На данный момент я не могу найти исправление, поэтому, как я сказал выше, я прибег к изменению максимальной версии SDK на 20 вместо 21, и она будет оставаться такой, пока больше людей не пострадают от ошибки, чтобы Google исправил ее. Или до тех пор, пока в Интернете не будет опубликовано фактическое исправление, а не 101 способ не работать.

Надеюсь, это поможет на данный момент, на самом деле это не решение / ответ, но это работа, которая работает для меня на данный момент.

Лекклс1
источник
0

если у вас есть только папка 1.6.0.jdk, перейдите по этой ссылке, скачайте и установите jdk 1.7. затем найдите свою папку java по этому пути

/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
хэш
источник
0

Решения в этом потоке недействительны для той же ошибки в Android Studio 1.4. Например, исчезло меню настроек. Ниже представлено решение для Android Studio 1.4, работающего на Ubuntu 14.04.

Чтобы решить в Ubuntu 14.04+ и Android Studio 1.4+, вам необходимо перейти в

Файл -> Другие настройки -> Настройки по умолчанию -> Сборка, выполнение, развертывание -> Компилятор -> Компилятор Java -> Версия байт-кода проекта

По умолчанию это раскрывающееся меню будет пустым.

Установите предпочтительный JDK, в случае экрана ниже 1.8.

Android SDK экран

Вуаля, ваш проект будет компилироваться.

Barnhillec
источник
0
  1. Загрузите отсюда последнюю версию JDK.
  2. Откройте инструмент командной строки.
  3. Скопируйте и вставьте следующую строку в инструмент командной строки и нажмите клавишу возврата.

/ usr / libexec / java_home

  1. Скопируйте вывод этой команды.
  2. Вернитесь к своему проекту Android и перейдите, как показано ниже

Файл -> Структура проекта -> Местоположение JDK

отредактируйте (щелкните квадрат с тремя точками) местоположение JDK (2-й на изображении) и вставьте туда вывод инструмента командной строки.

введите описание изображения здесь Я собрал эти инструкции на MacBook Pro.

user2511630
источник