-------------------------------------------------------------------------------------------------------------------------------------------------------------------
参考:
Building an AIR Application
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
一、相关环境
OS: Ubuntu 9.10
Maven V2.2.1
Flexmojos V3.7.1
Flex SDK 4.1
Adobe AIR 2.0.2 SDK
二、 构建过程
1、似乎目前 Flexmojos 还没有公布创建AIR应用的模板,所以通过其SVN获取AIR应用的样例源码:
SVN地址: http://svn.sonatype.org/flexmojos/trunk/flexmojos-testing/flexmojos-test-harness/projects/concept/simple-air/
simple-air 项目结构如下:
2、修改 simple-air / pom.xml文件:
增加 仓库配置 和 Flexmojos 、FlexSDK 版本属性、指定SDK编译版本等,修改后的 pom.xml 如下:
4.0.0 info.rvin.itest simple-air 1.0-SNAPSHOT pom air swf swc 3.7.1 4.0.0.13555 flexmojos http://repository.sonatype.org/content/groups/flexgroup/ true true flexmojos http://repository.sonatype.org/content/groups/flexgroup/ true true src/main/flex org.sonatype.flexmojos flexmojos-maven-plugin ${flexmojos.version} true 10.0.0 com.adobe.flex compiler ${flex.sdk.version} pom com.adobe.flex adt ${flex.sdk.version} compile com.adobe.flex.framework air-framework ${flex.sdk.version} pom
3、修改 simple-air / air / pom.xml, simple-air / swf / pom.xml , simple-air / swc / pom.xml 文件中的
%{flexmojos.version}
为
${flexmojos.version}
4、修改 simple-air/air/src/main/resources/descriptor.xml 中的
为
5、编译项目,终端执行:
mvn install
成功后, 在 simple-air/air/target 文件夹下会有成品:simple-air-air-1.0-SNAPSHOT.air,
运行该文件(需已安装AIR runtime),按提示安装并运行,运行结果如下:
至此,构建过程实践成功。
三、 遇到问题与解决
Q1、未修改 simple-air/air/src/main/resources/descriptor.xml 中的
运行 mvn install 时出现错误:
error 305: Intial window content SWF version 10 exceeds namespace version http://ns.adobe.com/air/application/1.0
Q2、修改 simple-air/air/src/main/resources/descriptor.xml 中的 namespace为:
运行 mvn install 时出现错误:
error 102: Invalid namespace http://ns.adobe.com/air/application/2.0
以上2个错误的原因及解决是相通的:
原因:Flash Player , Flex SDK, adt 的版本彼此之间是有关联的,Q1是由于pom.xml指定了Flash Player版本为10 (
注1:该原因是根据一些资料得出的,更多请参考:
1) http://help.adobe.com/zh_CN/air/build/WS5b3ccc516d4fbf351e63e3d118666ade46-7ff1.html#WSe3d2d52902616553396777a311d6a2e014f-8000
2) http://forums.adobe.com/message/2894373
注2: 目前 flex.sdk.version 版本似乎最高只能是 4.0.0.13555,仓库中 adt 最高只有这个版本。
解决: 将命名空间URL改为:http://ns.adobe.com/air/application/1.5