- Вопрос или проблема
- C:\Users\lenovo>flutter doctor
- [√] Flutter (Канал стабильный, 3.24.3, на Microsoft Windows [Версия 10.0.22631.4317], локаль en-US)
- [√] Версия Windows (Установленная версия Windows – версия 10 или выше)
- [!] Инструменты Android – разработка для устройств на Android (Версия Android SDK 34.0.0)
- C:\Users\lenovo>java -version
- и:
- C:\Users\lenovo>echo %JAVA_HOME%
- Ответ или решение
- Понимание проблемы
- Решение проблемы
- Дополнительные советы
Вопрос или проблема
C:\Users\lenovo>flutter doctor
Итог доктора (чтобы увидеть все детали, выполните flutter doctor -v):
[√] Flutter (Канал стабильный, 3.24.3, на Microsoft Windows [Версия 10.0.22631.4317], локаль en-US)
[√] Версия Windows (Установленная версия Windows – версия 10 или выше)
[!] Инструменты Android – разработка для устройств на Android (Версия Android SDK 34.0.0)
X Не удается выполнить C:\Program Files (x86)\Common Files\Oracle\Java\java8path\java.exe\bin\java для определения
версии
(C:\Program Files (x86)\Common Files\Oracle\Java\java8path\java.exe\bin\java) этот путь не содержит java.
Я настроил путь к java в переменных окружения и убедился, что это работает, запустив:
C:\Users\lenovo>java -version
java версия “11.0.25” 2024-10-15 LTS
Java(TM) SE Runtime Environment 18.9 (сборка 11.0.25+9-LTS-256)
Java HotSpot(TM) 64-Битный Сервер VM 18.9 (сборка 11.0.25+9-LTS-256, смешанный режим)
и:
C:\Users\lenovo>echo %JAVA_HOME%
C:\Program Files\Java\jdk-11 (это путь, где находится java)
Так как же мне изменить неправильный путь к инструментам Android?
Ответ или решение
Когда вы запускаете команду flutter doctor
, и инструмент Android Toolchain пытается выполнить неверный путь к Java, это может быть связано с неправильной настройкой переменных окружения, связанных с Java. В вашем случае ошибка выглядит следующим образом:
X Cannot execute C:\Program Files (x86)\Common Files\Oracle\Java\java8path\java.exe\bin\java to determine the version
(C:\Program Files (x86)\Common Files\Oracle\Java\java8path\java.exe\bin\java) this path doesn't contain java.
Понимание проблемы
Из сообщения об ошибке видно, что Flutter пытается получить доступ к Java по пути, который не содержит исполняемого файла Java. Обратите внимание, что фактический путь к вашему установленному Java SDK — C:\Program Files\Java\jdk-11
. Следовательно, необходимо убедиться, что переменные окружения корректно настроены и указывают на правильный путь.
Решение проблемы
Для исправления проблемы выполните следующие действия:
-
Проверьте
JAVA_HOME
:
Убедитесь, что переменная окруженияJAVA_HOME
указывает на путь к установленному JDK. В вашем случае она уже указывает наC:\Program Files\Java\jdk-11
, что является корректным.Чтобы проверить переменную окружения
JAVA_HOME
:- Откройте командную строку и введите:
echo %JAVA_HOME%
- Убедитесь, что вывод соответствует ожидаемому пути.
- Откройте командную строку и введите:
-
Настройте
Path
:
Необходимо убедиться, что в переменной окруженияPath
присутствует правильный путь к Java, который представляет собойC:\Program Files\Java\jdk-11\bin
. Добавить этот путь вPath
можно следующим образом:- Откройте меню "Параметры системы":
- Кликните правой кнопкой мыши на "Этот компьютер" и выберите "Свойства".
- Перейдите в раздел "Дополнительные параметры системы" и нажмите кнопку "Переменные среды".
- В разделе "Системные переменные" найдите переменную
Path
, выделите её и нажмите "Изменить". - Добавьте новый путь:
C:\Program Files\Java\jdk-11\bin
- Откройте меню "Параметры системы":
-
Удалите старые пути:
Убедитесь, что в переменнойPath
нет устаревших записей, которые могли бы указывать на предыдущие установки Java, такие как:C:\Program Files (x86)\Common Files\Oracle\Java\java8path\java.exe\bin
Удалите или измените эти записи, чтобы они не конфликтовали с текущей установкой JDK.
-
Перезапустите командную строку:
После внесения изменений в переменные окружения перезапустите все открытые окна командной строки или PowerShell, так как они не будут видеть обновленные переменные, пока не будут перезапущены. -
Запустите
flutter doctor
заново:
После того как вы внесли изменения, выполните команду:flutter doctor
Это должно вернуть корректное сообщение о проблемах, если такие имеются.
Дополнительные советы
-
Обновите Flutter и Dart SDK: Убедитесь, что вы используете последнюю версию Flutter и Dart. Это можно сделать, выполнив команду:
flutter upgrade
-
Проверка других установок Java: Если у вас несколько установок Java, может потребоваться удалить менее важные версии, чтобы избежать путаницы.
Если после выполнения этих шагов проблема сохраняется, рассмотрите возможность переустановки Java JDK и настройки переменных окружения заново.