这个问题在这里已有答案:
我下载了最新的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 回答
从命令行接受许可协议的方式已更改 . 您可以使用位于以下位置的SDK管理器:
$ANDROID_HOME/tools/bin
例如:
运行sdkmanager如下:
并接受您尚未接受的许可(但需要) .
有关详细信息,请参阅Android Studio documentation,尽管当前文档缺少
--licenses
选项的任何说明 .警告
您的计算机上可能有两个Android SDK . 一定要检查
~/Library/Android/sdk
和/usr/local/share/android-sdk
!如果不确定,请从您的机器完全uninstall安卓工作室,并从一个干净的石板开始 .您可以通过以下两种方式安装和接受SDK和工具的许可:
1.通过命令行打开Android SDK Manager GUI
使用以下命令通过命令行打开Android SDK管理器:
View more details on the new sdkmanager .
2.通过命令行安装并接受android许可证:
通过命令行更新软件包,您将看到您需要接受的条款和条件 .
- 安装或更新到最新版本
这将在您运行时安装最新的
platform-tools
.- 安装特定版本(25.0.1,24.0.1,23.0.1)
您还可以安装特定版本,如下所示:
转到你的
$ANDROID_HOME/tools/bin
然后开火接受那里列出的所有许可 .
在此之后,只需转到sdk中的licenses文件夹并检查它是否包含以下五个文件:
重新进行重试并重新构建,仍然jenkins提供“许可证不被接受”然后你必须完全允许你的'sdk'目录及其所有的父目录 . 这是命令:
如果你在/ opt /目录中有sdk .
For Windows users w/o using Andoid Studio:
转到
sdkmanager.bat
文件的位置 . 默认情况下,它位于%LOCALAPPDATA%
文件夹内的Android\sdk\tools\bin
处 .在 Headers 栏中键入cmd,打开终端窗口
类型
Update for macOS Sierra 10.12.6 - Android Studio for Mac 2.3.3
通常在以下位置找到sdkmanager文件:
警告:无法加载
File /Users/mtro.josevaler**strong text**io/.android/repositories.cfg
. 不接受6个SDK包许可证中的6个 . 查看尚未接受的许可证(是/否)? Y要验证问题,只需重复执行许可证问题所涉及的操作 .
我通过打开Android SDK Manager并为其抱怨的版本安装SDK构建工具解决了这个问题(API 24) .
我之前也使用命令行进行了更新,我怀疑Android SDK Manager有更完整的方法来解决依赖关系,包括许可证 .
当我运行cordova build android时,我遇到了这个错误
我通过触发./sdkmanager --licenses并接受所有许可证来解决了这个问题 .
你在路径下的android sdk文件夹下有一个sdkmanager.bat:android / sdk / tools / bin
触发在android / sdk / tools / bin中打开命令提示符
类型./sdkmanager - 许可并输入
按y查看所有许可证,然后按y接受所有许可证
我通过使用命令解决了该问题:
检查许可证
使用命令在CORDOVA上测试:
使用Android SDK的文档:https://developer.android.com/studio/command-line/sdkmanager.html
如果您想使用IDE接受许可证,我还发现打开Android Studio并创建一个很容易触发许可协议的新基础项目 . 创建项目后,我提出了以下许可对话框,我需要同意:
我完整记录了以下帖子中的信息:Accepting the Android SDK License via Android Studio
我有一个类似的问题,但./sdkmanager - 许可证没有用 . 我按照这个帖子和"obladors"评论给了我解决方案:https://github.com/oblador/react-native-vector-icons/issues/527
什么最终解决了我的问题是:运行
./sdkmanager "build-tools;23.0.1"
随您的版本更改23.0.1
也许我迟到了,但这有助于我接受OSX的SDK许可,
如果安装了android SDK工具,请运行以下命令
按
y
接受所有许可瞧!您已经接受了SDK许可证并且很好用 .
您可以通过启动Android Studio接受许可协议,然后转到:
当您安装更新时,它会要求您接受许可协议 . 接受许可协议并安装更新,您就完成了所有设置 .
在linux中
如果您正在使用Ionic Framework构建应用程序,请再次编写命令来构建它 .
如果你有一个React Native应用程序的问题,除了上面提到的步骤,请确保你的应用程序的android目录(AppName / android)中有local.properties文件指向你的'sdk'目录:
我通过以下步骤解决了这个问题:
用命令"tools/android update sdk --no-ui"更新android sdk
到jenkins机器上的android sdk文件夹,创建"licenses"文件夹
创建了名为"android-sdk-license"的文件,并从开发机器粘贴许可证