Как установить JDK для Android Studio?

42

Я не могу скомпилировать новый проект по умолчанию для Android 2.1, потому что (?) JDK, используемый Android Studio, - это JDK 1.7, но это должен быть JDK 1.6.

Чтобы изменить его, я захожу в File -> Project Structure и пытаюсь найти расположение JDK 1.6.

Но когда я выбираю его каталог и нажимаю, OKя получаю следующую ошибку:

Пожалуйста, выберите правильный каталог JDK

Пожалуйста, выберите правильный каталог JDK

Как вы можете видеть на снимке экрана, я пытаюсь установить 64-битную версию Java 6 OpenJDK в качестве нового JDK.

Что я могу сделать? Разве Android Studio не совместима с OpenJDK и мне следует использовать Oracle JDK?

Lucio
источник
Вы пробовали binпапку?
Луи Матейссен
Я пытался с: ./bin| ./jre| ./jre/binодно и то же сообщение для всех
Lucio
1
Для меня я просто должен был использовать папку выше /jreв структуре каталогов, поэтому мой путь /usr/lib/jvm/java-8-oracleи нет /usr/lib/jvm/java-8-oracle/jre. Я предполагал, что путь должен заканчиваться, /jreкак путь по умолчанию («встроенный» JDK), но оказывается, что если вы посмотрите в папку по умолчанию, это папка с именем «jre», которая содержит еще одну папку с именем «jre» .
Джек М

Ответы:

24

Я использую OpenJDK 7 с Android Studio, и он работает просто отлично. (На данный момент у меня даже не установлен Oracle JDK.)

На этом экране вы показываете (Project Structure -> SKD Location) У меня есть следующий путь для расположения JDK : /usr/lib/jvm/java-1.7.0-openjdk-amd64.

Даниил
источник
8

Проверяя studio.sh, вы можете также установить один из STUDIO_JDK, JDK_HOMEили JAVA_HOMEпеременных окружения , чтобы указать на место JDK.


studio.shпроверяет STUDIO_JDK, JDK_HOMEи JAVA_HOMEпеременные окружения в следующем порядке:

if [ -n "$STUDIO_JDK" -a -x "$STUDIO_JDK/bin/java" ]; then
  JDK="$STUDIO_JDK"
elif [ -n "$JDK_HOME" -a -x "$JDK_HOME/bin/java" ]; then
  JDK="$JDK_HOME"
elif [ -n "$JAVA_HOME" -a -x "$JAVA_HOME/bin/java" ]; then
  JDK="$JAVA_HOME"

Таким образом, вы можете просто установить их соответствующим образом, и тогда Studio подберет их.

Нуно
источник
Это работает для окон тоже. полезно, если у вас есть JDK с DCEVM по умолчанию в JAVA_HOME, который не работает с Android Studio.
Матеус Викари
5

Кажется, что Android Studio не распознает OpenJDK, поэтому мне нужно установить OracleJDK .

Затем я выбираю путь к Oracle JDK, и он работает!

Lucio
источник
Я установил его, но я не могу установить его переменную пути. подскажите пожалуйста как мне это сделать?
Нитеш Верма
1
Да, сначала убедитесь, что java -versionвыведите правильно свою версию Java . Затем в окне AS выберите /usr/lib/jvm/jdk1.8.0/. Этого мне было достаточно в тот момент :-)
Lucio
3

Это сработало для меня:

  1. Узнайте каталог Java:

    $ echo $JAVA_HOME
    /usr/lib/jvm/java-7-oracle
    
  2. Откройте Android Studio, а затем Файл-> Структура проекта.

  3. В папке SDK я прошёл каталог java сверху
  4. Подождите пару секунд, и я получил "0 ошибок 0 объявлений"

Это сработало! :)

canorios
источник
2

Шаги, за которыми я следовал:

  1. Откройте терминал и введите echo $JAVA_HOME

  2. Скопировал путь, отображаемый в терминале - Ctrl+ Shift+ Cкопия в терминале Ubuntu

  3. В Android studio - Project Structure - Вставил скопированный путь

  4. Дождался пока программное обеспечение распознает и обновит настройки

  5. Это решило проблему неверных настроек Jdk

anand24
источник
1

Если у вас есть ./binпапка с JDK и Android Studio, вы можете установить STUDIO_JDKпеременную перед запуском studio.shв терминале:

STUDIO_JDK=./bin/jdk/ ./bin/android-studio/bin/studio.sh
antoineMoPa
источник
0

Я исправил эту проблему. Я использую AS 2.1 и JDK1.7, в то время как мне потребовалось обновить JDK1.8 для некоторых функций. Я загружаю установочный файл Java. Может быть, я только установил JRE, но не JDK. поэтому AS всегда предупреждает меня, что «Пожалуйста, выберите правильный каталог JDK». Таким образом, я полагаю, что проблема спрашивающего такая же, как и у меня, что вы должны установить JDK, но не JRE.

Сонгтао Лу
источник
0

Я думаю, что вы могли установить JDK где-нибудь еще, например /usr/local/java. В моем случае я также видел такое же имя папки в каталоге, показанном на вашем скриншоте.

Так что просто проверьте, присутствует ли jdk где-то еще.

Удайрай Дешмукх
источник