我已经构建了一个使用nativeProcess打开exe的应用程序。
Flex Builder 3中的应用程序会运行whitout错误。
然后当我在.air中导出aplicaction AIR并在开发者pc或其他电脑上安装应用程序时出现问题。
当我按下按钮打开.exe时,会出现消息“不支持本机进程”。
我使用的main.mxml中的代码:
if (NativeProcess.isSupported)
{
var file:File = new File("app:/config/AbrirAplicacion.exe");
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
nativeProcessStartupInfo.executable = file;
process = new NativeProcess();
process.start(nativeProcessStartupInfo);
process.standardInput.writeUTFBytes(textReceived.text+"\n");
process.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, onOutputData);
process.addEventListener(ProgressEvent.STANDARD_INPUT_PROGRESS, inputProgressListener);
}
else
{
textReceived.text = "NativeProcess not supported.";
}
我做错了什么想法?
答案 0 :(得分:3)
NativeProcess仅在将应用程序编译为本机二进制文件时可用,而不是.air安装程序。
答案 1 :(得分:1)
您必须将 supportedProfiles-tag 设置为“ extendedDesktop ”才能使用Native Process。
在app.xml中输入/取消注释以下这一行:
<supportedProfiles>extendedDesktop</supportedProfiles>
答案 2 :(得分:0)
NativeProcess可以使用Air2进行编译,这非常棘手。问题是你必须COMPLETLEY覆盖你的Flex SDK和新的Air2。令人惊讶的是,根据this link,您无法通过查找器执行此操作,而应通过终端执行此操作。在Mac:
ditto -V folder1 folder2
以覆盖它们。现在转到项目的首选项并选择folder2作为sdk(现在它与folder1重叠)。
此外,您可能需要将说明更改为:
http://ns.adobe.com/air/application/2.0
Installing the Adobe AIR 2 SDK in Eclipse有很好的描述(检查第3部分)。
希望有所帮助。
答案 3 :(得分:0)
解决方案
使用本机签名而非AIR签名导出