【发布时间】:2016-10-31 23:05:55
【问题描述】:
自 gradle android 插件2.2-alpha4:
Gradle 将尝试下载项目缺少的 SDK 包 取决于
这非常酷,并且被称为JakeWharton project。
但是,要下载 SDK 库,您需要:接受许可协议或 gradle 告诉您:
您尚未接受以下 SDK 的许可协议 组件:[Android SDK Build-Tools 24,Android SDK Platform 24]。 在构建项目之前,您需要接受许可 协议并完成缺失组件的安装 使用 Android Studio SDK 管理器。或者,学习如何 将许可协议从一个工作站转移到另一个工作站,转到 http://d.android.com/r/studio-ui/export-licenses.html
这是一个问题,因为我希望在执行gradle build 时安装所有 sdk 依赖项。
我正在寻找一种自动接受所有许可的解决方案。也许是一个gradle脚本? 你有什么想法吗?
【问题讨论】:
-
您也可以在该命令前弹出
echo y |以自动接受许可证。在无头 CI 盒上运行时很有用 :) -
我不得不做
~/.android/tools/android update sdk --no-ui --filter build-tools-25.0.0,android-25,extra-android-m2repository,因为android工具已本地化到我家 -
sdkmanager --licenses 不再有效。我使用了 --upgrade,忽略了错误,这对许可证问题进行了排序。
-
我已经将此命令用于 CI 环境构建脚本,稍作调整。我添加了 --sdk_root=$ANDROID_SDK_PATH。问题是许可证被接受并且没有保存到 Android SDK 根文件夹。最终命令:是 | sdkmanager --licenses --sdk_root=$ANDROID_SDK_PATH(不带 sudo)
-
请务必将
$ANDROID_SDK_PATH设置为您安装SDK的实际根路径(即:/opt/android-sdk),或者直接输入路径(即:yes | sdkmanager --licenses --sdk_root=/opt/android-sdk)
标签: android gradle sdk android-gradle-plugin android-sdk-tools