NativeProcess
08 / 31, 2013
NativeProcess 类提供命令行集成和常规启动功能。NativeProcess 类允许 AIR 应用程序在主机操作系统上执行本机进程。AIR 应用程序可以监视进程的标准输入 (stdin) 和标准输出 (stdout) 流以及进程的标准错误 (stderr) 流。
直接上代码(这里用adobe的ATF导出工具作为例子)
var workingDirectory:File = File.applicationDirectory;//根据需求自己改
var executable:File = File.applicationDirectory.resolvePath("png2atf");//根据需求自己改
var params:Vector.<String> = new Vector.<String>();
params.push("-c");
params.push("-i");
params.push("test.png");
params.push("-o");
params.push("test.atf");
var info:NativeProcessStartupInfo = new NativeProcessStartupInfo();
info.workingDirectory = workingDirectory;
info.arguments = params;
info.executable = executable;
var nativeProcess:NativeProcess = new NativeProcess();
nativeProcess.addEventListener(NativeProcessExitEvent.EXIT,onExit);
nativeProcess.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA,onData);
nativeProcess.addEventListener(ProgressEvent.STANDARD_ERROR_DATA,onError);
nativeProcess.start(info);
function onExit(e:NativeProcessExitEvent):void{
trace("exit");
}
function onData(e:ProgressEvent):void{
trace(nativeProcess.standardOutput.readUTFBytes(nativeProcess.standardOutput.bytesAvailable));
}
function onError(e:ProgressEvent):void{
trace(nativeProcess.standardError.readUTFBytes(nativeProcess.standardError.bytesAvailable));
}
注意事项
该类只能在AIR中使用 player中无法使用
应用程序配置文件需要配置
<application xmlns="http://ns.adobe.com/air/application/3.8">
...其他配置...
<supportedProfiles>extendedDesktop</supportedProfiles>
</application>
导出注意事项
只能导出为
本机安装程序
或
具有运行时绑定的应用程序
否则NativeProcess将会报错
错误信息为 Error: Error #3219: The NativeProcess could not be started. 'Not supported in current profile.'
comments powered by Disqus