詹金斯移动安装android包装错误

时间:2012-10-21 13:49:11

标签: android air jenkins adt

我搜索谷歌和SO寻求解决方案,但找不到任何解决方案。我正在为Android开发一个移动AIR应用程序,我使用Jenkins作为本地CI系统。我的项目编译得很好,但是,在ADT包装过程中出了问题。我从以下示例中复制了ADT打包目标:

http://blog.terrenceryan.com/using-ant-to-package-the-same-air-app-to-multiple-devices/

https://gist.github.com/630170

但是,我在Jenkins中得到了这个输出:http://d.pr/i/y2gJ

这是我的build.xml文件中的打包部分(使用了重要的属性名称和值):

...
...
<property name="APP_NAME"                   value="Hightide"/>
<property name="ANDROID_HOME"               value="${user.home}/../../../Supermaggel/SDKS/android-sdk-macosx" />
<property name="APP_DESCRIPTOR"             value="${SOURCE_DIR}/${APP_NAME}-app.xml" />
<property name="SWF_FILE"                   value="${APP_NAME}.swf" /> 
<property name="OUTPUT_LOCATION_ANDROID"    location="${BUILD_DIR}/android" />
<property name="OUTPUT_SWF_ANDROID"         location="${OUTPUT_LOCATION_ANDROID}/${SWF_FILE}" />
<property name="OUTPUT_APK_ANDROID"         value="OUTPUT_LOCATION_ANDROID/${APP_NAME}.apk" />
...     
...
<!-- PACKAGE ANDROID -->
<target name="package-android">
    <echo message="Packaging for Android"/>
    <exec executable="${ADT}" dir="${OUTPUT_LOCATION_ANDROID}">
        <arg line="-package"/>
        <arg line="-target apk"/>
        <arg line="-storetype pkcs12"/>
        <arg line="-keystore ${KEYSTORE_ANDROID}" />
        <arg line="-storepass ${STOREPASS_ANDROID}" />
        <arg line="${APP_NAME}"/>                   <!-- output .APK -->
        <arg line="${APP_DESCRIPTOR}"/>         <!-- app descriptor location -->
        <arg line="${OUTPUT_SWF_ANDROID}"/>         <!-- output -->
    </exec>
</target>

我正在使用Jenkins ver。 1.486,Flash Builder 4.6,AIR 3.3。

有人能指出包装过程中出了什么问题吗?任何缺失或解释错误的参数?

1 个答案:

答案 0 :(得分:0)

我发现是什么导致了它。 ADT cli工具给出了退出代码2,这意味着参数出现问题......我花了好几个小时看着它,试图弄清楚出了什么问题。对于ADT,您需要传递相对路径,而不是“绝对”路径(或者,相对于项目根目录。)而不是$ {PROJECT_ROOT} / packagedir / $ {APPNAME} .apk只需使用packagedir / $ {APPNAME}。适用于所有路径的apk或类似内容。