Jenkins执行失败:java.io.IOException ant构建

3

我已经在Debian服务器上安装好了Jenkins,并尝试创建第一个Android构建,但是Ant无法被调用。

在Jenkins配置中:

    Name: Java6
    JAVA_HOME/usr/lib/jvm/java-6-sun
    Name: AntHome
    ANT_HOME/usr/share/ant

在工作配置中:

    git  > repo
    Build step-
    Ant invoke
    Ant Version: AntHome
    Targets: -d
    build file: folder/folder/build.xml

当我构建作业时,它会给我这个错误。
[folder] $ /usr/share/ant/bin/ant -file build.xml -d
/var/lib/jenkins/workspace/Project/folder/folder/build.xml:47: Execute failed: \
    java.io.IOException: Cannot run program \
    "/home/dims/android-sdk-linux_x86-1.0_r2/tools/aapt": \
    java.io.IOException: error=2, No such file or directory

我在命令行中得到了相同的结果

jenkins@host:~/workspace/Project/folder/folder$/usr/share/ant/bin/ant -d
/var/lib/jenkins/workspace/Project/folder/folder/build.xml:47: Execute failed: \
    java.io.IOException: Cannot run program \
    "/home/dims/android-sdk-linux_x86-1.0_r2/tools/aapt": \
     java.io.IOException: error=2, No such file or directory

这种情况发生在这个特定的项目中,因为我创建了其他项目,而ant -d是可以正常工作的。
    jenkins@host:~$ android create project -n template -t android-10 -p Project -k some.pkg -a Some
    Created project directory: Project
    Created directory /var/lib/jenkins/Project/src/some/pkg
    Added file Project/src/some/pkg/Some.java
    Created directory /var/lib/jenkins/Project/res
    Created directory /var/lib/jenkins/Project/bin
    Created directory /var/lib/jenkins/Project/libs
    Created directory /var/lib/jenkins/Project/res/values
    Added file Project/res/values/strings.xml
    Created directory /var/lib/jenkins/Project/res/layout
    Added file Project/res/layout/main.xml
    Added file Project/AndroidManifest.xml
    Added file Project/build.xml
    Added file Project/proguard-project.txt
    jenkins@host:~$ cd Project/
    jenkins@host:~/Project$ ant -d
    Apache Ant version 1.8.0 compiled on M
    ....
     [echo]               unless 'nodeps' is used as well.

    BUILD SUCCESSFUL
    Total time: 0 seconds

你确定/home/dims/android-sdk-linux_x86-1.0_r2/tools/aapt文件存在,并且jenkins用户有读取/执行权限吗? - oers
1个回答

9

当你尝试在缺少一些必要的32位库的64位系统上运行aapt(或需要它的项目)时,会出现这种奇怪的错误,例如默认的Ubuntu > 9。解决方案是使用以下命令安装ia32-libs包:

$ sudo apt-get install ia32-libs

假设您不想安装近300个软件包,请运行以下命令:
$ sudo apt-get install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386 --no-install-recommends

2
解决了我的问题!非常感谢! - PureSpider
我从来没有想到过这个!非常感谢!!为什么这不被接受为解决方案? - Vit Khudenko
我猜@BranGi不再使用StackOverflow了。 - Torque

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接