Flutter 运行错误:您尚未接受许可协议

Posted

技术标签:

【中文标题】Flutter 运行错误:您尚未接受许可协议【英文标题】:Flutter run error : You have not accepted the license agreements 【发布时间】:2018-07-14 06:24:29 【问题描述】:

我正在使用 Google flutter 开发 androidios 应用程序。 当我向pubspec.yaml 添加shared_preferences 之类的新依赖项,然后在终端中执行flutter run 时,出现此错误:

出了什么问题:配置项目“:shared_preferences”时出现问题。 您尚未接受以下 SDK 组件的许可协议:[Android SDK Platform 27]。

我知道为什么会这样!因为我系统上最新的 Android SDK 平台是 26 。它尝试下载 sdk 27​​,然后失败。没问题!我转到位于此处的库缓存文件夹:

C:\Users...\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\shared_preferences-0.3.1\android

并编辑build.gradle 文件并将compileSdkVersion 27 更改为compileSdkVersion 26。它有效。 到目前为止,我必须为所有新依赖项执行此操作,有没有什么方法可以为所有依赖项定义全局 build.gradle 文件? 所以不需要单独编辑每个 buil.gradles .

【问题讨论】:

d.android.com/r/studio-ui/export-licenses.html 看看这个 也尝试安装android studio并运行developer.android.com/studio/intro/update.html#sdk-manager 如果还是不行,报告github.com/flutter/flutter/issues/8438 另请参阅! (包括屏幕截图。)***.com/questions/60460429/… 在 Android Studio 中,您应该检查以确保安装了 Android SDK 命令行工具。添加这个解决了我在 Flutter 中的问题。 ***.com/a/67791870/8094969 【参考方案1】:

试试这些:

    打开你的终端 输入flutter doctor --android-licensesy 接受每个许可证。

【讨论】:

@DanielGomezRico 因为它不适用于许多人 我的没有显示任何东西......下班后找到这个解决方案:如果命令行没有显示 (y/n) 请安装 CMake 和 NDK 或安装其他版本的命令行工具 对于 CI 系统 - 使用 yes | flutter doctor --android-licenses 避免提示【参考方案2】:

这对我解决问题很有帮助,

    打开 android studio(如果有打开的项目就关闭) >> 配置 >> 外观和行为 >> Android SDK 转到 SDK 工具 标签 安装 Android SDK 命令行工具(最新) 打开cmd运行yes | flutter doctor --android-licenses

然后打开cmd运行flutter doctor

【讨论】:

是的,这对我有用。我正要添加一个帖子,但我在这里找到了它。我正在使用 Ubuntu 20.04 LTS & Android Studio v4.2.1 & Flutter v2.2.0 那么在安装完Android SDK命令行工具(最新版)之后,你现在可以运行flutter doctor --android-licenses并一一接受了。 这对我有用,使用 Mac OS X Big Sur。非常感谢! 它有帮助,我取得了一些进展,我接受了所有执照,但医生仍然说 7 个人中有 5 个人不接受。我按照程序再次接受许可证,重新启动系统,但没有帮助 为我工作。谢谢! :)【参考方案3】:

我认为回答这个问题有点晚了,但我认为这对于像我这样刚开始使用 Flutter 的人来说很有用。

就我而言(在我的机器上),我执行了以下步骤:

    以管理员身份执行命令提示符。 运行命令flutter doctor --android-licenses 并接受所有许可证。 运行命令flutter doctor -v检查问题是否解决。 为确保一切正常,请以普通用户(您的用户)身份执行命令提示符,然后再次执行 flutter doctor -v

【讨论】:

以管理员身份运行 cmd 是我的重点。如果你不以管理员身份运行,虽然我对所有人都说是,但它仍然显示许可证未被接受 这个答案应该被标记为答案。当我来到该页面时,我向下滚动整个页面以找到答案,然后我尝试了这个并且它正在工作。 这是真正的答案。 @Emil,谢谢。所有人的附加信息:您应该以管理员身份启动 cms。 1. 按“win”按钮打开开始菜单。 2. 输入EditText“cmd”来搜索命令提示符。 3. 按 ctrl+shift+enter 以管理员身份启动命令提示符。【参考方案4】:

对我来说,flutter doctor --android-licenses 出于某种原因不起作用。

唯一有效并解决问题的命令是:

(your android_sdk folder exact path)\tools\bin\sdkmanager --licenses

【讨论】:

很高兴我能帮上忙 我白白花了 4 小时。最后,这对我有用。谢谢! 感谢您的回答,它对我有用,赞成【参考方案5】:

首先确保您的设备上安装了 Android SDK。 另请查看是否未安装 2 个 Android SDK!

然后只需输入终端或 CMD flutter doctor --android-licenses 然后按y,直到获得所有权限。

【讨论】:

【参考方案6】:

如果您在 windows 中以管理员身份打开命令提示符并运行以下命令。

flutter doctor --android-licenses

然后输入y for all (y/n) 接受协议。

【讨论】:

【参考方案7】:
    打开 Android Studio 文件 → 设置 → 外观和行为 → Android SDK → SDK 工具 → 清单 Android SDK 命令行工具(最新) → 应用 → 下载。

3。完毕。 4.打开cmd运行yes | flutter doctor --android-licenses

【讨论】:

【参考方案8】:

打开命令提示符,然后运行 ​​flutter doctor --android-licenses 并接受所有给定的许可证。

【讨论】:

【参考方案9】:

对于较新的安装(尤其是在 MacOS 上),颤振 doctor --android-licenses 不起作用。运行以下命令(注意 sdk 命令行工具的新路径),您将能够接受许可证:

~/Library/Android/sdk/cmdline-tools/latest/bin/sdkmanager --licenses

【讨论】:

【参考方案10】:

我在重新安装 Flutter 时遇到了同样的问题。

我所做的是,我去了Android Studio的欢迎页面>配置>SDK Manager>SDK工具>

勾选→“Android SDK Command-line Tools (latest)”

之后,我就可以跑步了

flutter doctor --android-licenses

并接受 SDK 许可。

它可能对某些人不起作用,但它对我有用,所以我将分享。

【讨论】:

【参考方案11】:

打开 Android Studio:

文件 > 设置> 外观和行为> A​​ndroid SDK> SDK 工具 >Checklist Android SDK 命令行工具(最新)→ 应用 → 下载。

然后在 CLI 上运行这两个命令

颤振医生 --android-licenses 颤振医生(用于验证解决方案)

【讨论】:

【参考方案12】:

对我来说,CMD 没有在提示符后显示任何内容:

flutter doctor --android-licenses 

下班后找到此解决方案

如果命令行没有显示 (y/n) 请安装 CMake 和 NDK 或 安装其他版本的命令行工具

【讨论】:

【参考方案13】:

安装 Android SDK 工具(已过时)26.1.1 对我有用。我在另一个链接上找到了这个。我会尝试在这里找到并粘贴。记得取消选择 show obsolete 以便您可以找到 SDK。

在这之后,我可以做 Flutter Doctor Android Licenses 并选择 y。

【讨论】:

【参考方案14】:

首先你安装https://developer.android.com/studio#command-tools

解压你有一个这样的文件夹...\cmdline-tools 在 cmdline-tools 文件夹中创建名称“latest”文件夹并包含其他文件夹,然后复制到 android-sdk 路径中,如下所示 enter image description here

像这样更新 sdkmanager enter image description here

最后运行 flutter doctor --android-licenses

【讨论】:

【参考方案15】:

转到工具-->sdk manager-->安装我们为模拟器选择的android OS并安装它。

【讨论】:

【参考方案16】:
C:\Users\bansal>flutter doctor --android-licenses

需要更新版本的 Android SDK。要更新,请运行:

D:\android SDK\tools\bin\sdkmanager --update

【讨论】:

【参考方案17】:

我认为回答这个问题有点晚了,但我认为这对于像我这样刚开始使用 Flutter 的人来说很有用。

就我而言(在我的机器上),我执行了以下步骤:

在运行给定命令之前,请确保您已在 windows/mac/i/Linux/Unix 上完成环境变量设置

    Android SDK sdkmanager Java 颤动

注意:- 使用您的系统路径更新变量路径 例如

    以管理员身份执行命令提示符;运行命令flutter doctor --android-licensesy 接受每个许可证。; flutter doctor -v 检查问题是否已解决;

【讨论】:

【参考方案18】:

我安装了java SE 11 并设置了它的变量。

它以某种方式干扰了颤振!

    仔细检查您的 java 路径条目。转到您的 java 环境变量并仔细检查您的路径条目。将其中一个放在垃圾箱中,然后取出另一个。

    我的:

    C:\Program Files\Java\jdk-11.0.8\bin
    C:\Program Files\Java\jdk-11.0.8
    

    在命令行中运行flutter doctor --android-licenses 接受所有内容(点击y键,然后点击enter键)。

【讨论】:

【参考方案19】:

我尝试运行flutter -v doctor --android-licenses,但看起来--android-licenses 没有使用通常的方式来启动应用程序。

在这种情况下,我按照这个命令解决了它

    C:\Users\%username%\AppData\Local\Android\Sdk\tools 文件夹重命名为tool

    在cmd中导航到cd C:\Users\%username%\AppData\Local\Android\Sdk\tool\bin

    并运行sdkmanager --update --verbose,将创建一个新文件夹工具

    运行flutter doctor --android-licenses

    然后点击y接受android许可

    查看flutter doctor 问题是否已解决:

【讨论】:

【参考方案20】:

我有 java 14,在我设置 java 8 之前我遇到了这个问题

【讨论】:

【参考方案21】:

这对我解决这个问题很有用,请按照以下步骤操作

    android studio>>文件>>搜索android sdk>>选择SDK工具(TAB) 然后选择android sdk平台工具(取消勾选)然后点击apply WAIT 现在返回 SDK 工具(TAB)然后选择 android sdk platform tools(check) 然后点击应用 现在以管理员权限运行flutter doctor --android-licensesin cmd 单击 y 并全部接受。希望以上步骤可以帮助您解决问题。

【讨论】:

以上是关于Flutter 运行错误:您尚未接受许可协议的主要内容,如果未能解决你的问题,请参考以下文章

由于未接受许可协议,run-android 无法运行

Flutter 无法接受安卓许可

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

不接受软件包 Android SDK Platform 23 的许可

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

不接受某些 Android 许可证。要解决此问题,请运行:flutter doctor --android-licenses