Android Studio не зміг знайти дійсний Jvm (пов'язаний з ОС MAC)


Відповіді:


355

Відкрийте пакет програм для Android Studio у пошуку і відредагуйте файл Info.plist . Змініть ключ JVMversion. Поставте 1.6+ замість 1.6 *. Це працювало для мене !.

Ура!

Відредаговано:

Хоча це було необхідно в старих версіях Android Studio, це більше не рекомендується. Дивіться офіційну заяву

"Зверніть увагу: не редагуйте Info.plist, щоб вибрати іншу версію. Це порушить не тільки підпис програми, але й майбутні оновлення виправлення вашої установки."

Антоніо Хосе відповідь є правильним.

Дякую aried3r!


15
я змінив 1.6 * на 1.8 * на моєму комп'ютері
Titi Wangsa bin Damhore

5
Для завершення: це потрібно зробити у файлі
Info.plist

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 в Йосеміті. Те саме виправлення для 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

[Оновлення]
Це виправлено в Android Studio 1.1 https://issuetracker.google.com/isissue/37015035

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

[Закінчити оновлення]

Від Android Studio 1.0 RC3 Примітки

Що стосується RC 3, у нас є кращий механізм налаштування властивостей пускових установок на всіх трьох платформах. Не слід редагувати жодні файли в каталозі встановлення IDE. Натомість ви можете налаштувати атрибути, створивши власні файли .properties або .vmoptions в наступних каталогах. (Це було можливо на деяких платформах і раніше, але це вимагало від вас скопіювати та змінити весь вміст файлів. Завдяки останнім змінам ці властивості тепер додаються замість таких, що ви можете встановити лише атрибути, які вас цікавлять, та інше буде використовувати за замовчуванням встановлення IDE).

Однак пояснення щодо можливих варіантів немає.

Трохи пошукаючи, я знайшов цю
Налаштування параметрів VM для Android Studio на Mac
IntelliJ IDEA 14.0.0 Веб-довідка / Ідентифікатор файлу IDEA.Properties

Однак не пощастило з цим.

На щастя, мені вдалося вирішити це на Yosemite, використовуючи змінні середовища, як сказано в примітках до випуску 1.0 RC3.

Ви також можете розмістити змінні середовища для вказівки на конкретні файли переопределення в іншому місці:
STUDIO_VM_OPTIONS, який файл
vmoptions використовувати STUDIO_PROPERTIES, який файл властивостей використовувати
STUDIO_JDK, з яким JDK запускати студію

Це було трохи хитро, тому що Android Studio не є додатком командного рядка, тому мені довелося використовувати команду AppleScript, щоб встановити змінну середовища під час входу. Більше інформації тут

Це моя команда startctl для командного рядка.

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"

Про startctl дивіться тут


Я в змозі створити сценарій. Додано цей скрипт до пункту Вхід, але щоразу, коли я входжу в нього, просять запустити сценарії. Чи можемо ми це запустити на задньому плані.
twister_void

Чи не рекомендується використовувати JDK 7 замість 8 для Android Development?
Стеффен

4
Ви також можете запустити AS з командного рядка через відкритий -a Android \ Studio, що дозволить вам створити дуже простий скрипт оболонки, який встановлює середовище, як вище, а потім запускає AS. Для мене це було набагато простіше, ніж возитися з startctl та 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
гантелі

1
@gio так, ви повинні використовувати версію, встановлену на вашій машині. Btw, ви використовуєте останню 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зробив трюк для мене. Дякую!
jlhonora

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, про яку говорилося вище, рішення Антоніо Хосе є правильним.

Дякую!


"Зверніть увагу: не редагуйте Info.plist, щоб вибрати іншу версію. Це порушить не тільки підпис програми, але й майбутні оновлення виправлення вашої установки."
nitesh goel

12

Як початківець користувач знадобився мені певний час, щоб зрозуміти, як це виправити правильно. Після пошуку та заниження багатьох відповідей на SO я вийшов з наступними кроками, які вам потрібно виконати, щоб виправити проблему.

Будь ласка, запиши:

Хоча найпростішим рішенням є оновлення Info.plist андроїд-студії. Але це не рекомендується і не правильний спосіб виправити це.

Офіційна заява: "Будь ласка, зверніть увагу: не редагуйте 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. Скопіюйте рядок нижче

    зробити скрипт оболонки "startctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk"

Примітка: - Змініть jdk версію відповідно до вашої версії. Щоб перевірити, в якій версії ви використовуєте відкритий термінал, запустіть наступну команду

java -version

3. Тепер збережіть (⌘ + s) як формат файлу: додаток . Нарешті відкрийте Налаштування системи → Користувачі та групи → Елементи входу та додайте нову програму, яку ви тільки що створили.

  1. Вийдіть із системи та увійдіть знову, або ви також можете запустити цю програму вручну ..

woolaaaa ... Зроблено.

Список літератури:

Відповідь Антоніо Хосе

відповідь ruario


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>

Це воно!


"Зверніть увагу: не редагуйте Info.plist, щоб вибрати іншу версію. Це порушить не тільки підпис програми, але й майбутні оновлення виправлення вашої установки."
nitesh goel

6

На Mac OS X Yosemite просто встановіть:

Комплект розробки Java SE 8

і

Оновлення версії Java 8

Це все, працюй на мене!


Java SE Kit Kit 8 мені вистачило. Дякую!
Матійс

5
  1. Встановити новітні JDK (8u102 струму)
  2. Встановіть змінну envirionment STUDIO_JDK( java_homeвиводить домашній dir Java і sedзнімає дві папки, щоб отримати ddk dir)

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

  3. Запустіть Android Studio так, як зазвичай

Встановіть STUDIO_JDK при кожному перезавантаженні

Наведені вище кроки працюють лише для поточного сеансу. Ось як створити файл-пліст у / 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

Дізнайтеся про хитрість плістів завдяки http://www.dowdandassociates.com/blog/content/howto-set-an-environment-variable-in-mac-os-x-launchd-plist/


3

На веб-сайті проекту «Інструменти Android» є чудове пояснення вибору Mac OSX JDK . Це вирішило мою проблему. Підсумовуючи:

Для 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

Java було видалено, коли я оновив до OS X El Capitan.

Дивіться скріншот терміналу до та після перевстановлення Java.

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

Щоб перевстановити Java, я перейшов за цим посиланням, яке було надано у діалоговому вікні Android Studio.

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

Android Studio запустився знову після встановлення Java.


1

Відредагуйте файл Info.plist андроїд-студії в пакеті, щоб він використовував 1.7 або будь-який інстальований вами JVMVersion. Зміна JVMVersion на 1.6+ замість 1.6 *, як відповів hasternet вище, теж повинен працювати.

Вищезазначене працює, але не рекомендується див. Примітки до випуску RC3

Що стосується RC 3, у нас є кращий механізм налаштування властивостей пускових установок на всіх трьох платформах. Не слід редагувати жодні файли в каталозі встановлення IDE . Натомість ви можете налаштувати атрибути, створивши власні файли .properties або .vmoptions у наступних каталогах. (Це раніше було можливо на деяких платформах, але це вимагало, щоб ви скопіювали та змінили весь вміст файлів. За останніми змінами ці властивості тепер додаються замість таких, що ви можете встановити лише атрибути, які вас цікавлять, та інше буде використовувати за замовчуванням встановлення IDE).

дивіться Android Studio не вдалося завантажити JVM на Mac OSX (Mavericks)


2
Це не рекомендується, як сказано в примітках до випуску
Антоніо Хосе



1

На Mac OS X Yosemite просто встановіть:

Комплект розробки Java SE 8

і

Оновлення версії Java 8

Це все, працюй і для мене! як сказав гегев, так просто!


1

Ви можете реалізувати STUDIO_JDKрішення, використовуючи агенти запуску вашого користувача. Це включає створення одного файлу плістів у каталозі LaunchAgents, розташованому за адресою~/Library/LaunchAgents

Створіть новий файл, ~/Library/LaunchAgents/UNIQUE_KEY.plistде UNIQUE_KEY - лише ідентифікатор. Я використовую ком. ім'я користувача .androidstudio.

Скопіюйте наступний текст у новий файл плістеру та модифікуйте його відповідно до наведених нижче інструкцій.

<?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 на основі приміток Android Edition версії 1.0 RC3 . Це рішення використовує каталог LaunchAgents, а не AppleScript для встановлення змінної середовища. Таким чином, це головним чином різниця в тому, як ви замовляєте та впорядковуєте систему та змінні середовища.


1

Не редагуйте список. Ці інструкції працювали для мене вперше, коли я встановив Android Studio кілька місяців тому, а також просто сьогодні. (21.01.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: редагувати .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 та віолу

Тестовано на OSX 10.10 та Android 1.0.1


1

Android Studio прочитає налаштування з файлу ~ / Бібліотека / Налаштування / AndroidStudio / idea.properties. Я створив цей файл і в ньому є шлях до мого jdk:

STUDIO_JDK = / Бібліотека / Java / JavaVirtualMachines / jdk1.8.0_45.jdk

Не потрібно редагувати Info.plist!


0

"На Mac OS запустіть Android Studio з середовищем виконання Java Java (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. Коли я намагаюся встановити Intellij, з'явилося спливаюче вікно, що в моєму Mac немає Java Java, ви хочете його завантажити? Після завантаження відсутнього пакету за допомогою Intellij я міг відкрити Android Studio.


0

Я вирішив цю проблему, змінивши версію JVM у файлі Info.plist на 1,7 *



0

Я маю справу з тією ж проблемою, і я працюю над нею.

можливо, ваша версія jdk невірна.

зараз я встановив jdk1.8, і це нормально.


0

Для тих, у кого виникли проблеми зі створенням сценарію, який запустився при запуску, ви можете додати цей .plist у папку LaunchAgents. Це може бути більш підходящим способом додавання змінних середовищ до системи, оскільки Yosemite вирішив покінчити з startd.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>

Потім змініть властивості файлів, запустивши в Terminal такі команди:

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, я не отримав помилку JVM, навіть якщо ви запустите "echo $ STUDIO_JDK", він повертає правильний шлях. Можливо, хтось має деяке розуміння, як виправити це питання.


0

Спробуйте завантажити Java з сторінки підтримки Apple: http://support.apple.com/kb/DL1572 якщо це не працює для вас або не завантажується ( дуже поширена проблема ), просто перейдіть за цим посиланням, щоб завантажити та встановити Java потрібна версія:

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

Це воно.


0

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


-1

Мені вдалося змусити його працювати, відредагувавши info.plist, змінивши 16 * на 16+. Спробували за допомогою рекомендованого методу, але це не вдалося.

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