我正在使用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
。
答案 0 :(得分:26)
这对我来说解决了问题,
然后打开cmd并运行flutter doctor
答案 1 :(得分:8)
试试这些:
flutter doctor --android-licenses
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)
打开安卓工作室 文件> 设置> 外观和行为> Android SDK> SDK 工具>清单Android SDK 命令行工具(最新)→ 应用→ 下载。
然后在你的 CLI 上运行这两个命令
flutter doctor --android-licenses 颤振医生(用于验证解决方案)
答案 8 :(得分:0)
答案 9 :(得分:0)
我已安装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 键)。
答案 10 :(得分:0)
我认为回答这个问题有点晚了,但是我认为这对于像我这样在Flutter创业的人很有用。
就我而言(在我的机器上),我执行了以下步骤:
在运行给定命令之前,请确保已在Windows / mac / i / Linux / Unix上完成环境变量设置
flutter doctor --android-licenses
y
接受每个许可证。flutter doctor -v
检查问题是否已解决; 答案 11 :(得分:0)
安装Android SDK工具(已淘汰)26.1.1为我工作。我在另一个链接上找到了这个。我将尝试在此处找到并粘贴。请记住取消选择过时显示,以便找到SDK。
此后,我能够执行Flutter doctor Android许可证并选择y。
答案 12 :(得分:0)
请使用工具-> SDK Manager->安装我们为模拟器选择的android操作系统。 并安装
答案 13 :(得分:0)
我认为回答这个问题有点晚了,但是我认为这对于像我这样在Flutter创业的人很有用。
在我的情况下(在我的机器上),我执行了以下步骤:
我希望这会有所帮助。
答案 14 :(得分:0)
打开命令提示符,然后运行flutter doctor --android-licenses并接受所有给定的许可证
答案 15 :(得分:-1)
我尝试运行 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
,会新建一个文件夹tools
运行flutter doctor --android-licenses
然后点击 y
检查flutter doctor
问题是否已解决:
答案 16 :(得分:-1)
我有 java 14 并且我遇到了这个问题,直到我确实设置了 java 8
答案 17 :(得分:-1)
这对我来说解决了这个问题,请按照以下步骤操作
flutter doctor --android-licenses
答案 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