作为Gradle构建的一部分的Android SDK下载

问题描述:

我正在尝试与Jenkins构建一个Android应用程序,并且我对詹金斯的从属机器几乎没有控制权。作为Gradle构建的一部分的Android SDK下载

为了构建应用程序,我需要在从安装了Android SDK,否则我得到如期望的那样。

“SDK位置没有发现在local.properties文件或sdk.dir定义位置一个ANDROID_HOME环境变量。“

既然如此,可以将gradle配置为将SDK作为构建过程的一部分进行下载并将其用作正常的依赖项?

这是否有意义?

感谢您的帮助。

+0

请参考:https://github.com/codepath/android_guides/wiki/Building-Gradle-Projects-with-Jenkins-CI#install-the-android-sdk –

+0

检查提供的链接,它仍然指向一个步骤在Jenkins从站上安装Android SDK。我的观点是,我无法轻松做到这一点。 – FelipeFraga

Gradle Android插件支持在构建时自动下载缺失的依赖关系;关键在于接受的与Android SDK有关的许可协议必须与将要构建的项目捆绑在一起。

你基本上只是从已经通过Android Studio(你的开发工作站)被接受的地方复制了已接受的许可协议,并确保它们被复制到Jenkins从属设备上的Android SDK主目录中。

这些文件可以在Android SDK文件夹中的license/文件夹中找到,但官方文档将该目录引用为licenses/

+1

对不起,但我想你误会了我。总的来说,我不能轻易改变Jenkins Slave,所以没有安装Android SDK。 – FelipeFraga

+1

我很抱歉,我误解了这个问题 您应该可以通过环境变量设置Android SDK Home。您可以将其置于构建目录的子目录中,将ANDROID_SDK_HOME环境变量设置为指向该子目录,然后将许可证文件夹移动到那里。 – cstarner

是的,这是可能的。退房this gradle这个插件,它能够自动SDK下载

的插件添加到您的根级gradle这个

classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.+' 

应用插件在常规“机器人”插件之前,您的build.gradle:

apply plugin: 'android-sdk-manager' 
apply plugin: 'com.android.application' 

注意:这个插件不再处于积极的发展状态。