因为gradle android插件2.2-alpha4:
Gradle会尝试下载项目中缺失的SDK包
取决于
这非常酷,是杰克·沃顿的一个项目。
但是,要下载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构建时安装所有的sdk依赖。
我正在寻找一个解决方案,自动接受所有的许可证。也许是一个gradle脚本?
你有什么想法吗?
WINDOWS的解决方案
打开终端Windows电源外壳
进入Android SDK文件夹
通常这个文件夹可以在C:\Users(your-windows-user)\AppData\Local\Android\Sdk\tools\bin中找到
从“....”开始“\Sdk”文件夹进入“\tools\bin”
最后路径C:\Users(your-windows-user)\AppData\Local\Android\Sdk\tools\bin
使用ls命令验证sdkmanager.bat已经就位
执行下一个命令
然后终端会显示7个文件,你需要在每个文件中输入yes
在尝试了社区成员提到的许多可能的解决方案后,我发现随着时间的推移可能会有不同的问题,所以大多数解决方案都过时了。
目前,正如我在Travis社区发布的那样,Travis应该默认接受所有的许可证,但它一直抱怨不接受27.0.3许可证,这是不应该发生的。
添加:
before_install:
- yes | sdkmanager "build-tools;27.0.3"
如果能解决这个问题,我们甚至可以用a3。+版本的Android Gradle Tools,甚至不需要声明我们正在使用的构建工具的版本:
android:
components:
# Use the latest revision of Android SDK Tools
- tools
- platform-tools
- tools
# The SDK version used to compile your project
- android-${ANDROID_API}
# - build-tools-28.0.3 # WE DONT NEED THIS ANYMORE FROM AGP 3.+
# Additional components
- extra-google-google_play_services
- extra-google-m2repository
- addon-google_apis-google-${ANDROID_API}
这是2018年10月29日。特拉维斯可能会在未来做出改变,所以祝你好运!
不幸的是,OP最初解决它的方式并不总是有效。
如果从错误消息中找到构建的当前构建工具版本。可能是缺少了更高版本的构建工具。在这种情况下,您需要手动启动SDK管理器并添加构建工具并接受许可证。
根据OP指令,它如下所示。
$ ./gradlew构建
To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/2.14.1/userguide/gradle_daemon.html.
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':app'.
> You have not accepted the license agreements of the following SDK components:
[Android SDK Build-Tools 24.0.2].
...
BUILD FAILED
注意:2017-04-16
android工具现在已经弃用,取而代之的是新的sdkmanager。请参阅乔·劳森的回答以及2017年3月及以后的帖子。
调整命令如下:
android update sdk --no-ui --filter build-tools-24.0.2,android-24,extra-android-m2repository
Refresh Sources:
Fetching https://dl.google.com/android/repository/addons_list-2.xml
Validate XML
Parse XML
Fetched Add-ons List successfully
Refresh Sources
Fetching URL: https://dl.google.com/android/repository/repository-11.xml
Validate XML: https://dl.google.com/android/repository/repository-11.xml
Parse XML: https://dl.google.com/android/repository/repository-11.xml
...
Error: Ignoring unknown package filter 'build-tools-24.0.2'
-------------------------------
License id: android-sdk-license-xxxxxxxx
Used by:
- SDK Platform Android 7.0, API 24, revision 2
- Android Support Repository, revision 39
-------------------------------
...
November 20, 2015
Do you accept the license 'android-sdk-license-xxxxxxxx' [y/n]: y
Installing Archives:
Preparing to install archives
Downloading SDK Platform Android 7.0, API 24, revision 2
Installing SDK Platform Android 7.0, API 24, revision 2
Installed SDK Platform Android 7.0, API 24, revision 296%)
Downloading Android Support Repository, revision 39
Installing Android Support Repository, revision 39
Installed Android Support Repository, revision 3999%)
Done. 2 packages installed.
再运行一次,仍然不能让Gradle开心。所以手动验收是唯一的解决方案,直到有人想出更好的方法。(请做!)