Android N вимагає, щоб IDE запускався з Java 1.8 або новішою версією?


117

Мій XMLмакет не відображається за допомогою цього повідомлення про помилку. Я вже використовую Java 8.

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

Також з використанням найновіших інструментів побудови в Gradle.

android {
    compileSdkVersion 'android-N'
    buildToolsVersion 24.0.0 rc1
    ...
}

Помилка XML -

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


2
У Android Studio є всілякі проблеми із рендерінгом. Я пропоную вам навести мінімальний відтворюваний приклад . У цьому випадку це включає файл макета та конкретну помилку.
CommonsWare

@CommonsWare Я оновив зображення помилки XML. Встановити підтримуваний JDK перенаправив мене, щоб налаштувати кроки, які я вже робив.
mjosh

1
Мені довелося змінити на buildToolsVersion '24 .0.0 rc1 ', у документації відсутні лапки.
Чай з Фірумом

@PhyrumTea Не зробила помилку.
mjosh

1
Нарешті, коли я спробував створити та запустити проект, він не зміг Directory cannot have its readable permission cleared for everybody. Мабуть, це відома помилка, і Google працює над цим.
mjosh

Відповіді:


187

У мене є та сама помилка, яку ви описуєте, але в OS X. Я знаю, що це може не вирішити вашу проблему (тому що я не знаю еквівалента для Windows), але оскільки це не для ОС, я залишаю рішення для будь-якого співробітника OS X там. Відредагуйте файл /Applications/Android\ Studio.app/Contents/Info.plistта видаліть версію 1.6 (у моєму випадку), ви можете розмістити 1.6+, 1.7+ чи 1.8, залежно від того, що вам зручніше. Моя закінчилася так

...
<key>JVMVersion</key>
<string>1.7+</string>
...

Будьте в курсі, що існує несумісність з перетягуванням версій Java версій 1.8_60 до 1.8_75 ( IDEA-146691 ), про які IDE повідомить, коли ви успішно зміните версію.

Для користувачів, які не користуються терміналами

  1. Знайдіть свій Android Studio.appфайл. Якщо він знаходиться в доці, ви можете клацнути правою кнопкою миші та вибрати Options > Show in Finder.
  2. Клацніть правою кнопкою миші та виберіть Show package content.
  3. Перейдіть до згаданого файлу ( Contents/Info.plist).
  4. Відредагуйте файл улюбленим текстовим редактором.

11
Це змінить віртуальну машину, на якій працює Android Studio. У моєму OSX початкове значення було: <key> JVMVersion </key> <string> 1.6 *, 1.7 +, 1.8 </string> І новим значенням є: <key> JVMVersion </key> <string> 1.8 </ рядок>
santhyago

8
Це працює! Дякую за це рішення. Питання: Чому Google хоче, щоб його розробники витратили свій час на ці питання?
Kotik_o

3
Дякуємо, що вирішили відсутність документації Google :). Цікаво, чому цієї інструкції немає тут: developer.android.com/intl/pt-br/preview/setup-sdk.html#java8 (Це посилання, що відображається на андроїд-студії).
Тоталіс

7
Чудово працює !! На жаль, при оновленні Android Studio (що я щойно робив до новітньої версії) він скидає файл Info.plist, тому мені доведеться повторити кроки ще раз, щоб змінити свій JVMVersion: <key>JVMVersion</key> <string>1.8</string>Так дратує Android Studio!
Мікро

3
Android Studio 2.2 використовує <string> 1,8 *, 1,8 + </string>.
jmnwong

147

Клацніть на букву N поруч із значком android у вікні Попередній перегляд та виберіть API рівня 23 або нижче. Це повинно це вирішити.

Перший ряд піктограм у вікні rpeview


25
Але я хочу переглянути в N не в API 23.
mjosh

3
Я випробував те саме питання на моєму комп'ютері. зниження рівня API з 24 до 23 працювало на мене.
сальман

3
не відповідь, будь ласка, дотримуйтесь відповіді, позначеної правильно
Pavneet_Singh

Це не відповідь. Це просто ігнорування проблемного середовища.
enadun

Чудово зроблено. Так, це вирішило мою проблему. Дякую. :)
arango_86

63

В моєму випадку встановити JDK_HOMEі JAVA_HOMEзмінні середовища C:\Program Files\Java\jdk1.8.0_60.

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

Перевірте версію Java в Help > About. Він повинен показувати версію JRE, яку ви тільки що встановили.

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

Це все, тепер ви можете переглянути свій макет у N.


1
Я зробив те, що ви сказали, але коли я допомагаю -> про це все ще вказує на мій старий jdk. Чому так?
TheMartian

1
У мене є JRE: 1,8 (приблизно). Однак я не можу створювати програми, орієнтовані на v24. > compileSdkVersion 'android-24' requires JDK 1.8 or later to compile.
Zapnologica

1
@The_Martian потрібно перезавантажити комп'ютер.
стискати

1
У Mac OS я видаляю стару версію jdk. Після цього Android Studio вибирає останню версію
lopez.mikhael

1
@ lopez.mikhael - це насправді єдине, що працювало для мене врешті-решт. Я змінив усі можливі налаштування, які міг знайти, налаштував усе, як я повинен був, продовжував отримувати помилку. Врешті-решт я перемістив старі каталоги jdk у підкаталог, який я назвав old_jdks у папці JavaVirtualMachine. Зараз все прекрасно працює.
zgc7009

27

Для користувачів Mac з цією проблемою (я працюю на ОС X 10.11.5 та Android Studio 2.1.2), ось як її вирішити:

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

Перш за все, переконайтеся, що у вас встановлено JDK 8 .

Потім запустіть такі команди:

$ export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk
$ open /Applications/Android\ Studio.app/

Вам може знадобитися змінити 91в jdk1.8.0_91.jdkіншій версії. Ви можете побачити, які версії JDK у вас є:

$ ls /Library/Java/JavaVirtualMachines/

На жаль, цей метод вимагає відкриття програми з терміналу, але ви завжди можете створити для нього сценарій.

Більше інформації

Редагувати: І якщо ви дійсно не хочете відкривати його з терміналу:

  1. Створіть AppleScript із вмістом: do shell script "export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk; open /Applications/Android\\ Studio.app/"
  2. Файл> Зберегти Виберіть формат файлу Додаток . Збережіть його десь.
  3. Якщо ви хочете змінити іконку, дивіться тут.
  4. Перетягніть додаток на свій стартовий блок, якщо хочете.

коли я намагаюся запустити скрипт, який я отримую: error "sh: /usr/local/bin/studio: No such file or directory" number 127будь-який спосіб його виправити? коли я запускаю його з терміналу, він працює чудово
Daniele

@Daniele Вибачте, я забув, що створив для цього ще один сценарій оболонки. AppleScript повинна мати ті ж команди, що і вище. Дивіться мою оновлену відповідь.
wumbo

5

Я зустрів ту саму проблему.

Я встановив jdk1.6, jdk1.7, jdk1.8 і розгорнув Studio як те, що ви зробили.

Моє рішення - видалити jdk1.6 та jdk1.7, залишити лише jdk1.8

sudo rm -rf ${path to jdk1.6}
sudo rm -rf ${path to jdk1.7}

Це все.


це безпечно робити
Micro

@MicroR Якщо ви інші програмні засоби не залежали від jdk1.6 та jdk1.7, я думаю, це безпечно.
молодий вітер

Це рішення вирішило проблему для мене. Цей спосіб видалення є безпечним і рекомендований Oracle ( docs.oracle.com/javase/8/docs/technotes/guides/install/… )
Showpath

2

Я використовую Ubuntu 14.04, і я зіткнувся з подібною помилкою, з різницею у мене немає NDK. Моє рішення було після налаштування Java 8 у визначенні проекту перезавантажити Android Studio, не більше.

Перевірте версію системи Java, у консолі "java -версія", вихід повинен говорити приблизно так

java version "1.8.0_91"

Я встановив JAVA_HOME = "/ Бібліотека / Java / JavaVirtualMachines / jdk1.8.0_91.jdk / Зміст / Головна" Чи повинен також бути STUDIO_SDK "/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home"?
mythicalcoder

@Maven теоретично ви можете встановити змінну STUDIO_SDK, яка буде шлях SDK для запуску Android Studio (як сказано в інструментах налаштування параметрів Studio.android.com/tech-docs/configuration ). Однак у моєму випадку я не встановив цю змінну і IDE працює як очікувалося.
Sergio A Guzmán

Ти правий. Я пробував різні речі. Дійсно, проблема 1,8 не пов'язана належним чином. Це вирішило це stackoverflow.com/a/35935433/2369867 . Дякую.
mythicalcoder

2

Була така ж проблема з Убунуту. Проблема була не в запуску IDE з Java8.

Я виправив це, оновивши програму java за замовчуванням ОС, використовуючи:

sudo update-alternatives --config java

І вибір відповідного шляху Java8.


1

Я зіткнувся з проблемою "Android N вимагає, щоб IDE запускався з Java 1.8 або новішою версією". Помилка відображалася, незважаючи на C:\Program Files\Java\jdk1.8.0_92те, що вона стала JDK проекту в File > Project Structure.

Я вирішив це, оновивши JAVA_HOME в моїх змінних оточення з C:\Program Files\Java\jdk1.7.0_67до C:\Program Files\Java\jdk1.8.0_92. Коли я це зробив і перезапустив Android Studio, режим дизайну став доступним.

ОС: Windows 10

Android Studio: 2.1.2


1

Я вирішив це таким чином. (AS + MAC OX El Capitan)

  1. Оновлення інструментів SDK> Інструменти платформи Android SDK
  2. Перейдіть у Довідку> Редагувати власні властивості> Запросить діалогове вікно (натисніть так), а потім напишіть

    JVMVersion=1.8 

Потім повністю закрийте Android Studio і перезавантажте проект



0

Моя проблема полягала в тому, що Android N був "частково встановлений".

Моє рішення було перейти до - Налаштування / Зовнішній вигляд та поведінка / Налаштування системи / SDK для Android та перевірити стан. Якщо він "частково встановлений", тоді вам доведеться видалити та перевстановити. (Зніміть прапорець і натисніть кнопку застосувати; воно буде видалено; тоді ви можете встановити прапорець і встановити його знову) Працювало для мене. Якщо ви переходите до нижчої версії (наприклад, 23), вам слід змінити змінну buildToolsVersion на "23.0.0" у build.gradle.


1
Шахта все ще каже, "частково встановлена" після перевстановлення.
Ендрю

Шахта теж "частково встановлена" після перевстановлення. @Andrew Ви знайшли рішення після цього?
mythicalcoder

@Maven для мене виявилося, що моя проблема полягала в тому, що я не вибрав правильний варіант збірки, коли спробував створити додаток.
Андрій

0

Нещодавно я стикався з тією ж проблемою. Спробуйте змінити рівень попереднього перегляду API на 23 або нижче. Це працювало для мене.


0

Я зіткнувся з тією ж проблемою. Переконайтеся, що ви рендеруєте макет XML для компільованої версії SDK (не повинно бути більшою). Значить, ви зіткнетеся з цим, якщо будете компілювати код за допомогою цільового SDK версії 23 та намагаєтеся вивести XML у версії 24 SDK.


0

Під час встановлення STUDIO_JDK на Mac OS слід пам’ятати кілька:

  • за замовчуванням Java 1.6 використовується Apple для запуску Android Studio
  • коли для STUDIO_JDK встановлено Java Oracle, його використовуватиме Android Studio для запуску

Різниця між двома полягає в тому, що Java IMO від Apple забезпечує приємніші та кращі антиалійні шрифти в IDE.

Відповідь тут посилається на помилку в Android Studio щодо шрифтів, що антиалійні. Квиток вже закритий, але все ще рендеринг відрізняється для Apple Java та Oracle SDK (у мене v1.8.0_102). І у першого все ж краще сприйняття, ніж у останнього.


0

спробуйте використовувати в проекті Java 1.8 - завантажте останню версію JDK та встановіть її (якщо JSK відсутній)

Потім додайте до build.gradle ці рядки android {... // Налаштування лише для кожного модуля, який використовує мовні функції Java 8 // (або у вихідному коді, або // через залежності). compileOptions {sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8} // Для проектів Kotlin kotlinOptions {jvmTarget = "1.8"}}


-1

машина: windows8 64bit у моєму випадку встановлений у мене jdk1.7 був 32-бітним, тому я використовував studio.exe (32bit), тому навіть коли я завантажував новий jdk1.8 (64bit) студійний екземпляр, який я використовував (32bit), не міг ' не виявляю його, але коли я видалив старіший jdk і спробував повторно запустити studio.exe, мені сказали встановити 32-бітний jdk. тому я запустив studio64.exe, і він пройшов гладко. переконайтеся, що ви маєте правильний шлях до змінних оточення. ура андроїд N


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