Any way to have an ActionScript 3 (Flex/AIR) project print to standard output?

后端 未结 4 1737
忘了有多久
忘了有多久 2021-01-12 07:34

Is there any way to have a binary compiled from an ActionScript 3 project print stuff to stdout when executed?

From what I\'ve gathered, people have been go

相关标签:
4条回答
  • 2021-01-12 08:17

    Redtamarin seems to be able to do this (even though it's still in its infancy):

    Contents of test.as:

    import avmplus.System;
    import redtamarin.version;
    
    trace( "hello world" );
    trace( "avmplus v" + System.getAvmplusVersion() );
    trace( "redtamarin v" + redtamarin.version );
    

    On the command line:

    $ ./buildEXE.sh test.as 
    
    test.abc, 243 bytes written
    test.exe, 2191963 bytes written
    
    test.abc, 243 bytes written
    test.exe, 2178811 bytes written
    
    $ ./test
    hello world
    avmplus v1.0 cyclone (redshell)
    redtamarin v0.1.0.92
    
    0 讨论(0)
  • 2021-01-12 08:26

    With AIR on Linux, it is easy to write to stdout, since the process can see its own file descriptors as files in /dev.

    For stdout, open /dev/fd/1 or /dev/stdout as a FileStream, then write to that.

    Example:

    var stdout : FileStream = new FileStream();
    stdout.open(new File("/dev/fd/1"), FileMode.WRITE);
    stdout.writeUTFBytes("test\n");
    stdout.close();
    

    Note: See this answer for the difference between writeUTF() and writeUTFBytes() - the latter will avoid garbled output on stdout.

    0 讨论(0)
  • 2021-01-12 08:29

    If you are using a debug Flash Player, you can have the Flash Player log trace messages to a file on your system.

    If you want real time messages, then you could tail the file.

    More info:

    http://blog.flexexamples.com/2007/08/26/debugging-flex-applications-with-mmcfg-and-flashlogtxt/

    mike chambers

    mesh@adobe.com

    0 讨论(0)
  • 2021-01-12 08:36

    As you say, there's no Adobe-created way to do this, but you might have better luck with Zinc, it is similar to AIR but provides real OS integration of Flash-based applications. Look though the API docs, there should be something there.

    0 讨论(0)
提交回复
热议问题