#macos #flutter #android-studio
Вопрос:
Я установил Android Studio Canary 2020.3.1.22
и пытаюсь запустить Flutter
проект Apple Silicon(ARM) Mac
. К сожалению, это дает мне эту ошибку, когда я пытаюсь запустить default
приложение flutter counter.
Вот ошибка, которую я получаю:
Could not open settings generic class cache for settings file '/Users/khamidjonkhamidov/StudioProjects/dummy/android/settings.gradle' (/Users/khamidjonkhamidov/.gradle/caches/6.7/scripts/f0emg6u6oecmxqzgk5g9nn4ui).
> BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 61
Gradle version: 6.7
но я попробовал 7
Версия JDK 17
Я был бы очень признателен вам за помощь)
Ответ №1:
Согласно официальным документам класса: Java 17 и более поздние версии еще не поддерживаются.
Вы можете проверить совместимость здесь.
Поэтому я установил Java11
из Azul.
p.s. не забудьте изменить версию jdk в Android studio
Preferences -> Build -> Build Tools -> Gradle -> Gradle JDK
Комментарии:
1. У меня та же проблема при попытке перенести мою сборку класса с Java 8 на Java 17.
2. По состоянию на Gradle v7.3.0 Java 17 работает нормально
Ответ №2:
В принципе, я установил jdk, используя brew install java
который, я думаю, был несовместим с моим текущим классом. Так
- Я сначала удалил java, используя:
brew uninstall java
- установлен
JDK 8 or JDK 11
из azul. - Установленный градусник: gradle-6.9-all.zip
Когда все было сделано, все прошло гладко.
Ответ №3:
Во-первых, вы можете выполнить эту команду: /usr/libexec/java_home -V
, чтобы получить все установленные jdsk:
[~]$ /usr/libexec/java_home -V
Matching Java Virtual Machines (4):
17.0 (x86_64) "Oracle Corporation" - "OpenJDK 17.0" /Users/ciccio/Library/Java/JavaVirtualMachines/openjdk-17.0/Contents/Home
14.0.1 (x86_64) "Oracle Corporation" - "OpenJDK 14.0.1" /Users/ciccio/Library/Java/JavaVirtualMachines/openjdk-14.0.1/Contents/Home
11.0.12.1 (x86_64) "Amazon.com Inc." - "Amazon Corretto 11" /Users/ciccio/Library/Java/JavaVirtualMachines/corretto-11.0.12/Contents/Home
10.0.2 (x86_64) "Oracle Corporation" - "Java SE 10.0.2" /Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home
1.8.0_302 (x86_64) "Amazon" - "Amazon Corretto 8" /Users/ciccio/Library/Java/JavaVirtualMachines/corretto-1.8.0_302/Contents/Home
Теперь представьте, что вы хотите удалить версию 17:
[~]$ java -version
openjdk version "17" 2021-09-14
OpenJDK Runtime Environment Homebrew (build 17 0)
OpenJDK 64-Bit Server VM Homebrew (build 17 0, mixed mode, sharing)
Перейдите по пути к версии, которую вы хотите удалить (в данном случае «/Пользователи/ciccio/Библиотека/Java/JavaVirtualMachines/openjdk-17.0/Содержимое/Главная страница»), и удалите всю папку: «/Пользователи/ciccio/Библиотека/Java/JavaVirtualMachines/openjdk-17.0«.
После удаления вернитесь на терминал и используйте:
[~]$ /usr/libexec/java_home -v 14.0.1 --exec javac -version
javac 14.0.1
чтобы принудительно использовать новую версию (14.0.1).
Следующая проверка правильности:
[~]$ java -version
openjdk version "14.0.1" 2020-04-14
OpenJDK Runtime Environment (build 14.0.1 7)
OpenJDK 64-Bit Server VM (build 14.0.1 7, mixed mode, sharing)
[~]$
Теперь ваш выпускник вернулся к работе.