在Linux中解析SWF文件

时间:2012-01-25 15:25:45

标签: linux actionscript-3 parsing console flash

我们想编写一些从安静的几个SWF(Flash ActionScript 3)文件中获取数据的自动过程。

除此之外,我们希望它作为我们的自动部署脚本的一部分自动运行(用Ant编写,在Linux上运行)。

你们知道任何允许检查每帧实例数据的SWF解析工具吗? (就我在Google中看到的那样,Adobe AIR将无法在console-linux中运行)

想法? :)

1 个答案:

答案 0 :(得分:0)

使用Adobe AIR

我们使用Adobe AIR SDK完成了此操作。 AIR SDK versions 2.6 and earlier支持Linux。

您无需一直为Linux桌面打包应用程序,只需使用adl工具运行您的应用程序。

首先,编写一个ActionScript应用程序,用于加载和解析SWF中的数据并将其编译为loader_app.swf

然后创建一个应用程序描述符xml,例如:

<?xml version="1.0" encoding="UTF-8"?> 
<application xmlns="http://ns.adobe.com/air/application/2.6"> 
    <id>HelloWorld</id> 
    <versionNumber>0.0.1</versionNumber> 
    <filename>HelloWorld</filename> 
    <initialWindow> 
        <content>loader_app.swf</content> 
    </initialWindow> 
    <supportedProfiles>extendedDesktop</supportedProfiles>
</application>

要在Linux下运行此应用程序,只需运行:

> /<path_to_air_sdk>/bin/adl app.xml

注意:

  • 我依旧回忆起可以在无头模式下运行空气,但我们的解决方法是在X显示器上运行虚拟VNC服务器:99并设置DISPLAY =:99以使adl使用该X服务器我们可以从cron运行它。

  • 如果您希望AIR应用程序的多个实例同时运行,则需要更改app.xml中的字段。 AIR仅为每个id创建一个实例。

如果您想澄清任何步骤,请告诉我。

不使用Adobe AIR

另一种可能性是使用redtaramin声称允许从命令行运行actionscript。不幸的是,我没有这个工具的经验。