android - android自动接受所有SDK许可证

  显示原文与译文双语对照的内容
84 3

由于 gradle android插件 2.2 -alpha4插件:

Gradle将尝试下载一个项目依赖的缺少的SDK包

非常酷,并且被认为是一个 JakeWharton项目项目。

但是,要下载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剧本你有什么想法?

谢谢!

[EDIT ]

解决方案是执行:

android update sdk --no-ui --filter build-tools-24.0.0,android-24,extra-android-m2repository

手动安装它,但是它是gradle特性的新功能。

[EDIT 2 ]

一个更好的解决方案是使用 sdkmananger:

yes | sudo sdkmanager --licenses
时间:原作者:0个回答

105 1

我在 alpha5 预览中遇到过这个问题。

杰克Wharton指出你现在可以使用

mkdir -p"$ANDROID_SDK/licenses"
echo -e"n8933bad161af4178b1185d1a37fbf41ea5269c55">"$ANDROID_SDK/licenses/android-sdk-license"
echo -e"n84831b9409646a918e30573bab4c9c91346d8abd">"$ANDROID_SDK/licenses/android-sdk-preview-license"

在计算机上重新创建当前的$ANDROID_HOME/license 文件夹。这将与错误 msg ( http://tools.android.com/tech-docs/new-build-system/license ) 链接中概述的过程有相同的结果。

这些哈希是许可以证文本的SHA1s,我想将会定期更新这些代码,因这里这个代码只能工作。

手动安装它,但是它是gradle特性的新功能。

我很惊讶,即使我已经经通过 android 工具接受了命名组件的许可以证,但是它在创建 /licenses 文件夹时指出。

我想官方工具不会因为法律原因而跳过这一步。

重新阅读发行说明

自动下载:Gradle将尝试下载一个项目所依赖的缺少的SDK软件包。

这并不意味着如果你尚未安装android工具,并且已经经接受最新的license(s),那么这并不意味着。

编辑:说,在我将SDK链接到gubuntu之前,它仍然不能在我的测试框中工作。虽然CI工作正常- 不确定是什么区别。

原作者:
60 2

对于最新的Android Studio ( 2.3 ),更新/接受所有许可证的最佳方法是运行:

tools/bin/sdkmanager --licenses

你可能还需要根据你的设置将许可证文件复制到其他位置。

原作者:
100 5

AndroidSDK最终可以接受许可证。

yes | sdkmanager --licenses
原作者:
...