您没有接受以下SDK组件的许可协议

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

Do you accept the license 'android-sdk-license-c81a61d9' [y/n]: y .

. install成功

但是当使用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。两者都不包含名为licenses的文件夹。

807888 次浏览

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

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

您可以安装并接受SDK &工具通过2种方式:

1. 通过命令行打开Android SDK管理器GUI

通过命令行打开Android SDK管理器,使用:

# 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

# EYZ1。

选择并安装所需的工具。# EYZ0

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

安装一个特定的版本(25.0.124.0.123.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

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

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

从命令行接受许可协议的方式已经改变。您可以使用位于$ANDROID_SDK_ROOT/tools/bin的SDK管理器

例如在linux上:

cd ~/Library/Android/sdk/tools/bin/

运行sdkmanager:

./sdkmanager --licenses

在Windows上:

cd /d "%ANDROID_SDK_ROOT%/tools/bin"

运行sdkmanager:

sdkmanager --licenses

并接受您尚未接受(但需要)的许可。

要了解更多详细信息,请参阅Android Studio文档,尽管当前文档缺少对--licenses选项的任何描述。

警告

你的机器上可能有两个Android sdk。确保检查~/Library/Android/sdk/usr/local/share/android-sdk!如果不确定,完全卸载 Android Studio从你的机器和开始一个干净的石板。

更新:ANDROID_HOME已弃用,ANDROID_SDK_ROOT现在是正确的变量

去你的$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

给予重试和再次构建,仍然詹金斯给予“许可不接受”,然后你必须给予你的“sdk”目录和所有它的父目录的完全权限。命令如下:

sudo chmod -R 777 /opt/

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

更新macOS Sierra 10.12.6 - Android Studio for Mac 2.3.3

通常在下面找到sdkmanager文件:

/Users/YOUR_MAC_USER/Library/Android/sdk/tools/bin


./sdkmanager --licenses
警告:File /Users/mtro.josevaler**strong text**io/.android/repositories.cfg无法加载。 6个SDK包许可证中的6个不接受。 检查未被接受的许可证(y/N)?# EYZ0 < / p >

要验证问题是否已经解决,只需重复许可证问题中涉及的操作。

当我运行Cordova构建android时,我遇到了这个错误

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

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

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

enter image description here

我在下面的帖子中记录了完整的信息:通过Android Studio接受Android SDK许可

对于使用android Studio的Windows用户:

  1. 转到sdkmanager.bat文件的位置。默认情况下,它位于Android\sdk\tools\bin,在%LOCALAPPDATA%文件夹中。

  2. 在标题栏中输入cmd打开一个终端窗口

  3. < p >类型

    sdkmanager.bat --licenses
    
  4. Accept all licenses with 'y'

如果你的React Native应用有这个问题,除了上面提到的步骤,确保你有本地。在你的应用程序的android目录(AppName/android)中指向你的“sdk”目录的properties文件:

sdk.dir=/PATH_TO_SDK/

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

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

检查license

  1. 打开:C:\Users\ [PC NAME] \AppData\Local\Android\sdk\
  2. 检查名为licenses的文件夹
android-googletv-license
android-sdk-license
android-sdk-preview-license
google-gdk-license
intel-android-extra-license
mips-android-sysimage-license

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

Open Android Studio, Tools >Sdk Manager >Android SDK命令行工具(只需选择加入)

enter image description here

SDKManager将存储在:

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

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

你可以通过启动Android Studio来接受许可协议,然后进入:

帮助>检查更新…

当您安装更新时,它会要求您接受许可协议。接受许可协议并安装更新,您就万事俱备了。

我有一个类似的问题,但./sdkmanager—许可证不工作。我沿着这条线索,“obladors”评论给了我解决方案: # EYZ0 < / p > 最终解决我问题的是: 运行./sdkmanager "build-tools;23.0.1"

. sh

用您的版本更改23.0.1

在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构建应用程序,只需重新编写命令来构建它。

也许我迟到了,但这帮助我接受了OSX的SDK许可,

如果您安装了android SDK工具,则执行以下命令

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

y接受所有许可

瞧!您已经接受了SDK许可证,并且已经准备好了。