因为gradle android插件2.2-alpha4:

Gradle会尝试下载项目中缺失的SDK包 取决于

这非常酷,是杰克·沃顿的一个项目。

但是,要下载SDK库,你需要:接受许可协议,否则gradle会告诉你:

您还没有接受以下SDK的许可协议 组件:[Android SDK Build-Tools 24, Android SDK Platform 24]。 在构建项目之前,您需要接受许可证 协议并完成缺少组件的安装 使用Android Studio SDK管理器。或者,学习如何 将许可证协议从一个工作站转移到另一个工作站,转到 http://d.android.com/r/studio-ui/export-licenses.html

这是一个问题,因为我想在做gradle构建时安装所有的sdk依赖。

我正在寻找一个解决方案,自动接受所有的许可证。也许是一个gradle脚本? 你有什么想法吗?


当前回答

在android sdk管理器选项卡中卸载licence失败的包。 重新安装时,将提示您接受许可证

其他回答

截至2019年7月,最简单的方法是在命令提示符中使用:flutter doctor -android-licenses。

它继续逐个显示sdk的未接受的T&C,并给你选择“y/n”的选项。全部选择y。

或者,当您运行flutter doctor时,它将运行Android工具链诊断,显示有多少许可证尚未被接受,并建议您使用——Android -licenses标志运行它。

从这个链接下载SDK管理器。然后在终端中解压缩并使用以下命令。

!tools/bin/sdkmanager --sdk_root=/usr/lib/android-sdk --licenses <<< $'y\ny\ny\ny\ny\ny\ny\n'

最后,这两个简单的步骤在windows 10上为我工作了。

1)确保更新android构建工具和api。在你的Android Sdk上,只需点击安装包来安装可用的更新。

2)启动你的Android Studio,你会被提示为已经更新的api和工具安装所需的构建工具,这将安装构建工具的属性,包括许可证和你的完成。

这是个权宜之计; 1. 去C:\Users(你的用户名)\AppData\Local\Android\sdk\build-tools 2. 删除无license版本的已有文件夹。 3.转到ANDROID STUDIO并再次手动安装工具(这将给你一个接受许可的机会) …… (解决问题)

我终于在Windows上找到了一个解决方案,有一个真正的静音和自动安装:

在Windows上,以下语法不起作用:

echo y | sdkmanager --licenses

似乎“y”没有正确地发送到批处理中调用的java程序。

解决方法是创建一个文件file-y.txt,其中包含几个“y”,一行一行,然后使用

call sdkmanager --licenses < file-y.txt

这将在许可证目录中创建所需的文件。这个问题可能与Java中BufferedReader的使用有关