1

我已经使用命令“apt-get install jenkins”在我的 ubuntu 11.04 系统上安装了 Jenkins。我能够从 linux 命令行很好地执行“ant debug”命令并​​成功完成但是当我尝试使用 jenkins 前端通过设置构建目标“Invoke ant”和属性“sdk.dir=/opt”从 git hub 调试 Android 项目时/android-sdk-linux-ics”。它给出以下错误控制台输出:

########################################################################################

Started by user anonymous
Building in workspace /var/lib/jenkins/workspace/touchanimtn
Checkout:touchanimtn / /var/lib/jenkins/workspace/touchanimtn - hudson.remoting.LocalChannel@72cd429b
Using strategy: Default
Last Built Revision: Revision 3e4b580644fad8b059fb5c13925d3d86fa402187 (origin/HEAD, origin/master)
Fetching changes from 1 remote Git repository
Fetching upstream changes from https://github.com/ssamar/touchanimtn.git
Seen branch in repository origin/HEAD
Seen branch in repository origin/master
Commencing build of Revision 3e4b580644fad8b059fb5c13925d3d86fa402187 (origin/HEAD, origin/master)
Checking out Revision 3e4b580644fad8b059fb5c13925d3d86fa402187 (origin/HEAD, origin/master)
Warning : There are multiple branch changesets here
[touchanimtn] $ ant -Dsdk.dir=/opt/android-sdk-linux-ics clean debug
Buildfile: /var/lib/jenkins/workspace/touchanimtn/build.xml

BUILD FAILED
/var/lib/jenkins/workspace/touchanimtn/build.xml:83: Cannot find /opt/android-sdk-linux-ics/tools/ant/build.xml imported from /var/lib/jenkins/workspace/touchanimtn/build.xml

Total time: 0 seconds
Build step 'Invoke Ant' marked build as failure
Finished: FAILURE

###################################################################################

我还尝试将“android-sdk-linux-ics”放入主文件夹,但给出了同样的错误。

请给我这个错误的正确解决方案。

4

3 回答 3

1

Either the root of your Android SDK isn't at /opt/android-sdk-linux-ics (i.e. the tools directory should be in there, with no intermediate directories), or the SDK does exist there, but the jenkins user doesn't have permission to access it.

于 2012-08-01T15:12:37.837 回答
1

可能会帮助某人。

ANDROID_HOME/platforms 指向哪里

  1. 伸手可及的取景器
  2. 带来获取信息
  3. 添加 Jenkins 用户和
  4. 授予读取权限。

这解决了我的 build.xml not found 错误问题。

于 2013-05-22T10:14:23.990 回答
1

这是一个很好的问题,更多人在之前安装了 android SDK 的 linux 系统上安装 Jenkins 时会遇到。

问题要么是android SDK的路径不正确(1),要么是jenkins用户访问android SDK安装路径的权限不足(2)。

1)路径:仔细检查你的 ant 构建步骤中失败的詹金斯项目的路径。转到 ant 构建步骤并单击高级。它应该在属性字段中列出 sdk.dir=SOME/PATH 。对于多个值,请确保扩展字段并为每个值使用一个新行。也不要将 -D 包含在您的论点中,因为 Jenkins 将为每一行都这样做。

2)权限:仔细检查那里列出的 android-sdk 文件夹的权限。用于ls -l获取当前权限列表并chmod在需要时更新权限。

笔记:

切换到系统上的 jenkins 用户并自己从 shell 测试失败的命令总是一个好主意。

sudo su jenkins

当我在我的詹金斯配置上启用安全性时,我也遇到了这种错误。您可以通过停止 jenkins 服务、重命名配置文件并重新启动服务来禁用安全性而不会丢失设置。

sudo service jenkins stop
sudo mv /var/lib/config.xml /var/lib/config.xml.backup
sudo service jenkins start

在这种情况下,我没有深入检查哪些用户应该获得权限,但我知道恢复此更改可以解决问题。此外,我仍然可以使用前面列出的 jenkins 用户执行 ant 脚本。

这个问题非常相似:Building android project from jenkins under linux - build failed, cannot find imported build.xml

于 2013-01-15T08:55:32.377 回答