我正试图接受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
我在MacOS Ventura上。我今天安装了Android Studio。这就是我解决问题的方法:
cd /Applications/Android\Studio.app/Contents/jbr
ln-s…/jbr jdk
ln-s"/Library/Internet Plug-Ins/JavaAppletPlugin. plugin"jdk
之后我成功地同意了许可证。
这里和这里也提到了所有的步骤
更新
原来有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")