Flutter安卓许可证问题:执行flutter doctor --android-licenses时JNI错误求助
Flutter Android许可证JNI错误解决方案
问题场景
配置Flutter开发环境时遇到Android许可证验证问题,执行flutter doctor检测结果如下:
[√] Flutter (Channel stable, 3.7.1, on Microsoft Windows [Version 10.0.22621.1105], locale en-US) [√] Windows Version (Installed version of Windows is version 10 or higher) [!] Android toolchain - develop for Android devices (Android SDK version 33.0.1) X Android license status unknown. Run `flutter doctor --android-licenses` to accept the SDK licenses. See https://flutter.dev/docs/get-started/install/windows#android-setup for more details. [√] Chrome - develop for the web [√] Visual Studio - develop for Windows (Visual Studio Community 2022 17.3.6) [√] Android Studio (version 2022.1) [√] VS Code (version 1.75.0) [√] Connected device (3 available) [√] HTTP Host Availability ! Doctor found issues in 1 category.
按提示执行flutter doctor --android-licenses时,抛出JNI错误:
Error: A JNI error has occurred, please check your installation and try again Exception in thread "main"
已确认本地java和javac版本一致。
解决方案
指定Android Studio自带JDK
- 打开Android Studio,进入
File > Project Structure > SDK Location - 查看
JDK Location路径(通常为Android Studio安装目录\jbr) - 将该路径设置为系统环境变量
JAVA_HOME的值 - 更新系统
Path变量,把该JDK目录下的bin文件夹移到最顶端,确保优先调用这个版本的Java
- 打开Android Studio,进入
重置并重新安装SDK命令行工具
- 找到Android SDK安装目录,进入
licenses文件夹,删除其中所有文件 - 打开Android Studio的SDK Manager,切换到
SDK Tools标签 - 勾选
Android SDK Command-line Tools (latest),点击Apply完成安装 - 重新执行
flutter doctor --android-licenses
- 找到Android SDK安装目录,进入
手动执行SDK许可证命令
- 打开命令提示符,切换到Android SDK的
cmdline-tools\latest\bin目录 - 执行命令
sdkmanager --licenses - 按提示输入
y接受所有许可证,完成后再运行flutter doctor验证状态
- 打开命令提示符,切换到Android SDK的
内容的提问来源于stack exchange,提问作者sobhan allah101
相关产品推荐
相关产品推荐

