使用Adobe Air App捆绑并执行.app / .exe文件

时间:2010-11-25 09:45:51

标签: flash air executable flash-builder

我正在构建一个Air应用程序,它使用.app / .exe文件作为硬件设备的桥梁。

理想情况下,我希望将可执行文件包含在Air应用程序安装程序中,并与Air应用程序一起启动外部程序。

1)这可能吗?
2)如何确定要启动哪个OS特定文件?

编辑:好的,上面的内容并不是很难:

var file:File = File.applicationDirectory;
file = file.resolvePath("src/assets/NativeApps");

if (Capabilities.os.toLowerCase().indexOf("win") > -1) {
    file = file.resolvePath("Windows/echoTestWin.exe");
}
else if (Capabilities.os.toLowerCase().indexOf("mac") > -1) {
    file = file.resolvePath("Mac/echoTestMac.app");
}

var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
nativeProcessStartupInfo.executable = file;
var process = new NativeProcess();
process.start(nativeProcessStartupInfo)

但为什么我会收到此错误消息?

  

ArgumentError:错误#3214:NativeProcessStartupInfo.executable未指定有效的可执行文件。

.app扩展名不是有效吗?

2 个答案:

答案 0 :(得分:7)

.app实际上是一个文件夹。要访问内部的可执行文件,您必须引用YourApp.app/Contents/MacOS/YourApp

答案 1 :(得分:1)

有关于执行外部程序的帖子:Adobe AIR to execute program

您当然可以检测操作系统:http://www.uibuzz.com/?p=1330

还可以创建特定于操作系统的本机安装程序。