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 ', в документации отсутствовали кавычки.
Phyrum Tea

@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 </ string>
santhyago

8
Оно работает! Спасибо за это решение. Возникает вопрос: почему Google хочет, чтобы его разработчики зря тратили время на эти вопросы?
Kotik_o

3
Спасибо за решение проблемы отсутствия документации в Google :). Интересно, почему здесь нет этой инструкции: developer.android.com/intl/pt-br/preview/setup-sdk.html#java8 (это ссылка, отображаемая в студии Android).
Totalys

7
Прекрасно работает!! К сожалению, при обновлении Android Studio (которое я только что сделал до последней версии) он сбрасывает файл Info.plist, поэтому мне приходится снова повторять шаги, чтобы изменить мою версию JVMVersion: <key>JVMVersion</key> <string>1.8</string>так раздражает Android Studio!
Micro

3
Android Studio 2.2 использует <string> 1.8 *, 1.8 + </string>.
jmnwong

147

Щелкните букву N рядом со значком Android в окне предварительного просмотра и выберите уровень API 23 или ниже. Это должно решить эту проблему.

Первый ряд иконок в окне rpeview


25
Но я хочу превью на N, а не на API 23.
mjosh

3
У меня возникла такая же проблема на моем Mac. понижение уровня 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. Это почему?
The_Martian

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

1
@The_Martian вам необходимо перезагрузить компьютер.
squeeish

1
На Mac OS я удаляю старую версию jdk. После этого Android Studio выберет последнюю версию
lopez.mikhael

1
@ lopez.mikhael, это единственное, что в итоге у меня сработало. Я изменил все возможные настройки, которые смог найти, настроил все именно так, как должен, и продолжал получать ошибку. В конце концов, я переместил старые каталоги jdk в подкаталог, который я назвал old_jdks в папке JavaVirtualMachine. Теперь все отлично работает.
zgc7009

27

Для пользователей Mac с этой проблемой (я использую OS X 10.11.5 и Android Studio 2.1.2), вот как вы можете ее решить:

В настоящее время версия Android Studio для Mac работает с 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. Файл> Сохранить Выберите формат файла Application . Сохраните его где-нибудь.
  3. Если вы хотите изменить значок, см. Здесь.
  4. Если хотите, перетащите приложение на панель запуска.

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

@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, я думаю, что это безопасно.
youngwind 05

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

2

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

Проверьте версию Java системы, в консоли "java -version" в выводе должно быть что-то вроде этого

java version "1.8.0_91"

Я установил JAVA_HOME = "/ Library / Java / JavaVirtualMachines / jdk1.8.0_91.jdk / Contents / Home" Должен ли STUDIO_SDK также быть "/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home"?
мифический

@Maven теоретически вы можете установить переменную STUDIO_SDK, которая будет путем SDK для запуска Android Studio (как сказано в параметрах конфигурации Studio tools.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_92JDK проекта в 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-студия: 2.1.2


1

Я решил это таким образом. (AS + MAC OX El Capitan)

  1. Обновление инструментов SDK> Инструменты платформы Android SDK
  2. Перейдите в Help> Edit Custom Properties> Появится диалоговое окно (нажмите Да), затем напишите

    JVMVersion=1.8 

Затем полностью закройте Android Studio и перезагрузите проект.



0

Моя проблема заключалась в том, что Android N был «частично установлен».

Мое решение состояло в том, чтобы перейти в - Настройки / Внешний вид и поведение / Системные настройки / Android SDK и проверить статус. Если он «установлен частично», вам необходимо удалить его, а затем установить заново. (Снимите флажок и нажмите «Применить»; он будет удален; затем вы можете установить флажок и установить его снова) Сработало для меня. Если вы переходите на более низкую версию (например, 23), вам нужно изменить переменную buildToolsVersion на «23.0.0» в build.gradle.


1
У меня после переустановки все еще написано "частично установлено".
Эндрю

Моя тоже "частично установилась" после переустановки. @ Андрей, ты потом нашел какое-нибудь решение?
мифический

@Maven для меня оказалось, что моя проблема заключалась в том, что я не выбирал правильный вариант сборки, когда пытался создать приложение.
Эндрю

0

Недавно я столкнулся с той же проблемой. Попробуйте изменить уровень предварительного просмотра API на 23 или ниже. Это сработало для меня.


0

Я столкнулся с той же проблемой. Убедитесь, что вы визуализируете XML-макет для скомпилированной версии SDK (не должно быть больше). Означает, что вы столкнетесь с этим, если компилируете код с использованием Tar Target SDK версии 23 и пытаетесь отобразить XML в SDK версии 24.


0

При установке STUDIO_JDK в Mac OS необходимо помнить несколько вещей:

  • по умолчанию Apple Java 1.6 используется для запуска Android Studio
  • когда STUDIO_JDK установлен на Oracle Java, он будет использоваться 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

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


-1

Убедитесь, что вы установили jdk для x64, а не x84 при запуске Android Studio (x64)

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.