You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Java Native Interface错误?执行flutter doctor --android licence报错求助

Flutter Doctor Android Licences 执行时JNI错误的排查与解决

错误常见原因

  • JDK版本不兼容:Flutter依赖的Android开发工具链对JDK版本有严格要求,过旧(如JDK 8及更早)或过新(如JDK 17+)的版本会出现JNI接口不匹配问题
  • 环境变量配置异常:JAVA_HOME指向的JDK路径错误,或系统PATH中存在多个JDK版本,导致调用时加载了错误的JNI库文件
  • Android SDK工具损坏:Android SDK中的sdkmanager或相关组件的JNI绑定文件损坏,触发调用失败
  • 系统架构不匹配:安装的JDK架构(32/64位)与当前系统不兼容,导致JNI库无法正常加载

是否需要卸载重装JDK?

优先排查以下步骤,无需直接卸载:

  1. 验证JAVA_HOME和PATH配置:执行echo %JAVA_HOME%(Windows)或echo $JAVA_HOME(Linux/macOS),确认路径指向正确的JDK目录;同时运行java -version和javac -version,确保版本一致
  2. 更新Android SDK工具:打开Android Studio的SDK Manager,将Android SDK Build-Tools更新至最新稳定版,修复可能损坏的组件
  3. 清理缓存:删除Android SDK目录下的.cache文件夹,重新运行flutter doctor --android-licences

若以上操作后错误仍存在,再考虑卸载现有JDK并重装。

推荐的JDK版本

Flutter官方推荐使用OpenJDK 11或Oracle JDK 11:

  • 这是当前Android开发生态的稳定兼容版本,适配所有主流系统
  • 避免使用JDK 8(部分新Android工具已停止支持)和JDK 17+(JNI接口适配尚未完全成熟)
  • 选择与系统架构匹配的安装包(64位系统选x64版本,32位选x86版本)

内容的提问来源于stack exchange,提问作者Shyam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 02:10:02