Flutter运行异常:执行flutter doctor --android-licenses后仍提示Android许可未接受
解决步骤
- 确认Android SDK环境变量配置正确
打开当前用户的shell配置文件(使用Bash则编辑~/.bashrc,使用Zsh则编辑~/.zshrc),确认存在以下配置:
保存后执行export ANDROID_HOME=/home/gledyson/bin/sdk export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin export PATH=$PATH:$ANDROID_HOME/platform-toolssource ~/.bashrc(对应你使用的shell配置文件)使配置生效。 - 手动调用sdkmanager接受许可
执行以下命令重新接受所有许可,避免flutter调用sdkmanager时路径匹配错误:
按照提示输入sdkmanager --licensesy确认所有许可,直到提示所有许可已接受。 - 修正Android SDK目录权限
目录权限不足会导致许可文件写入失败,执行以下命令修正权限:sudo chown -R $USER:$USER /home/gledyson/bin/sdk - 手动指定flutter识别的Android SDK路径
避免flutter读取到错误的SDK位置,执行命令手动指定:flutter config --android-sdk /home/gledyson/bin/sdk - 重装对应版本的build-tools
若以上步骤都无效,可能是31.0.0版本build-tools的许可记录异常,先卸载再重装:
重装完成后再次执行sdkmanager --uninstall "build-tools;31.0.0" sdkmanager --install "build-tools;31.0.0"sdkmanager --licenses确认所有许可已接受。 - (可选)确认Java版本匹配
若系统安装了多个Java版本,执行java -version确认当前默认Java版本和flutter doctor输出的Java版本(11.0.10)一致,避免不同Java版本生成的许可文件不兼容。
全部操作完成后重新执行flutter doctor -v验证警告是否消失。
内容的提问来源于stack exchange,提问作者G. ShadowBroker
相关产品推荐
相关产品推荐

