Flutter:不接受某些 Android 许可证。不能接受许可

Posted

技术标签:

【中文标题】Flutter:不接受某些 Android 许可证。不能接受许可【英文标题】:Flutter: Some Android licenses not accepted. Cannot accept licenses 【发布时间】:2022-01-07 09:44:57 【问题描述】:

我无法接受许可。当我运行flutter doctor -v 时,会显示:

[!] android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /home/gledyson/bin/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /home/gledyson/bin/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses

然后我运行flutter doctor --android-licenses 并毫无错误地接受所有许可证。

最后,它说:

All SDK package licenses accepted

但是当我再次运行flutter doctor -v 时,警告仍然存在:

[!] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /home/gledyson/bin/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /home/gledyson/bin/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses

我已经安装了 Android SDK 和命令行工具(最新),如图所示: android sdk 1 android sdk 2

我的操作系统是 Linux Mint 20.2。

【问题讨论】:

尝试更改频道然后运行颤振医生 这里有几个选项:***.com/questions/48604914/… 我检查了链接,找到了一个建议直接运行sdkmanager的解决方案。所以我以提升的权限运行它:sudo ./sdkmanager --licenses。再次接受所有许可证并运行颤振医生,现在它已正确接受它们。 【参考方案1】:

我找到的解决方案是使用 sudo 以提升的权限直接运行 sdkmanager:

sudo ./sdkmanager --licenses

sdk/cmdline-tools/latest/bin下找到了sdk文件。

这解决了我的问题。

【讨论】:

以上是关于Flutter:不接受某些 Android 许可证。不能接受许可的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 医生不接受控制台中的 android 许可证

Flutter 应用程序构建失败 不接受包 Android SDK Build-Tools 29.0.2 的许可证

无法接受 Android 许可证 (Flutter)

Flutter:不能接受 android 许可证

Flutter 无法接受安卓许可

“未能安装以下 Android SDK 软件包,因为某些许可证尚未被接受”错误