Что не так, если врач flutter скажет вам: JAVA_HOME установлен в недопустимый каталог?

#java #linux #flutter #flutter-doctor

Вопрос:

Запуск flutter doctor на терминале Android Studio печатает:

 [!] Android toolchain - develop for Android devices (Android SDK version 31.0.0-rc2)  ✗ Android license status unknown.  Run `flutter doctor --android-licenses` to accept the SDK licenses.  See https://flutter.dev/docs/get-started/install/linux#android-setup for more details.  

Выполнение предложенной flutter doctor --android-licenses команды завершается ошибкой с:

 ERROR: JAVA_HOME is set to an invalid directory: /usr/bin/java  Please set the JAVA_HOME variable in your environment to match the location of your Java installation.  

Как ни странно, which java отпечатки /usr/bin/java (которые совпадают JAVA_HOME )

Так что, похоже, все должно быть в порядке… Но почему Флаттер недоволен дорогой в JAVA_HOME ? И как это можно исправить?

Комментарии:

1. JAVA_HOME должен указывать на папку (каталог), содержащую набор для разработки Java. /user/bin/java это файл (исполняемый файл) или, возможно, символическая ссылка.

2. Сделайте ls -l /usr/bin/java это и начните переходить по ссылкам на базовый каталог jdk. У моей установки Linux есть два прыжка, чтобы добраться до нее.

3. @MarkRotteveel и Энди: Спасибо за вашу помощь! Я все починил…

Ответ №1:

Сначала загрузите последние доступные инструменты для Android из меню настройка gt; Менеджер SDK gt;gt; Инструменты SDK и убедитесь, что вы правильно установили JDK, а затем запустите flutter doctor-android-лицензия.