android - 您尚未接受以下SDK组件的许可协议
这个问题在这里已有答案:
自动接受所有SDK许可证 34个答案
我下载了最新的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 Manager完成缺少的组件的安装。 或者,要了解如何将许可协议从一个工作站转移到另一个工作站,请转到[http://d.android.com/r/studio-ui/export-licenses.html]
我检查了~/.android和/opt/android-sdk,其中放置了Android工具。 两者都不包含名为licenses的文件夹。
15个解决方案
421 votes
从命令行接受许可协议的方式已更改。 您可以使用SDK管理器,该管理器位于:~/Library/Android/sdk
例如:
~/Library/Android/sdk/tools/bin
运行sdkmanager如下:
./sdkmanager --licenses
并接受您尚未接受的许可(但需要)。
有关详细信息,请参阅Android Studio文档,尽管当前文档缺少~/Library/Android/sdk选项的任何说明。
警告
您的计算机上可能有两个Android SDK。 一定要检查~/Library/Android/sdk和/usr/local/share/android-sdk! 如果不确定,请从您的计算机上完全卸载Android Studio并从一个干净的平板开始。
Hugo answered 2019-03-04T18:38:01Z
122 votes
您可以安装并接受SDK&amp ;;的许可证。 工具通过2种方式:
1.通过命令行打开Android SDK Manager 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
查看有关新25.0.1的更多详细信息。
选择并安装所需的工具。 (您的位置可能不同)
2.通过命令行安装并接受android许可证:
通过命令行更新软件包,您将看到您需要接受的条款和条件。
- 安装或更新到最新版本
这将在您运行时安装最新的25.0.1。
# 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
Anil answered 2019-03-04T18:39:43Z
80 votes
转到$ANDROID_HOME/tools/bin并解雇cmd
./sdkmanager --licenses
接受那里列出的所有许可。
在此之后,只需转到sdk中的licenses文件夹并检查它是否包含以下五个文件:
android-sdk-license, android-googletv-license, android-sdk-preview-license, google-gdk-license, mips-android-sysimage-license
重新进行重试并重新构建,仍然jenkins提供“许可证不被接受”然后你必须完全允许你的'sdk'目录及其所有的父目录。 这是命令:
sudo chmod -R 777 /opt/
如果你在/ opt /目录中有sdk。
Shailendra Yadav answered 2019-03-04T18:40:48Z
22 votes
对于没有使用Android Studio的Windows用户:
转到sdkmanager.bat --licenses文件的位置。 默认情况下,它位于%LOCALAPPDATA%文件夹中的Android\sdk\tools\bin。
通过在标题栏中键入cmd打开终端窗口
类型
sdkmanager.bat --licenses
使用'y'接受所有许可
Kristijan Klindić answered 2019-03-04T18:41:43Z
20 votes
更新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个。查看尚未接受的许可证(是/否)?ÿ
要验证问题,只需重复执行许可证问题所涉及的操作。
Joe V. answered 2019-03-04T18:42:29Z
14 votes
我通过打开Android SDK Manager并为其抱怨的版本安装SDK构建工具解决了这个问题(API 24)。
我之前也使用命令行进行了更新,我怀疑Android SDK Manager有更完整的方法来解决依赖关系,包括许可证。
Tšeliso Molukanele answered 2019-03-04T18:43:03Z
12 votes
当我运行cordova build android时,我遇到了这个错误
我通过触发./sdkmanager --licenses并接受所有许可来解决了这个问题。
你在路径中的android sdk文件夹下有一个sdkmanager.bat:android / sdk / tools / bin
触发在android / sdk / tools / bin中打开命令提示符
输入./sdkmanager --licenses并输入
按y查看所有许可证,然后按y接受所有许可证
Z.T answered 2019-03-04T18:44:03Z
12 votes
我通过使用命令解决了该问题:
转到:C:\ Users [PC NAME] \ AppData \ Local \ Android \ sdk \ tools \ bin \(如果该文件夹不可用,请先下载android SDK,或者 你可以从android studio安装过程安装它。)
Shift +左键单击并按W,然后按Enter键以在文件夹路径上打开CMD
键入cmd:sdkmanager --licenses
按Enter后,您需要按y接受所有许可
检查许可证
转到: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
使用命令测试CORDOVA:
cordova构建android
使用Android SDK的文档:[https://developer.android.com/studio/command-line/sdkmanager.html]
Nao Desu answered 2019-03-04T18:45:36Z
10 votes
如果您想使用IDE接受许可证,我还发现打开Android Studio并创建一个新的基本项目以触发许可协议变得很容易。 创建项目后,我提出了以下许可对话框,我需要同意:
我完整记录了以下帖子中的信息:通过Android Studio接受Android SDK许可证
atconway answered 2019-03-04T18:46:10Z
9 votes
我有一个类似的问题,但./sdkmanager - 许可证没有用。 我按照这个帖子和“obladors”评论给了我解决方案:[https://github.com/oblador/react-native-vector-icons/issues/527]
最终解决了我的问题是:运行./sdkmanager "build-tools;23.0.1"
随您的版本更改23.0.1
Luis Gurmendez answered 2019-03-04T18:46:50Z
6 votes
也许我迟到了,但这有助于我接受OSX的SDK许可,
如果安装了android SDK工具,请运行以下命令
~/Library/Android/sdk/tools/bin/sdkmanager --licenses
按y接受所有许可
瞧! 您已经接受了SDK许可证,并且很好用。
Gowtham answered 2019-03-04T18:47:39Z
5 votes
您可以通过启动Android Studio接受许可协议,然后转到:
帮助> 检查更新...
当您安装更新时,它会要求您接受许可协议。 接受许可协议并安装更新,您就完成了所有设置。
Gregory R. answered 2019-03-04T18:48:20Z
5 votes
在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构建应用程序,请再次编写命令来构建它。
Carlos Espinoza answered 2019-03-04T18:49:07Z
1 votes
如果你有一个React Native应用程序的问题,除了上面提到的步骤,请确保你的应用程序的android目录(AppName / android)中有local.properties文件指向你的'sdk'目录:
sdk.dir=/PATH_TO_SDK/
Nauman Tahir answered 2019-03-04T18:49:29Z
-1 votes
我通过以下步骤解决了这个问题:
使用命令“tools / android update sdk --no-ui”更新android sdk
得到jenkins机器上的android sdk文件夹,创建“licenses”文件夹
创建名为“android-sdk-license”的文件并从开发机器粘贴许可证
Vaseem007 answered 2019-03-04T18:50:19Z