Actionscript 3 将AdobeAIR打包为Exe

Actionscript 3 将AdobeAIR打包为Exe,actionscript-3,flash,actionscript,air,adt,Actionscript 3,Flash,Actionscript,Air,Adt,使用FlashBuilder4.6,我从我的移动项目中导出了一个AdobeAIR文件 我正试图将它打包成一个EXE(包括AdobeAIR运行时) 该项目采用Air 3.1编制。我在网上看了看,有一些ADT命令是人们推荐使用的,但问题是该命令在AIR3.1中会抛出错误 如果我使用air 3.0 ADT: AIR file at [app path]/app.air could not be converted. The error was "" 如果我使用air 3.1或air 3.2 sdk

使用FlashBuilder4.6,我从我的移动项目中导出了一个AdobeAIR文件

我正试图将它打包成一个EXE(包括AdobeAIR运行时)

该项目采用Air 3.1编制。我在网上看了看,有一些ADT命令是人们推荐使用的,但问题是该命令在AIR3.1中会抛出错误

如果我使用air 3.0 ADT:

AIR file at [app path]/app.air could not be converted.
The error was ""
如果我使用air 3.1或air 3.2 sdk

SDK is missing file [my path to air]\lib\nai\bin\naip.exe
我在跑步

java -jar [path to air]\lib\adt.jar" -package -target native app.dmg app.air
我也试过了

java -jar [path to air]\lib\adt.jar" -package -target native app.exe app.air
我也研究过类似这样的项目:,但它是针对AIR2.0的


有什么想法吗?显然有一个集成的Flash Builder 4.6工具,但出于某种原因,导出版本下的选项不适用于移动项目-奇怪…

为什么要这样做?Air文件——为特定平台导出时——是可执行文件

如果您正在寻找一个“安装程序”,它将创建目录,运行Air安装,并将辅助文件移动到特定位置(文档、图标等),然后重试

编辑:

您提供的代码可用于我创建Windows EXE。但这似乎有点不必要。为什么不直接从Flash Builder中导出EXE文件(“顶部工具栏中的导出发布版本”按钮)?如果您不能或不愿意,那么以下是一些建议:

  • 我使用的是Java版本1.6.029。确保您的Java不仅是最新的,而且您实际上调用的是正确的版本(
    Java-version
  • 仔细检查JAR目录文本
  • 检查您是否正在呼叫正确的Air版本
  • 确保引号位于JAR路径的两侧
  • 您应该能够进行“导出发布构建”(尽管我使用的是FB4.5)。选择“导出为:桌面上安装的签名空气包”,而不是选择“导出为:每个目标平台的签名空气包”。(您可能必须创建证书,但也可以通过此导出功能创建证书。)
  • (如果您碰巧能够使用Flash IDE,则导出的Air文件必须同时支持“桌面”和“扩展桌面”。)

希望这将允许您生成一个可以转换为EXE的Air程序,并使用命令行实际转换它

我知道这个问题有点老了,但一位同事刚刚使用命令行工具和FlashDevelop遇到了相同的错误消息。事实证明,他不小心将一些源文件打包到了.air包中,一个额外的应用程序描述符副本和一个swc被打包到了.air文件中。我删除了这些文件并重新打包.air文件,然后使用以下命令:

adt.bat -package -target bundle kiosk kiosk.air

这成功创建了一个捕获运行时exe。当然,没有必要先创建.air文件,您可以直接打包到本机或捕获运行时,但由于我的同事正在创建.air文件,所以我也是这样做的,只是为了确保它能正常工作

我希望用户不必安装Air和我的应用程序。。。所以一个打包的exe已经有了air安装程序,所以它将与我的应用程序一起安装。嗯。安装程序和Air应用程序是否会自动下载Air(好吧,就是提示),或者失败?有什么区别?你真的想利用
NativeProcess
?不是真的。是的,这确实会促使他们,不幸的是,有些人害怕安装空气,因为他们不知道它是什么。最好将其编译到可执行安装程序中。有点像IPhone packager for Air是如何将Air与应用程序打包的。这不是为了避免回答--我不知道你为什么会遇到这个问题,我会四处寻找答案--但我认为,作为程序员,你最好警告/教人们什么是Air。如果你正在为4个不同的平台编写代码,这很容易成为一个令人头痛的问题;你最好把时间花在编码上,而不是做维护上。事实上,我认为K2xL的观点是正确的。作为一个不仅制作软件而且教授计算机技能的人,我知道很多人会认为他们下载了错误的东西。那些“白痴”,Worms,实际上恰好占了相当一部分软件购买者的很大比例。在我看来,适应这样一个边缘案例显示了很多远见。