Android Jenkins Build - 调试“target”在项目错误中不存在

时间:2013-02-06 03:29:31

标签: android ant jenkins

我在无头Linux构建服务器上设置了Jenkins服务器和Android SDK。我通过典型的“android create project ...”命令创建了一个Android项目。

在我“cd”进入新项目后,我可以在命令行上成功地“蚂蚁清理调试”作为jenkins用户。我从我的Jenkins工作区目录(.jenkins / workspace /< project name>)运行它:

# su jenkins
$ ant clean debug
.... successful ....

然而,当Jenkins作业构建时,我得到一个Target“debug”在项目“ProjectName”错误中不存在

我将sdk.dir变量设置为我的Android SDK目录,因此Jenkins日志中的命令运行如下:

$ ant -Dsdk.dir=/opt/java/android clean debug

我在整个android SDK文件夹上设置了777的权限:

# chmod -R 777 /usr/java/android/android-sdk

我对自己可能缺少的其他东西感到茫然?为什么命令在命令行上运行但作为Jenkins作业不成功?

谢谢!

3 个答案:

答案 0 :(得分:2)

你是否正在从jenkins尝试的同一个地方运行命令行ant build?

仔细检查

.jenkins/workspace/<project-name>

目录,以确保它具有与您手动从命令行运行的项目相同的项目文件。

答案 1 :(得分:0)

经过几天的挫折和惊奇,事实证明删除项目并使用完全相同的设置重新创建它修复了问题。与此同时,我创建并删除了几个更多的工作,有时他们会有上面提到的错误,有时他们没有。即使使用与作业完全相同的设置(字母也是如此),它有时会起作用,而有些则不起作用。对不起,我不知道如何解决这个问题,除了删除作业,重新创建它,然后再试一次!

祝你好运!

答案 2 :(得分:0)

我也有同样的问题。然而,打破我的头一段时间我能解决问题。 因此,如果要在命令行上运行ant目标,则必须使用“ant target name”(例如ant debug)。但是要通过jenkin运行相同的目标,你应该只使用没有ant的目标名称(例如debug)。

不确定为什么会这样。但这解决了我的问题。