我下载了最新的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_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现在是正确的变量

其他回答

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

sdk.dir=/PATH_TO_SDK/

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

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

我有一个类似的问题,但是./sdkmanager—许可证不工作。我沿着这条线索,“obladors”评论给了我解决方案: https://github.com/oblador/react-native-vector-icons/issues/527

最终解决我问题的是: 运行./sdkmanager "build-tools;23.0.1"

用您的版本更改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构建应用程序,只需重新编写命令来构建它。

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

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

查看关于新的sdkmanager的更多详细信息。

选择并安装所需的工具。(您所在的位置可能不同)

2. 通过命令行安装和接受android许可证:

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

—安装或更新到最新版本

这将在您运行时安装最新的平台工具。

# 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.1,24.0.1,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