我搜索了谷歌和 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 版本。1.486、Flash 生成器 4.6、AIR 3.3。
谁能指出包装过程中出了什么问题?任何参数丢失或解释错误?