提问者:小点点

flutter医生--android许可证由于java. lang.Un支持的类版本错误而不起作用


我正试图接受flutter医生--android-许可证,但我得到这个错误:

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/android/prefs/AndroidLocationsProvider has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

共3个答案

匿名用户

我在MacOS Ventura上。我今天安装了Android Studio。这就是我解决问题的方法:

  1. 下载的JDK19
  2. 按照此链接中提到的步骤
  3. 由于我运行Android Studio Electric Eel,打开终端并运行此命令cd /Applications/Android\Studio.app/Contents/jbr
  4. 然后在ln-s…/jbr jdk
  5. 之后运行此命令
  6. 最后,ln-s"/Library/Internet Plug-Ins/JavaAppletPlugin. plugin"jdk
  7. 转到Finder-

之后我成功地同意了许可证。

这里和这里也提到了所有的步骤

匿名用户

更新

原来有2JDK安装在我的环境中,你可以通过使用检查

/usr/libexec/java_home -V

因此,删除旧的JDK版本后,问题得到了解决。

有同样的错误,虽然这是我的java--version输出

java 19.0.1 2022-10-18
Java(TM) SE Runtime Environment (build 19.0.1+10-21)
Java HotSpot(TM) 64-Bit Server VM (build 19.0.1+10-21, mixed mode, sharing)

这发生在我升级到flutter 3.7.1之后

匿名用户

我有同样的错误,我没有指定JAVA_HOMEenv,flutter使用了我的1.8java。

对于macOS:在终端中检查您的JAVA_HOME环境

printenv

如果env不存在,列出已安装java版本

/usr/libexec/java_home -V

选择一个并执行

export JAVA_HOME=$(/usr/libexec/java_home -v"YOUR_VERSION")