我正在尝试用Jenkins构建一个Android应用程序,而我几乎无法控制Jenkins'奴隶机器。
为了构建应用程序,我需要在奴隶上安装Android SDK,否则我会按预期得到:
"找不到SDK位置。使用sdk.dir在local.properties文件中或使用ANDROID_HOME环境变量定义位置。"
既然如此,可以将gradle配置为在构建过程中下载SDK并将其用作普通依赖项吗?
这是否有意义?
感谢您的帮助。
答案 0 :(得分:3)
Gradle Android插件支持在构建时自动下载缺少的依赖项;诀窍是,与Android SDK相关的接受的许可协议必须与要构建的项目捆绑在一起。
您基本上只是通过Android Studio(可能是您的开发工作站)从一个接受许可协议的地方复制接受的许可协议,并确保将它们复制到Jenkins从属设备上的Android SDK主目录中。 / p>
虽然官方文档将目录称为license/
,但可以在Android SDK文件夹的licenses/
文件夹中找到这些文件。
答案 1 :(得分:1)
是的,这是可能的。查看自动SDK下载的this gradle插件
将插件添加到根级别gradle
code-segment
在常规'android'插件之前在build.gradle中应用插件:
classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.+'
注意:此插件不再处于正在开发状态。