【问题标题】:Flutter run error : You have not accepted the license agreementsFlutter 运行错误:您尚未接受许可协议
【发布时间】: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.gradles .

【问题讨论】:

标签: android flutter android-sdk-tools


【解决方案1】:

试试这些:

  1. 打开你的终端
  2. 输入flutter doctor --android-licenses
  3. y 接受每个许可证。

【讨论】:

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

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

  1. 打开 android studio(如果有打开的项目就关闭) >> 配置 >> 外观和行为 >> Android SDK
  2. 转到 SDK 工具 标签
  3. 安装 Android SDK 命令行工具(最新)
  4. 打开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 的人来说很有用。

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

  1. 以管理员身份执行命令提示符。
  2. 运行命令flutter doctor --android-licenses 并接受所有许可证。
  3. 运行命令flutter doctor -v检查问题是否解决。
  4. 为确保一切正常,请以普通用户(您的用户)身份执行命令提示符,然后再次执行 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】:
      1. 打开 Android Studio
      2. 文件 → 设置 → 外观和行为 → 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 上完成环境变量设置

                          1. Android SDK
                          2. sdkmanager
                          3. Java
                          4. 颤动

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

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

                          【讨论】:

                            【解决方案18】:

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

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

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

                              我的:

                              C:\Program Files\Java\jdk-11.0.8\bin
                              C:\Program Files\Java\jdk-11.0.8
                              
                            2. 在命令行中运行flutter doctor --android-licenses 接受所有内容(点击y键,然后点击enter键)。

                            【讨论】:

                              【解决方案19】:

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

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

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

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

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

                              4. 运行flutter doctor --android-licenses

                              5. 然后点击y接受android许可

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

                              【讨论】:

                                【解决方案20】:

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

                                【讨论】:

                                  【解决方案21】:

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

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

                                  【讨论】:

                                    猜你喜欢
                                    • 1970-01-01
                                    • 2018-01-03
                                    • 1970-01-01
                                    • 2018-04-30
                                    • 2017-02-07
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 2017-03-16
                                    • 1970-01-01
                                    相关资源
                                    最近更新 更多