Air调用外部程序

var process:NativeProcess = new NativeProcess();
var args : Vector<String> = new Vector<String>();
args.push('--sheet');
args.push(url + '.png');
args.push('--data');
args.push(url + '.xml');
args.push('--no-trim');
args.push('--max-size');
args.push('2048');
args.push('--disable-rotation');
args.push('--format');
args.push('xml');
args.push(File.documentsDirectory.nativePath + "\\animation\\" + url);
var info:NativeProcessStartupInfo = new NativeProcessStartupInfo();
var sdkFile:File = new File("D:/XXX/TexturePacker.exe");
info.executable = sdkFile;
info.workingDirectory = new File(File.documentsDirectory.nativePath + "\\animation");//File.applicationStorageDirectory;
info.arguments = args;
process.addEventListener(ProgressEvent.STANDARD_ERROR_DATA, processErrorHandler);
process.start(info);

注:NativeProcessStartupInfo.arguments 以空格分隔,每项均不包含空格
本地运行需在app.xml中加入extendedDesktop
ProgressEvent.STANDARD_ERROR_DATA抛出utf错误e.target.standardError.readUTFBytes(e.target.standardError.bytesAvailable)读取

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注