Подтвердить что ты не робот

Расположение Android Studio JDK меняется до 1.7 каждый раз, когда обновляется до 1,8 пути

Недавно я установил jdk 1.8 u92 после того, как Android Studio заявила, что она необходима для сборки api24. Тем не менее, я столкнулся с этой проблемой сейчас.

Я рассмотрел некоторые другие решения и удалил jdk 1.7, добавил переменные среды для JDK_HOME, JAVA_HOME и JAVA8_HOME. Проблема все еще сохраняется.

Каждый раз, когда я пытаюсь создать приложение, сбой gradle завершается с ошибкой, и студия Android просит меня Выбрать действительный каталог JDK. Затем я перехожу в Структура проекта = > Местоположение JDK и обновляю его в папку 1.8. Попытка построить снова дает ту же ошибку, и когда я проверяю структуру проекта, путь автоматически возвращается к старому JDK 1.7.

Есть ли какое-либо исправление для этой проблемы?

4b9b3361

Ответ 1

Подумал об этом, посмотрев несколько файлов в каталоге настроек студии Android.

Если вы обновили свою Android-студию и импортировали настройки из предыдущих установок, это может произойти (возможно, это произойдет и при новой установке).

Решение:

  • Перейдите в папку, где находится ваша конфигурация Android Studio (обычно в $HOME/.AndroidStudio2.1/confg).
  • Откройте папку Параметры и удалите файл jdk.table.xml (держите резервную копию на всякий случай)
  • Перезапустить Android Studio

Это решило проблему для меня. Вновь созданный файл jdk.table.xml будет иметь обновленные значения java8 (которые, скорее всего, извлекаются из переменной среды JDK_HOME).

Ответ 2

  • закрыть студию android studio

  • перейти к:

C:\Users\WINDOW_USER_NAME\AndroidStudio2.1\Config\опции

открыть jdk.table.xml

  1. замените все своей версией JDK, в моем случае все заменили:

    C:/Program Files/Java/jdk1.8.0_101

  2. повторно открыть андроид-студию

  3. Синхронизировать

Ответ 3

То, что вы хотите сделать после удаления xml файла, - это НЕ закрывать студию Android до этого. Потому что, когда андроид загрузится снова, он проверит свои настройки реферала и скажет: "О, этот пользователь, возможно, удалил таблицу jdk, но по умолчанию у него по-прежнему был выбран 1,7".

Нет, когда вы удаляете файл таблицы, держите студию открытой. Затем выберите 1.8 так, чтобы он сохранил исходные настройки обратно в таблицу. Возможно, вам не придется перезагружать его, поскольку файл xml таблицы не является текущим файлом, поскольку он находится в папке профиля собственных пользователей, а не в файлах программы.

Ответ 4

выполните следующие действия: (шаги для окон, доступ к тем же каталогам в случае других операционных систем)

Шаг 1: Нажмите "Win + R", введите "% userprofile%" и нажмите клавишу ввода.

Шаг 2: Перейдите в папку Android Studio, которая будет в следующем формате - ".AndroidStudio2.2" (версия может отличаться)

Шаг 3: Перейдите в папку "config\options".

Шаг 4: Сделайте копию jdk.table.xml на рабочем столе и удалите jdk.table.xml. (Сделайте это, пока студия андроида все еще работает)

Шаг 5: В андроид-студии -Go в "Файл- > Структура проекта" и выберите правильный путь jdk.

Если ШАГ 4 и ШАГ 5 не решают проблему, выполните следующие действия:

Шаг 4 ': Откройте jdk.table.xml в блокноте.

Шаг 5 ': Найдите все слова, включая версию jdk - например. найти "1.8.0_45"

Шаг 6 ': Заменить найденные слова; с вашей текущей версией jdk. Напр. измените "1.8.0_45" на "1.8.0_111" (убедитесь, что вы заменили все поля, содержащие номер версии)

Шаг 7 ': Сохраните файл jdk.table.xml

Шаг 8 ': Перезапустить студию Android.

Это определенно решит проблему.

PS: должен быть установлен JDK и должен быть установлен путь.

Ответ 5

Только для меня этот ответ: fooobar.com/questions/73863/...

Оба, SDK android и папки JDK не должны содержать пробелы.

Ответ 6

1) Добавьте это в ваше приложение build.gradle (внутри элемента android)

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

Я скопировал это с fooobar.com/info/15930924/.... Благодарность идет тому, кто это опубликовал (https://stackoverflow.com/users/2910520/matpag), но правильный ответ нигде не опубликован по этому вопросу.