您尚未接受以下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 – 许可证,并接受所有的许可证。
- 你在android sdk文件夹下有一个sdkmanager.bat的path:android / sdk / tools / bin
- 要在android / sdk / tools / bin中打开命令提示符
- 键入./sdkmanager – 许可并input
- 按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问题已经过去了,只需重复许可证问题中涉及的操作即可。
干杯!
我已经通过以下步骤解决了这个问题:
- 用命令“tools / android update sdk –no-ui”更新android sdk
- 获取到jenkins机器上的android sdk文件夹,创build“许可证”文件夹
- 创build一个名为“android-sdk-license”的文件并粘贴来自开发机器的许可证