我在谷歌上搜索过解决方案,但没有找到任何解决方案。我正在为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版本。1.486、Flash Builder 4.6、AIR 3.3。
谁能指出包装过程中出了什么问题?有没有遗漏或解释错误的参数?
发布于 2012-10-26 05:21:54
我发现了是什么引起的。ADT cli工具给出了退出代码2,这意味着参数有问题...我花了几个小时看着它,试图找出哪里出了问题。对于ADT,您需要传入相对路径,而不是“绝对”路径(或项目根目录的相对路径)。因此,对于所有路径,不使用${PROJECT_ROOT}/packagedir/${APPNAME}.apk,而是使用packagedir/${APPNAME}.apk或类似的内容。
https://stackoverflow.com/questions/12998402
复制相似问题