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

运行flutter doctor --android-licenses遇JNI错误,求解决及版本排查

解决flutter doctor --android-licenses的JNI错误问题

JNI错误大概率是Java版本不匹配导致的——Android Studio自带的JDK版本和系统全局的Java版本不一致,flutter doctor调用系统全局Java时,和Android SDK工具要求的版本产生冲突。

具体解决步骤

1. 确认版本差异

在终端/命令行执行以下命令,查看系统当前使用的Java版本:

java -version
javac -version

再对比Android Studio自带的JDK版本:打开Android Studio→File→Project Structure→SDK Location,复制JDK Location路径,进入该路径后执行bin/java -version查看版本。

2. 临时切换JDK(快速验证)

Windows系统:

set JAVA_HOME="C:\Program Files\Android\Android Studio\jbr"
flutter doctor --android-licenses

注:路径需根据你的Android Studio安装位置调整,新版用jbr目录,旧版可能是jre

macOS/Linux系统:

export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home"
flutter doctor --android-licenses

Linux路径一般为/opt/android-studio/jbr,根据实际安装位置调整

执行后再次运行flutter doctor --android-licenses,应该能正常进入许可证接受流程。

3. 永久设置Java环境变量

Windows系统:

  • 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
  • 在「系统变量」中找到JAVA_HOME,修改其值为Android Studio自带JDK的路径(比如C:\Program Files\Android\Android Studio\jbr)
  • 点击「确定」保存,重启终端后生效

macOS/Linux系统:

  • 编辑shell配置文件(bash用~/.bash_profile,zsh用~/.zshrc):
nano ~/.zshrc
  • 添加一行:
export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home"
  • 保存并退出,执行source ~/.zshrc使配置生效

4. 额外检查项

  • 打开Android Studio的SDK Manager→SDK Tools,确保**Android SDK Command-line Tools (latest)**已安装并更新到最新版本
  • 确认Flutter能识别Android SDK路径,执行:
flutter config --android-sdk "/path/to/your/android/sdk"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 12:53:21