2013-02-06 68 views
3

我在无头Linux构建服务器上与Android SDK一起设置了Jenkins服务器。我通过典型的“android create project ...”命令创建一个Android项目。Android Jenkins Build - 调试“目标”在项目错误中不存在

当我将“cd”放入新项目中后,我可以在命令行中以jenkins用户身份“成功清除调试”。我从我的工作区詹金斯目录下运行这个(.jenkins /工作区/ <项目名称>):

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

然而,当詹金斯工作建立我得到一个目标“调试”不存在于该项目“项目名“错误

我设置sdk.dir变量来我的Android SDK目录,所以在詹金斯日志中的命令运行,如:

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

我已经把我的权限为777对整个Android SDK文件夹:

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

我不知道我可能会错过什么?为什么命令在命令行上运行,但作为Jenkins作业不成功?

谢谢!

回答

0

经过几天的沮丧和疑惑,事实证明,删除项目并重新创建与EXACT相同的设置修复了问题。同时,我创建并删除了多个工作,有时他们有上面提到的错误,有时他们没有。即使Job的设置完全相同(字母的字母),它有时会有效,其他的则不会。对不起,我不知道如何解决这个问题,删除作业,重新创建它,然后重试!

祝你好运!

2

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

仔细检查您的

.jenkins/workspace/<project-name> 

目录,以确保它具有相同的项目文件,在那里你在命令行手动运行的东西。

+0

是的,我应该在原始问题中说明,我现在就更新它。我所有的命令都是从.jenkins/workspace/<项目名称>运行的... – ossys

+0

在项目中是否有多个build.xml文件? – Shellum

+0

不,这只是使用命令行创建的标准Android项目...我有2.8插件。我还注意到,当我添加“创建Android构建文件”构建步骤时,我立即得到一个“ 致命错误:字符串索引超出范围:-1 java.lang.StringIndexOutOfBoundsException”异常,并且构建立即退出并出现异常。这是一个不稳定的插件版本吗? – ossys

0

我也有同样的问题。然而,我的脑袋有一段时间可以解决问题。 所以如果你想在命令行运行ant target,你必须使用“ant target name”(例如ant debug)。但是为了让jenkin运行相同的目标,你应该只使用没有ant的目标名称(例如debug)。

不知道为什么是这样。但是这为我解决了这个问题。

相关问题