我正在尝试用Jenkins构建一个Android应用程序,我对Jenkins的从属机器几乎没有控制权。为了构建应用程序,我需要在从机上安装Android SDK,否则我会得到预期的结果:“找不到SDK位置。请使用www.example.com档案中的sdk.dirlocal.properties或ANDROID_HOME环境变量来定义位置。”在这种情况下,是否可以将gradle配置为在构建过程中下载SDK,并将其用作正常依赖项?这有道理吗?
ruyhziif1#
Gradle Android插件支持在构建时自动下载缺失的依赖项;诀窍在于与AndroidSDK相关的已接受许可协议必须与要构建的项目捆绑在一起。基本上,您只需从通过Android Studio(可能是您的开发工作站)接受许可协议的位置复制许可协议,并确保将其复制到Jenkins slave上的Android SDK主目录中。这些文件可以在Android SDK文件夹的license/文件夹中找到,尽管官方文档将该目录称为licenses/。
license/
licenses/
gjmwrych2#
是的,这是可能的。查看this gradle插件,它可以自动下载SDK将插件添加到您的根级别gradle
classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.+'
在您的build.gradle中应用插件,然后再应用常规的'android'插件:
apply plugin: 'android-sdk-manager' apply plugin: 'com.android.application'
注意:此插件已不再处于开发中。
2条答案
按热度按时间ruyhziif1#
Gradle Android插件支持在构建时自动下载缺失的依赖项;诀窍在于与AndroidSDK相关的已接受许可协议必须与要构建的项目捆绑在一起。
基本上,您只需从通过Android Studio(可能是您的开发工作站)接受许可协议的位置复制许可协议,并确保将其复制到Jenkins slave上的Android SDK主目录中。
这些文件可以在Android SDK文件夹的
license/
文件夹中找到,尽管官方文档将该目录称为licenses/
。gjmwrych2#
是的,这是可能的。查看this gradle插件,它可以自动下载SDK
将插件添加到您的根级别gradle
在您的build.gradle中应用插件,然后再应用常规的'android'插件:
注意:此插件已不再处于开发中。