Flutter 运行错误:您尚未接受许可协议
Posted
技术标签:
【中文标题】Flutter 运行错误:您尚未接受许可协议【英文标题】:Flutter run error : You have not accepted the license agreements 【发布时间】:2018-07-14 06:24:29 【问题描述】:我正在使用 Google flutter 开发 android 和 ios 应用程序。
当我向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.gradle
s .
【问题讨论】:
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-licenses
按y
接受每个许可证。
【讨论】:
@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:
文件 > 设置> 外观和行为> Android 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-licenses
按y
接受每个许可证。;
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-licenses
in cmd
单击 y 并全部接受。希望以上步骤可以帮助您解决问题。
【讨论】:
以上是关于Flutter 运行错误:您尚未接受许可协议的主要内容,如果未能解决你的问题,请参考以下文章
“未能安装以下 Android SDK 软件包,因为某些许可证尚未被接受”错误
不接受软件包 Android SDK Platform 23 的许可
Flutter:不接受某些 Android 许可证。不能接受许可
不接受某些 Android 许可证。要解决此问题,请运行:flutter doctor --android-licenses