接受Android许可证后Flutter框架崩溃问题求助
Flutter doctor --android-licenses 执行后崩溃但许可证已成功接受的问题解决
问题情况
刚格式化电脑重装了全套开发环境,包括Android Studio、OpenJdk 17.0.2和Flutter 3.27.1。执行flutter doctor --android-licenses接受Android许可证时,命令直接崩溃并输出一大段堆栈日志,但实际上所有许可证已经成功接受——flutter doctor显示无任何问题,而且Flutter应用在调试模式下也能正常运行。
大概率是这些原因
- 多Java版本冲突:系统里同时有Android Studio自带的JDK 21,以及给Flutter配置的OpenJDK 17,许可证命令执行时可能因为版本不兼容触发崩溃
- 许可证文件异常:虽然显示已接受,但SDK目录下的许可证文件可能存在损坏或格式问题,导致命令执行到最后出错
- 版本兼容性小问题:Flutter 3.27.1和Android SDK 35.0.1之间可能存在一些小版本适配问题
试试这些解决办法
1. 统一Java版本环境变量
- 把系统环境变量
JAVA_HOME设为D:\OpenJDK\17.0.2 - 调整
PATH变量,把%JAVA_HOME%\bin移到最顶部,确保终端优先用这个JDK - 重启终端后再跑一遍
flutter doctor --android-licenses
2. 重置Android许可证文件
- 找到Android SDK的许可证目录:
C:\Users\willi\AppData\Local\Android\sdk\licenses - 删除这个目录下的所有文件
- 重新执行
flutter doctor --android-licenses,逐个接受所有许可证
3. 调整Flutter版本
- 升级到最新稳定版试试:
flutter channel stable flutter upgrade - 要是想保留当前版本,也可以重新下载Flutter框架包,覆盖现有安装目录
4. 用Android Studio图形界面接受许可证
- 打开Android Studio,进入
设置 > 外观与行为 > 系统设置 > Android SDK > SDK工具 - 勾选右下角的
显示包详情,确保安装了最新版的Android SDK命令行工具 - 切换到
SDK许可协议页面,重新接受所有许可证,不用走命令行
补充
目前你的核心开发功能没受影响,应用能正常跑,flutter doctor也显示没问题,这个命令崩溃更多是命令行工具的小bug。但还是建议处理一下,避免后续操作可能踩坑。
内容的提问来源于stack exchange,提问作者William Saborido
相关产品推荐
相关产品推荐

