我下载了最新的Android SDK工具24.4.1版本。我使用命令行安装sdk。有人问我时,我输入了y

您是否接受许可证'android-sdk-license-c81a61d9' [y/n]: y 安装成功之后。

但是当使用Gradle 3.1进行构建时,会显示如下内容

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

我检查了~/。android和android工具所在的/opt/android-sdk。两者都不包含名为license的文件夹。


当前回答

我通过打开Android SDK管理器并为它所抱怨的版本(API 24)安装SDK构建工具来解决这个问题。

我之前也使用命令行进行了更新,我怀疑Android SDK管理器有更完整的方法来解决依赖关系,包括许可证。

其他回答

我已经通过使用命令解决了这个问题:

转到:C:\Users\ [PC NAME] \AppData\Local\Android\sdk\tools\bin\(如果该文件夹不可用,请先下载Android sdk,或 你可以从android studio安装过程中安装它。) Shift+左键单击并按W,然后Enter打开CMD在文件夹路径 输入cmd: sdkmanager——licenses 一旦按下enter,您需要通过y接受所有的许可证

检查license

打开:C:\Users\ [PC NAME] \AppData\Local\Android\sdk\ 检查名为licenses的文件夹

android-googletv-license
android-sdk-license
android-sdk-preview-license
google-gdk-license
intel-android-extra-license
mips-android-sysimage-license

作为新的更新文件夹路径(当前Android Studio)

打开Android Studio,工具> Sdk管理器> Android Sdk命令行工具(只需选择加入)

SDKManager将存储在:

打开C:\Users\ [PC NAME] \AppData\Local\Android\Sdk\cmdline-tools\latest\bin 输入cmd: sdkmanager——licenses

使用Android SDK的文档:https://developer.android.com/studio/command-line/sdkmanager.html

如果你想使用IDE来接受许可,我发现打开Android Studio并创建一个新的基础项目来触发许可协议也很容易。一旦我创建了一个项目,下面的许可对话框就出现了,我需要同意:

通过Android Studio接受Android SDK许可

我已经通过以下步骤解决了这个问题:

使用命令“tools/android Update SDK—no-ui”更新android SDK 在Jenkins机器上找到android SDK文件夹,创建“许可证”文件夹 创建名为“android-sdk-license”的文件,并从dev机器粘贴许可证

在linux中

 1. Open a terminal
 2. Write: "cd $ANDROID_HOME/tools/bin (this path can be /home/your-user/Android/Sdk/tools/bin)"
 3. Write: "./sdkmanager --licenses"
 4. To accept All licenses listed, write: "y"
 5. Ready!

如果您正在使用Ionic Framework构建应用程序,只需重新编写命令来构建它。

我在运行cordova构建android时遇到了这个错误

我通过触发./sdkmanager—licenses并接受所有许可证来解决这个问题。

你有一个sdkmanager.bat在android sdk文件夹的路径:android/sdk/tools/bin 要触发它,打开android/sdk/tools/bin中的命令提示 输入./sdkmanager——licenses并输入 按y查看所有许可证,然后按y接受所有许可证