Android Studio не удалось найти действительный Jvm (связанный с MAC OS)

Ответы:

355

Откройте пакет приложения для Android Studio в Finder и отредактируйте файл Info.plist . Измените ключ JVMversion. Поставь 1.6+ вместо 1.6 *. Это сработало для меня!

Ура!

Отредактировано:

Хотя это было необходимо в более старых версиях Android Studio, это больше не рекомендуется. Смотрите официальное заявление

«Обратите внимание: не редактируйте Info.plist для выбора другой версии. Это нарушит не только подпись приложения, но и будущие обновления патчей для вашей установки».

Антонио Хосе ответ правильный.

Спасибо aried3r!

hasternet
источник
15
я изменил 1,6 * до 1,8 * на моем Mac
Titi Wangsa bin Damhore
5
Для завершения: это должно быть сделано в файле Info.plist
Henridv
7
Хотя это было необходимо в более старых версиях Android Studio, это больше не рекомендуется. См. Официальное заявление: «Обратите внимание: не редактируйте Info.plist для выбора другой версии. Это нарушит не только подпись приложения, но и будущие обновления патча для вашей установки». Антонио Хосе ответ правильный.
aried3r
6
Согласно ответу Алонсо и Шейна, официальный пакет от Apple сделал свое дело. Нет необходимости возиться!
Джастин Лоуренс,
6
Wow 1.6+ работал на меня .. Я просто скачаю новое приложение, как только они обновятся!
Нил Джапфа
174

Просто установите этого парня здесь

http://support.apple.com/kb/DL1572?viewlocale=en_US&locale=en_US

и тебе должно быть хорошо.

Алонсо К. Ликс
источник
3
@ MickyRich89 Попробуйте это: support.apple.com/kb/DL1572?viewlocale=en_US&locale=en_US
zhengyue
4
Я не понимаю, как это не принятый или правильный ответ. Это в основном решает проблему и удерживает вас от редактирования любых файлов. По крайней мере, с моей проблемой невозможности запустить Android Studio из-за отсутствия Javas в Yosemite. То же исправление для Intellij 14.
Энди
8
Просто скачайте и установите последнюю версию JVM из Oracle сначала здесь: java.com/en/download/index.jsp А затем загрузите и запустите pkg по ссылке выше, тогда вы будете на Java 8 и у вас все еще будет работать правильный запуск
Эдвард Тан
7
Кроме того, чтобы подвести итог, что работало для меня на Mac OSX 10.10: 1) установил Java 8u25 с java.com/en/download 2) установил Java, который Алонсо сказал в своей ссылке support.apple.com/kb/DL1572?viewlocale = en_US & locale = en_US
Кто-то где-то
2
Этот ответ является официально рекомендуемым способом (запустить Android Studio с JRE 6 и скомпилировать приложения с JDK 7 или 8): tools.android.com/tech-docs/configuration/osx-jdk
Steffen
140

[Update]
Это исправлено в Android Studio 1.1 https://issuetracker.google.com/issues/37015035

В следующей версии Android Studio, если java 6 не найден, но найден 7 (или выше), он будет использовать его вместо этого. Мы по-прежнему рекомендуем запускать студию с Java 6 из-за улучшенного рендеринга шрифтов, но никакого обходного пути не требуется, если, например, найдена только Java 8.

[Конец обновления]

Из Android Studio 1.0 RC3 Примечания

Начиная с RC 3, у нас есть лучший механизм для настройки свойств пусковых установок на всех трех платформах. Вы не должны редактировать файлы в каталоге установки IDE. Вместо этого вы можете настроить атрибуты, создав собственные файлы .properties или .vmoptions в следующих каталогах. (Это было возможно на некоторых платформах и раньше, но для этого требовалось копировать и изменять все содержимое файлов. С последними изменениями эти свойства теперь являются аддитивными, так что вы можете установить только те атрибуты, которые вам нужны, а остальные будет использовать значения по умолчанию из установки IDE).

Однако нет никаких объяснений о том, что варианты.

После небольшого поиска я нашел это
Настройка параметров виртуальной машины для Android Studio на Mac
IntelliJ IDEA 14.0.0 Веб-справка / Файл IDEA.Properties

Однако не повезло с этим.

К счастью, мне удалось разрешить его на Yosemite с помощью переменных среды, как указано в примечаниях к выпуску 1.0 RC3.

Вы также можете поместить переменные окружения use для указания на определенные файлы переопределения в другом месте:
STUDIO_VM_OPTIONS, какой файл
vmoptions использовать STUDIO_PROPERTIES, какой файл свойств использовать
STUDIO_JDK, с каким JDK будет работать студия с

Это было немного сложно, потому что Android Studio не является приложением командной строки, поэтому мне пришлось использовать команду AppleScript для установки переменной среды при входе в систему. Больше информации здесь

Это моя команда launchctl для командной строки.

launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk

И это мой AppleScript (не забудьте сохранить его как приложение)

do shell script "launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk"

О launchctl, смотрите здесь

Антонио Хосе
источник
Я могу создать сценарий. Добавил этот скрипт в элемент Login, но каждый раз, когда я вхожу в него, меня просят запустить скрипты. Можем ли мы запустить это в фоновом режиме.
twister_void
Разве не рекомендуется использовать JDK 7 вместо 8 для разработки Android?
Штеффен
4
Вы также можете запустить AS из командной строки через open -a Android \ Studio, что позволит вам создать очень простой сценарий оболочки, который задает среду, как указано выше, а затем запускает AS. Для меня это было намного проще, чем возиться с launchctl и AppleScript.
TBM
3
На самом деле есть способ без запуска AppleScript: отредактировать .bash_profile(если этот файл не существует, создайте новый), поставить export STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk, выйти из терминала (или любых текстовых редакторов, которые вы используете для редактирования этого файла), запустить Android Studio и альт. Испытано с OSX 10.10 и Android 1.0.1
dumbfingers
1
@ gio да, вы должны использовать версию, установленную на вашем компьютере. Кстати, вы используете последнюю версию Android Studio? Потому что этот сценарий больше не нужен
Антонио Хосе
21

Обратите внимание, что эта последняя переменная позволяет вам, например, запустить Android Studio с Java 7 в OSX (который обычно выбирает Java 6 из версии, указанной в Info.plist):

$ export STUDIO_JDK = / Библиотека / Java / JavaVirtualMachines / jdk1.7.0_67.jdk

$ open / Приложения / Android \ Studio.app

Работал для меня

Говинд
источник
export ANDROID_STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdkсделал трюк для меня. Спасибо!
июля
2
Спасибо. Это то же решение, что и на сайте Android. Вот ссылка: tools.android.com/tech-docs/configuration/osx-jdk
MondKin
1
Это не НЕ ответ. Официальный ответ - установить Java 6 (JRE, а не JDK - JDK может быть Oracle) с apple.com. Об этом четко говорится на сайте Android Studio.
Илья
14

Измените этот ключ в Info.plist

Я изменился с

<key>JVMVersion</key>
<string>1.6*</string>

в

<key>JVMVersion</key>
<string>1.8*</string>

и теперь он работал нормально ..

Отредактировано:
согласно официальному заявлению, как упомянуто выше hasternet и aried3r, решение Антонио Хосе является правильным.

Спасибо!

Magster
источник
«Обратите внимание: не редактируйте Info.plist для выбора другой версии. Это нарушит не только подпись приложения, но и будущие обновления патчей для вашей установки».
Nitesh Goel
12

Как начинающему пользователю, мне потребовалось некоторое время, чтобы понять, как это исправить правильно. После поиска и понимания многих ответов по SO, я предложил следующие шаги, которые необходимо выполнить, чтобы решить проблему.

Пожалуйста, обратите внимание:

Хотя самое простое решение - обновить Info.plist из студии android. Но это не рекомендуется и не правильный способ это исправить.

Официальное заявление: «Обратите внимание: не редактируйте Info.plist, чтобы выбрать другую версию. Это нарушит не только подпись приложения, но и будущие обновления патча для вашей установки».

Первое решение: если вы запускаете Android Studio из командной строки, вы можете добавить эти две строки в ваш .bash_profile

$ export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk

$ open /Applications/Android\ Studio.app

Со следующего раза, когда вы открываете свой терминал, ваша студия запускается автоматически.

Второе решение: если вы хотите запустить Android Studio из пользовательского интерфейса (щелкнув по значку), выполните следующие действия:

  1. Откройте редактор скриптов на Mac (его можно найти в центре внимания )
  2. Скопируйте ниже строки

    сделать сценарий оболочки "launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk"

Примечание: - Измените версию JDK в соответствии с вашей версией. Чтобы проверить, какую версию вы используете, откройте терминал и выполните следующую команду

java -version

3. Теперь сохраните (⌘ + s) как Формат файла: Приложение . Наконец, откройте « Настройки системы» → «Пользователи и группы» → «Элементы входа» и добавьте только что созданное вами новое приложение.

  1. Выйдите из системы и войдите снова, или вы можете запустить это приложение вручную.

woolaaaa ... Это сделано.

Ссылки :

Ответ Антонио Хосе

ответ Руарио

Nitesh Goel
источник
1
Нет необходимости перезапускать, если вы просто откроете это приложение, верно? :)
yjsoon
да вызывающе Вы также можете запустить это приложение вручную.
Nitesh Goel
1
@niteshgoel, спасибо за полный ответ "все в 1"! Я проверил, что перезагрузка не нужна, как вы указали, просто цикл выхода из системы. :)
khyox
Это не НЕ ответ. Официальный ответ - установить Java 6 (JRE, а не JDK - JDK может быть Oracle) с apple.com. Об этом четко говорится на сайте Android Studio.
Илья
9

Я использую Mac OS X 10.10 также. И исправить эту проблему.

  1. Откройте содержимое пакета приложения Android Studio (щелкните правой кнопкой мыши значок Android Studio в папке «Приложение»).
  2. Открыть файл Infor.plist
  3. Поиск и замена:

    <key> JVM version</key>
    <string>1.6*</string>

заменен на:

    <key> JVM version</key>
    <string>1.6+</string>

Это оно!

luongnv89
источник
«Обратите внимание: не редактируйте Info.plist для выбора другой версии. Это нарушит не только подпись приложения, но и будущие обновления патчей для вашей установки».
Nitesh Goel
6

В Mac OS X Yosemite просто установите:

Java SE Development Kit 8

и

Java Версия 8 Обновление 25

Это все, работа для меня!

Gehev
источник
Java SE Development Kit 8 мне хватило. Спасибо!
Mathijs
5
  1. Установите новейший JDK (текущий 8u102)
  2. Установить переменную envirionment STUDIO_JDK( java_homeвыводит домашний каталог Java и sedудаляет две папки, чтобы получить каталог jdk)

    launchctl setenv STUDIO_JDK `/usr/libexec/java_home -version 1.8 | sed 's/\/Contents\/Home//g'`

  3. Запустите Android Studio, как обычно

Установите STUDIO_JDK при каждой перезагрузке

Вышеуказанные шаги работают только для текущего сеанса. Вот как создать файл plist в / Library / LaunchDaemons, который запускает приведенную выше команду при каждой загрузке:

sudo defaults write /Library/LaunchDaemons/com.google.studiojdk Label STUDIO_JDK
sudo defaults write /Library/LaunchDaemons/com.google.studiojdk ProgramArguments -array /bin/launchctl setenv STUDIO_JDK `/usr/libexec/java_home | sed 's/\/Contents\/Home//g'`
sudo defaults write /Library/LaunchDaemons/com.google.studiojdk RunAtLoad -bool TRUE

Узнали об уловке plist благодаря http://www.dowdandassociates.com/blog/content/howto-set-an-environment-variable-in-mac-os-x-launchd-plist/

Туан Фам
источник
3

На сайте Android Tools Project есть отличное объяснение Mac OSX JDK Selection . Это исправило мою проблему. В итоге:

Android Studio требуется два разных JDK:

  • Версия Java, с которой работает сама IDE.
  • Версия JDK, которую он использует для получения компилятора Java

Эти два могут быть (и обычно являются) одинаковыми, но вы можете настроить их индивидуально. И на OSX, в частности, они часто будут разными.

и для Yosemite (Mac OSX 10.10)

Во-первых, убедитесь, что у вас установлена ​​последняя версия Java 6; в некоторых случаях это решило проблемы: http://support.apple.com/kb/DL1572

Если нет, попробуйте запустить последнюю версию Java 7 или Java 8, установив STUDIO_JDK, как описано выше. Сообщается, что это исправило другие проблемы (хотя вы получите отображение шрифта для Java 8 выше).

Роджер Суен
источник
2

Ява была удалена, когда я обновился до OS X El Capitan.

Смотрите скриншот терминала до и после переустановки Java.

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

Чтобы переустановить Java, я перешел по этой ссылке, которая была предоставлена ​​в диалоговом окне Android Studio.

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

Android Studio снова запустилась после переустановки Java.

bradley4
источник
1

Отредактируйте файл Info.plist для android studio в пакете так, чтобы он использовал версию 1.7 или любую другую версию JVMVersion, которую вы установили. Изменение JVMVersion на 1.6+ вместо 1.6 *, как ответил hasternet выше, также должно работать.

Вышеуказанное работает, но не рекомендуется, см. Примечания к выпуску RC3

Начиная с RC 3, у нас есть лучший механизм для настройки свойств пусковых установок на всех трех платформах. Вы не должны редактировать файлы в каталоге установки IDE . Вместо этого вы можете настроить атрибуты, создав собственные файлы .properties или .vmoptions в следующих каталогах. (Это было возможно на некоторых платформах и раньше, но для этого требовалось копировать и изменять все содержимое файлов. С последними изменениями эти свойства теперь являются аддитивными, так что вы можете установить только те атрибуты, которые вам нужны, а остальные будет использовать значения по умолчанию из установки IDE).

увидеть Android Studio не удалось загрузить JVM на Mac OSX (Mavericks)

Iggy
источник
2
Это не рекомендуется, как сказано в Примечаниях к выпуску
Антонио Хосе
1

У меня та же проблема и исправлена ​​следующим образом:

Вы должны установить Java с официальной страницы Apple.

http://support.apple.com/kb/DL1572

Zafua
источник
1

В Mac OS X Yosemite просто установите:

Java SE Development Kit 8

и

Java Версия 8 Обновление 25

Это все, работа для меня тоже! как сказал геев, так просто!

iftach
источник
1

Вы можете реализовать STUDIO_JDKрешение с помощью агентов запуска вашего пользователя. Это включает создание одного plist-файла в вашем каталоге LaunchAgents, расположенном по адресу~/Library/LaunchAgents

Создайте новый файл, ~/Library/LaunchAgents/UNIQUE_KEY.plistгде UNIQUE_KEY - просто идентификатор. Я использую ком. имя пользователя .androidstudio.

Скопируйте следующий текст в новый файл plist и измените его в соответствии с инструкциями ниже.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
   <key>Label</key>
   <string>UNIQUE_KEY</string>
   <key>ProgramArguments</key>
   <array>
      <string>sh</string>
      <string>-c</string>
      <string>launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk</string>
   </array>
   <key>RunAtLoad</key>
   <true/>
</dict>
</plist>

Вам нужно будет сделать две модификации:

  1. Измените UNIQUE_KEY в соответствии с вашим именем файла (без расширения .plist).
  2. Убедитесь в правильности пути JDK и при необходимости измените его. Я использую 7u71 в этом примере.

Это то же основное решение, что и ответ Антонио Хосе . Он устанавливает переменную среды STUDIO_JDK на основе заметок о выпуске RC3 для Android Studio версии 1.0 . Это решение использует каталог LaunchAgents вместо AppleScript для установки переменной среды. Таким образом, это в основном разница в том, как вы упорядочиваете и организовываете переменные вашей системы и среды.

Дэвид V
источник
1

Не редактируйте лист.Эти инструкции сработали для меня в первый раз, когда я установил Android Studio несколько месяцев назад, а также только сегодня. (1/21/2015)

Все, что вам нужно сделать, это несколько простых вещей, хотя на самом деле их нет в списке на сайте Google.

  1. Сначала вам нужно установить Java. это не JDK, это отдельный. Вы можете получить это по этой ссылке. Если у вас его нет, он, вероятно, выдаст сообщение об ошибке типа « JVM не установлен».
  2. Во-вторых, вам нужен Java JDK, я получил JDK 7 по этой ссылке. Обязательно выберите ссылку Mac OS X под заголовком Java SE Development Kit 7u75. Если у вас этого нет, вероятно, будет выдано сообщение об ошибке типа « JDK не установлен».
  3. Если вы еще не установили Android Studio, сделайте это. Но я уверен, что вы уже сделали это.
Скотт
источник
1

Как и предложил @Gerard, я в качестве ответа отвечу на свой оригинальный комментарий ( https://stackoverflow.com/a/27370525/763459 ), надеюсь, он поможет другим, кого раздражает эта проблема.

Есть способ без запуска AppleScript: edit .bash_profile(если этот файл не существует, создайте новый, как и предложил @Gerard, который вы можете использовать source .bash_profileвпервые).

  • Установите устаревшую Java (может быть необходим) http://support.apple.com/kb/DL1572

  • Поместите экспорт STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk

  • Затем выйдите из терминала (или любых текстовых редакторов, которые вы используете для редактирования этого файла), запустите Android Studio и Viola

Протестировано с OSX 10.10 и Android 1.0.1

dumbfingers
источник
1

Android Studio будет считывать настройки из файла ~ / Library / Preferences / AndroidStudio / idea.properties. Я создал этот файл и в нем есть путь к моему JDK:

STUDIO_JDK = / Library / Java / JavaVirtualMachines / jdk1.8.0_45.jdk

Нет необходимости редактировать Info.plist!

Uilleann
источник
0

«В Mac OS запустите Android Studio с Java Runtime Environment (JRE) 6 для оптимизированной визуализации шрифтов. Затем вы можете настроить свой проект на использование Java Development Kit (JDK) 6 или JDK 7.»

Это было указано в http://developer.android.com/sdk/index.html под системными требованиями для Mac OS X.

После того, как вы установите Java 6 (не JDK) из Apple в соответствии с Alonso C. Licks, вы сможете открыть Android Studio и перенастроить его по своему усмотрению без необходимости возиться с терминалом, файлом info.plist или другими библиотеками.

Джон Доу
источник
0

Я скачал Intellij Idea. Когда я пытаюсь установить Intellij, появляется всплывающее окно, в котором отсутствует мой Mac с Java RE, вы хотите загрузить его? После того, как я скачал недостающий пакет с помощью Intellij, я смог открыть Android Studio.

suphero
источник
0

Я решил эту проблему, изменив версию JVM в файле Info.plist на 1.7 *

Андре Кутзи
источник
0

Я управлял этим плохим парнем:

launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/
Б ... Джеймс Б.
источник
0

Я имею дело с той же проблемой, и у меня получилось.

Вероятно, ваша версия JDK не подходит.

Теперь я установил JDK1.8, и теперь все в порядке.

Бэзил
источник
0

Для тех, у кого возникли проблемы при создании скрипта, запускаемого при запуске, в качестве альтернативы вы можете добавить этот .plist в папку LaunchAgents. Это может быть более подходящим способом добавления переменных среды в систему, так как Yosemite решил покончить с launchd.conf. Это также должно работать с учетными записями пользователей из-за характера папки LaunchAgents, но я этого не проверял.

Для этого создайте файл .plist со следующим именем и путем:

/Library/LaunchAgents/setenv.STUDIO_JDK.plist

и содержание:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>Label</key>
            <string>setenv.STUDIO_JDK</string>
        <key>ProgramArguments</key>
            <array>
                <string>sh</string>
                <string>-c</string>
                <string>
                    launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk
                </string>
            </array>
        <key>RunAtLoad</key>
            <true/>
        <key>ServiceIPC</key>
            <false/>
        <key>LaunchOnlyOnce</key>
            <true/>
        <key>KeepAlive</key>
            <false/>
    </dict>
</plist>

Затем измените свойства файла, выполнив следующие команды в Терминале:

sudo chmod 644 /Library/LaunchAgents/setenv.STUDIO_JDK.plist

sudo chown root /Library/LaunchAgents/setenv.STUDIO_JDK.plist

sudo chgrp wheel /Library/LaunchAgents/setenv.STUDIO_JDK.plist

Ноты:

1) Вам может потребоваться изменить «jdk1.8.0_25.jdk», чтобы он соответствовал версии, установленной на вашем компьютере.

2) Я пытался использовать «jdk1.8. *. Jdk», чтобы попытаться учесть различные версии Java *, но когда я открыл Android Studio, я получил ошибку no JVM, даже если вы запустите «echo $ STUDIO_JDK», он вернет правильный путь Возможно, у кого-то есть понимание того, как решить эту проблему.

LithiumI0n
источник
0

Попробуйте загрузить Java со страницы поддержки Apple: http://support.apple.com/kb/DL1572, если это не работает для вас или не удается загрузить ( очень распространенная проблема ), просто перейдите по этой ссылке, чтобы загрузить и установить Java версия вам нужна:

http://support.apple.com/downloads/DL1572/en_US/JavaForOSX2014-001.dmg

Вот и все.

Альесио Карвалью
источник
0

Ранее я удалил Java 6 и установил Java 7, Android Studio работала нормально, затем я обновил Android Studio, и у меня возникла проблема, с которой сталкиваются все. Сегодня я удалил Java 7 и установил Java 8 из Oracle. Затем я удаляю Android Studio и устанавливаю последнюю версию. У меня все работает сейчас

Gibran E Castillo
источник
-1

Я смог заставить его работать, отредактировав info.plist, изменив 16 * на 16+. Попытка с использованием рекомендуемого метода, но это не удалось.

haroldbk
источник