Флаттер не использует jdk из JAVA_HOMEJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Флаттер не использует jdk из JAVA_HOME

Сообщение Anonymous »

В настоящее время я разрабатываю приложение Flutter для своего Mac и пытаюсь протестировать свое приложение на эмуляторе Android. Чтобы облегчить это, я установил Android Studio вместе с Android SDK. Запуск flutter Doctor --verbose показывает, что все настроено правильно. (никаких предупреждений и ошибок)
Однако я столкнулся с проблемой, связанной с версиями Java. Когда я пытаюсь запустить свое приложение для Android, я получаю сообщение об ошибке, в котором говорится, что моя версия Gradle (Gradle-6.9.3, которую я предпочитаю не менять) несовместима с моим JDK. Согласно сообщению об ошибке, для обеспечения совместимости моя система должна использовать Java 15.
Когда я запускаю java --version, выходные данные показывают, что я действительно использую Java 15. Кроме того, я установил переменную среды $JAVA_HOME на вывод /usr/libexec/java_home -v 15, поэтому она должна ссылаться на правильную версию Java.
Однако проблема остается. Когда я выполняю flutter Doctor --verbose, он возвращает Java-версию среды выполнения OpenJDK (сборка 17.0.6+0-17.0.6b802.4-9586694). Это говорит о том, что Flutter использует Java 17 вместо Java 15, на который ссылается $JAVA_HOME.
Моя гипотеза состоит в том, что либо Flutter, либо Android Studio могут использовать свои собственные встроенные JDK, который, похоже, отменяет настройки моей системы. Я ищу способ изменить это поведение, чтобы Flutter использовал версию JDK, указанную в $JAVA_HOME.
Чтобы решить эту проблему, я установил Java 15. и соответствующим образом настроил переменную среды $JAVA_HOME. Кроме того, я изменил команду Flutter так, чтобы она устанавливала правильное значение $JAVA_HOME непосредственно перед выполнением Flutter.
Несмотря на эти изменения, кажется, что Flutter по-прежнему игнорирует $JAVA_HOME. и вместо этого использовать встроенную версию Java. Это проблематично, поскольку мне нужно использовать Java 15 для совместимости с другими инструментами и библиотеками в моем проекте.
Я рассматривал возможность полного удаления Java 17 из моей системы как потенциальное решение. Однако когда я запустил sudo /usr/bin/find / -name "*.jdk", чтобы найти все установленные JDK, мне не удалось найти JDK 17. Кроме того, запустив /usr/libexec/java_home -V< /code> не показывает JDK 17.
Я ожидал, что Flutter будет использовать версию JDK, указанную в переменной среды $JAVA_HOME. Вместо этого он, похоже, использует свою собственную версию, независимо от настроек моей системы.
Есть ли у кого-нибудь идеи, как это исправить? Любой совет или руководство будут очень признательны. Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/766 ... -java-home
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»