Flutter run error:您尚未接受许可协议

时间:2018-02-04 05:07:52

标签: android flutter android-sdk-tools

我正在使用Google flutter开发Android和ios应用 当我向shared_preferences添加新的依赖项pubspec.yaml然后在终端中执行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

20 个答案:

答案 0 :(得分:26)

这对我来说解决了问题,

  1. 打开android studio(如果有项目则关闭)>>配置>>外观和行为>>Android SDK
  2. 转到SDK 工具标签
  3. 安装 Android SDK 命令行工具(最新)

enter image description here

然后打开cmd并运行flutter doctor

答案 1 :(得分:8)

试试这些:

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

答案 2 :(得分:7)

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

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

答案 3 :(得分:6)

如果您在Windows中,以admin身份打开命令提示符,然后运行以下命令。

flutter doctor --android-licenses

然后为所有(y / n)输入y以接受协议。

答案 4 :(得分:2)

对我来说,flutter doctor --android-licenses由于某种原因无效。

唯一有效的cmd&解决了这一切是这样的:

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

答案 5 :(得分:2)

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

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

答案 6 :(得分:0)

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

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

勾选→>“Android SDK 命令行工具(最新)”

之后,我就可以跑了

flutter doctor --android-licenses

并接受 SDK 许可。

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

答案 7 :(得分:0)

打开安卓工作室 文件> 设置> 外观和行为> A​​ndroid SDK> SDK 工具>清单Android SDK 命令行工具(最新)→ 应用→ 下载。

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

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

答案 8 :(得分:0)

  1. 打开 Android Studio
  2. 文件→设置→外观和行为→Android SDK→SDK工具→清单Android SDK命令行工具(最新)→应用→下载。 enter image description here

3.完成

答案 9 :(得分:0)

我已安装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 键)。

答案 10 :(得分:0)

我认为回答这个问题有点晚了,但是我认为这对于像我这样在Flutter创业的人很有用。

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

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

  1. Android SDk
  2. sdkmanager
  3. Java
  4. 扑扑

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

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

答案 11 :(得分:0)

安装Android SDK工具(已淘汰)26.1.1为我工作。我在另一个链接上找到了这个。我将尝试在此处找到并粘贴。请记住取消选择过时显示,以便找到SDK。

此后,我能够执行Flutter doctor Android许可证并选择y。

答案 12 :(得分:0)

请使用工具-> SDK Manager->安装我们为模拟器选择的android操作系统。 并安装

答案 13 :(得分:0)

我认为回答这个问题有点晚了,但是我认为这对于像我这样在Flutter创业的人很有用。

在我的情况下(在我的机器上),我执行了以下步骤:

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

enter image description here

我希望这会有所帮助。

答案 14 :(得分:0)

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

答案 15 :(得分:-1)

我尝试运行 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,会新建一个文件夹tools

  4. 运行flutter doctor --android-licenses

  5. 然后点击 y

    接受安卓许可
  6. 检查flutter doctor问题是否已解决:

答案 16 :(得分:-1)

我有 java 14 并且我遇到了这个问题,直到我确实设置了 java 8

答案 17 :(得分:-1)

这对我来说解决了这个问题,请按照以下步骤操作

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

答案 18 :(得分:-1)

首先安装 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

答案 19 :(得分:-2)

<input type="text" tabindex="3" class="form-control" name="making_charge" oninput="calculate()" placeholder="Making Charge" id="box1" required />

<input type="text" tabindex="3" class="form-control" name="making_charge" oninput="calculate()" placeholder="Making Charge" id="box2" required />

<input type="text" tabindex="3" class="form-control" name="making_charge" oninput="calculate()" placeholder="Making Charge" id="box3" required />

<input name="total_price" placeholder="Total Price" id="result" readonly />

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

C:\Users\bansal>flutter doctor --android-licenses