您尚未接受以下SDK组件的许可协议

我下载了最新的android SDK工具。 版本24.4.1。 并使用命令行来安装sdks。 当被问到时我input了y

在安装成功后,您是否接受许可证“android-sdk-license-c81a61d9”[y / n]:y?

但是,当使用Gradle 3.1来build立,下面显示

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

我检查了~/.android/opt/android-sdk放置了android工具。 既不包含文件夹命名的licenses

从命令行接受许可协议的方式已经改变。 您可以使用位于以下位置的SDKpipe理器:

 ~/Library/Android/sdk/tools/bin 

运行sdkmanager如下:

 ./sdkmanager --licenses 

并接受你还没有接受的许可证,但是确实需要。

尽pipe目前的文档缺less对-licenses选项的任何描述,但请参阅Android Studio文档的更多详细信息。

您可以通过以下两种方式安装并接受SDK和工具的许可证:

1.通过命令行打开Android SDK Manager GUI

使用以下命令通过命令行打开Android SDKpipe理器:

 # Android SDK Tools 25.2.3 and lower - Open the Android SDK GUI via the command line cd ~/Library/Android/sdk/tools && ./android # 'Android SDK Tools' 25.2.3 and higher - `sdkmanager` is located in android_sdk/tools/bin/. cd ~/Library/Android/sdk/tools/bin && ./sdkmanager 

查看有关新的sdkmanager更多细节 。

select并安装所需的工具。 (你的位置可能不同)

2.通过命令行安装并接受Android许可证:

通过命令行更新软件包,您将看到您需要接受的条款和条件。

– 安装或更新到最新版本

这将在您运行时安装最新的platform-tools

 # Android SDK Tools 25.2.3 and lower. Install the latest `platform-tools` for android-25 android update sdk --no-ui --all --filter platform-tools,android-25,extra-android-m2repository # Android SDK Tools 25.2.3 and higher sdkmanager --update 

– 安装特定版本( 23.0.1

你也可以像这样安装一个特定的版本:

 # Build Tools 23.0.1, 24.0.1, 25.0.1 android update sdk --no-ui --all --filter build-tools-25.0.1,android-25,extra-android-m2repository android update sdk --no-ui --all --filter build-tools-24.0.1,android-24,extra-android-m2repository android update sdk --no-ui --all --filter build-tools-23.0.1,android-23,extra-android-m2repository # Alter the versions as required ↑ ↑ # -u --no-ui : Updates from command-line (does not display the GUI) # -a --all : Includes all packages (such as obsolete and non-dependent ones.) # -t --filter : A filter that limits the update to the specified types of # packages in the form of a comma-separated list of # [platform, system-image, tool, platform-tool, doc, sample, # source]. This also accepts the identifiers returned by # 'list sdk --extended'. # List version and description of other available SDKs and tools android list sdk --extended sdkmanager --list 

转到您的$ANDROID_HOME/tools/bin并启动cmd

 ./sdkmanager --licenses 

接受那里列出的所有许可。

之后,只需转到sdk中的许可证文件夹,检查是否有这五个文件:

 android-sdk-license, android-googletv-license, android-sdk-preview-license, google-gdk-license, mips-android-sysimage-license 

重试并重新构build,仍然jenkins给予“许可不被接受”,那么你必须给你的'sdk'目录和所有的父母目录的完全许可。 这里是命令:

 sudo chmod -R 777 /opt/ 

如果你在/ opt /目录下有sdk的话。

我跑过这个错误,当我跑cordova生成android

我解雇了这个问题,通过解雇./sdkmanager – 许可证,并接受所有的许可证。

  1. 你在android sdk文件夹下有一个sdkmanager.bat的path:android / sdk / tools / bin
  2. 要在android / sdk / tools / bin中打开命令提示符
  3. 键入./sdkmanager – 许可并input
  4. 按y查看所有许可证,然后按y接受所有许可证

我通过打开Android SDK Manager并为其所抱怨的版本(API 24)安装SDK构build工具来解决问题。

我以前也更新过使用命令行,我怀疑Android SDKpipe理器有一个更完整的解决依赖包括许可证的方法。

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

在这里输入图像说明

我完全logging了以下文章中的信息: 通过Android Studio接受Android SDK许可证

macOS Sierra 10.12.6更新 – Android Studio for Mac 2.3.3

通常在以下位置findsdkmanager文件:

/用户/ YOUR_MAC_USER /库/安卓/ SDK /工具/箱

./sdkmanager – 许可证

警告:无法加载文件/Users/mtro.josevaler 强文本 io / .android / repositories.cfg。 6个SDK包许可不被接受。 查看尚未被接受的许可证(是/否)? ÿ

要validation问题已经过去了,只需重复许可证问题中涉及的操作即可。

干杯!

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

  1. 用命令“tools / android update sdk –no-ui”更新android sdk
  2. 获取到jenkins机器上的android sdk文件夹,创build“许可证”文件夹
  3. 创build一个名为“android-sdk-license”的文件并粘贴来自开发机器的许可证