执行flutter doctor --android-licenses时遇JNI错误求助
解决
flutter doctor --android-licenses的JNI版本兼容错误 问题根源
你遇到的UnsupportedClassVersionError是JDK版本不兼容导致的:
- 当前使用的JDK 1.8(对应class文件版本52.0)无法识别Android SDK命令行工具编译生成的class文件版本55.0(该版本对应JDK 11)
- 重装SDK命令行工具无法解决问题,核心矛盾是JDK版本不匹配
解决步骤
方法一:使用Android Studio自带的JDK(推荐)
- 打开Android Studio,进入
File > Settings > Build, Execution, Deployment > Build Tools > Gradle - 在
Gradle JDK下拉菜单中选择Android Studio自带的JDK(通常是jbr-11或更高版本的选项) - 找到该JDK的安装路径,默认位置一般为
C:\Program Files\Android\Android Studio\jbr,将其bin目录(C:\Program Files\Android\Android Studio\jbr\bin)添加到系统环境变量Path的最顶部 - 关闭所有终端和IDE,重新打开终端执行
java -version,确认输出为JDK 11及以上版本 - 再次运行
flutter doctor --android-licenses完成授权
方法二:手动安装JDK 11
- 下载JDK 11版本的OpenJDK(如社区维护的开源版本)
- 完成安装后,配置系统环境变量:
- 新建
JAVA_HOME变量,值为JDK 11的安装根目录(例如C:\Program Files\Adoptium\jdk-11.0.18.10-hotspot) - 将
%JAVA_HOME%\bin添加到Path变量的最顶部
- 新建
- 关闭所有终端和IDE,执行
java -version验证版本是否为11+ - 运行
flutter doctor --android-licenses完成授权
注意事项
- 确保系统环境变量
Path中,正确的JDK路径优先级最高,避免其他版本的JDK干扰 - 完成配置后,可执行
flutter doctor检查Android toolchain状态是否恢复正常
内容的提问来源于stack exchange,提问作者gag0
相关产品推荐
相关产品推荐

