Як встановити JDK для Android Studio?


42

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

Щоб змінити це, я перейдіть до Файл -> Структура проекту і спробую знайти місце JDK 1.6.

Але коли я вибираю його каталог і натискаю, OKя отримую таку помилку:

Виберіть дійсний каталог JDK

Виберіть дійсний каталог JDK

Як ви бачите на знімку екрана, я намагаюся встановити 64-бітний Java 6 OpenJDK як новий JDK.

Що я можу зробити? Чи не Android Studio сумісний з OpenJDK, і чи варто замість нього використовувати Oracle JDK?


Ви спробували 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 підбере це.


Це працює і для Windows. корисно, якщо у вас є JDK з DCEVM за замовчуванням у JAVA_HOME, який не працює з андроїд-студією.
Mateus Viccari

5

Здається, що Android Studio не розпізнає OpenJDK, тому мені потрібно встановити OracleJDK .

Тоді я вибираю шлях до JDK Oracle і він спрацював!


Я встановив його, але я не в змозі встановити змінну його шляху. Ви можете мені сказати, як я можу це зробити?
Нітеш Верма

1
Так, спершу переконайтесь, що java -versionправильно виводить версію Java . Потім у вікні AS виберіть /usr/lib/jvm/jdk1.8.0/. Цього моменту мені було достатньо :-)
Лусіо

3

Це працювало для мене:

  1. Дізнайтеся каталог java:

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

  3. У розділі SDK Location я пройшов повз каталогу java зверху
  4. Почекайте пару секунд, і я отримав "0 помилок 0 рекламних повідомлень"

Це спрацювало! :)


2

Кроки, які я дотримувався:

  1. Відкрили термінал і входять echo $JAVA_HOME

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

  3. В студії Android - Структура проекту - вставлено скопійований шлях

  4. Зачекав, коли програмне забезпечення розпізнає та оновить налаштування

  5. Це вирішило проблему недійсних налаштувань Jdk


1

Якщо у вас є ./binпапка з JDK та Android Studio, ви можете встановити STUDIO_JDKзмінну перед запуском studio.shу терміналі:

STUDIO_JDK=./bin/jdk/ ./bin/android-studio/bin/studio.sh

0

Я вирішив цю проблему. Я використовую AS 2.1 та JDK1.7, хоча це вимагало від мене оновлення JDK1.8 для деяких функцій. Завантажую файл налаштування Java. Можливо, я встановив лише jre, але не jdk. тому AS завжди попереджає мене, що "Будь ласка, виберіть дійсний каталог JDK". Тому я здогадуюсь, що проблема Аскера подібна до мене, що ви повинні встановити JDK, але не jre.


0

Я думаю, що ви могли б встановити jdk де-небудь ще, наприклад /usr/local/java. У моєму випадку я також побачив те саме ім'я папки в каталозі, показаному на екрані екрана.

Тому просто перевірте, чи jdk присутній ще десь.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.