我正在尝试建立我的第一个Android项目来构建Jenkins.
我正在使用Gradle插件的1.24版本运行Jenkins 1.6.2.在Windows 7 Professional SP1上运行.
我已经在我的构建机器上安装了Android Studio和Java7 JDK,并且通过Android Studio或从命令行运行gradlew.bat时,该软件的检出版本构建得很好.但我无法在Jenkins工作中使Invoke Gradle脚本构建任务正常工作.
配置项目页面上有一对单选按钮:
如果我选择"Invoke Gradle",我会被要求选择"Gradle Version",这是我在Configure System中设置的.
我创建了一个gradle安装,GRADLE_HOME设置为"D:\ Program Files\Android Studio\gradle\gradle-2.2.1".这给了我一个警告,"D:\ Program Files\Android Studio\gradle\gradle-2.2.1不是Jenkins主人的目录...."
当我运行构建时,我收到错误"无法检索Gradle可执行文件".
这可能与抱怨该目录的gradle插件有关.但目录是正确的.我用'/'代替'\'尝试了它,它没有任何区别.
由于那不起作用,我尝试了另一种选择,"使用Gradle Wrapper".有一个复选框:"From Root Build Script Dir".无论我是否检查它,我得到"java.lang.IllegalArgumentException:android.compileSdkVersion is missing!"
我已经设置了JAVA_HOME和ANDROID_HOME,所以这不是问题.
有任何想法吗?
作为后续,我删除了gradle任务,并添加了一个Execute Windows批处理命令任务:
SET ANDROID_HOME=d:\Program Files\Android\sdk
SET JAVA_HOME=d:\Program Files\Java\jdk1.7.0_79
.\gradlew.bat clean
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我仍然得到那个错误.
但是当我从构建机器上的命令行运行这些命令时,它们工作得很好.
从Jenkins运行gradlew.bat时,与从命令行运行它时有什么不同?当我从命令行运行时,Jenkins服务被配置为使用与我登录时相同的用户.我已经尝试显式设置我在命令行中设置的每个环境变量,在Jenkins任务中,我仍然看到错误.
有任何想法吗?