AIR NativeProcess на Mac дава грешка:3219, всички решения са неуспешни

Прочетох повечето решения за тази грешка и нито едно не изглежда приложимо.

Изпълнявам основно AS3 приложение във FlashBuilder на OS-X.

  • дескрипторът е зададен на extendedDesktop
  • сте задали профила във FB на 'extendedDesktop'
  • публикувам като „подписан собствен инсталатор“
  • I've tried launching the file from both:
    • app:/demo.sh
    • file:///Users/visualife/Desktop/AE/demo.sh
  • целевият файл е зададен на 777 (изпълним)
  • целевият файл работи добре, когато е директно насочен
  • изпълнявам exe на същата операционна система и машина, на която е създаден
  • промяната на файла 'demo.sh' на jpg и т.н. не променя нищо

Без значение какво опитвам, казват ми, че основният процес е поддръжка, всичко върви добре, докато не се извика start, след което се извежда грешка: 3219 без допълнителна информация.

цялата помощ е високо оценена!

Включих моя код по-долу:

package {
    import flash.desktop.NativeProcess;
    import flash.desktop.NativeProcessStartupInfo;
    import flash.display.Sprite;
    import flash.errors.IllegalOperationError;
    import flash.events.Event;
    import flash.events.IOErrorEvent;
    import flash.events.NativeProcessExitEvent;
    import flash.events.ProgressEvent;
    import flash.filesystem.File;
    import flash.text.TextField;

    public class VauxhallController extends Sprite {

        private var debug_txt:TextField;

        public var process:NativeProcess;
        private var sh:File;

        public function VauxhallController() {
            if (stage) {
                init();
            } else {
                this.addEventListener(Event.ADDED_TO_STAGE, init);
            }
        }

        private function init($e:Event=null):void {
            this.removeEventListener(Event.ADDED_TO_STAGE, init);

            build();

            if (NativeProcess.isSupported) {
                initListeners();

                debugMe("Native process supported");

                go();
            } else {
                debugMe("Native not supported");
            }
        }

        private function build():void {
            // debug
            debug_txt   = new TextField();
            debug_txt.width = 300;
            debug_txt.height= 600;
            this.addChild(debug_txt);

        }
        private function initListeners():void { }
        private function go():void {
            runShellFile();
        }

        private function runShellFile():void {
            debugMe("runShellFile");
            var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
            var essArgs:Vector.<String> = new Vector.<String>();            
            var file:File; 

            file    = File.desktopDirectory.resolvePath("AE/demo.sh");
            debugMe("path|"+ File.desktopDirectory.resolvePath("AE/demo.sh").url);

            nativeProcessStartupInfo.executable = file;
            nativeProcessStartupInfo.workingDirectory   = File.desktopDirectory;
            nativeProcessStartupInfo.executable = file;

            process = new NativeProcess();
            process.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, onOutputData);
            process.addEventListener(ProgressEvent.STANDARD_ERROR_DATA, onErrorData);
            process.addEventListener(NativeProcessExitEvent.EXIT, onExit);
            process.addEventListener(IOErrorEvent.STANDARD_OUTPUT_IO_ERROR, onIOError);
            process.addEventListener(IOErrorEvent.STANDARD_ERROR_IO_ERROR, onIOError);

            try {
                process.start(nativeProcessStartupInfo);
            } catch (error:IllegalOperationError) {
                debugMe(error.toString());
            } catch (error:ArgumentError) {
                debugMe(error.toString());
            } catch (error:Error) {
                debugMe(error.toString());
            }

            debugMe("# DONE");
        }

        public function onOutputData(event:ProgressEvent):void {    debugMe("Got: "+ process.standardOutput.readUTFBytes(process.standardOutput.bytesAvailable));   }
        public function onErrorData(event:ProgressEvent):void {     debugMe("ERROR: "+ process.standardError.readUTFBytes(process.standardError.bytesAvailable));   }
        public function onExit(event:NativeProcessExitEvent):void { debugMe("Process exited with: "+ event.exitCode);   }
        public function onIOError(event:IOErrorEvent):void {        debugMe("IOError: "+ event.toString());             }

        private function debugMe(_str:String):void {    debug_txt.appendText(_str +"\n");   }
    }
}

person VisualifeDC    schedule 06.12.2014    source източник
comment
публикувайте цялата грешка, моля.   -  person BotMaster    schedule 08.12.2014
comment
Здравей BotMaster, за съжаление проследяването на грешката е просто грешка: 3219, изглежда няма допълнителна информация, освен ако не я пропускам... за потвърждение: кодът се компилира добре, грешката е по време на изпълнение   -  person VisualifeDC    schedule 08.12.2014


Отговори (2)


Чели ли сте тази статия? http://www.actionscripterrors.com/?p=2527

<supportedProfiles>extendedDesktop desktop</supportedProfiles>
person mika    schedule 09.12.2014
comment
да, Мика, благодаря за предложението, но това е една от статиите, които следвах първоначално и следователно в списъка с нещата по-горе, които опитах. Но все още не работи. - person VisualifeDC; 09.12.2014
comment
Пътят от debugMe(path|... валиден ли е? - person mika; 09.12.2014
comment
да, приложението проследява: file:///Users/visualife/Desktop/AE/demo.sh, което, когато се копира във Finder, стартира правилния файл - person VisualifeDC; 09.12.2014
comment
Странно, тествах кода ви и го накарах да работи добре с версия на версията: Поддържа се собствен процес runShellFile path|file:///Users/mika/Desktop/AE/run.sh # ГОТОВО Разбрах: ОК! - person mika; 10.12.2014
comment
наистина ли? Еха. благодаря, че провери Мика. И run.sh стартира? има ли шанс да споделите източника си, тъй като трябва да пропускам нещо в настройката. можете да ми изпратите имейл директно на [email protected], ако е по-лесно. - person VisualifeDC; 10.12.2014
comment
Скоро ще ви изпратя zip архив - person mika; 10.12.2014

Имам същата грешка и в моя случай е защото се опитвам да отворя .exe на MacOS. Проверете дали вашият demo.sh скрипт взаимодейства с .exe файлове.

person Gabriel L Martinez    schedule 22.08.2019