我下载了最新的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_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。
从命令行接受许可协议的方式已经改变。你可以使用位于$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现在是正确的变量