swf 文件 打包 exe 方法
Part 1:
用flex做开发,如果直接用在web上,发布为swf放到服务器即可。
如果用在客户端上,可以发布为air,不过air需要air的runtime,如果所做的事情很简单,swf本身就能胜任(没有用本地的api),那发布为air就太重了,swf就够了。但swf不太好用,如果能发布为exe就好了。
用Flash开发,可以publish为exe,用Flex没有这个功能了。
如果搜索一下的话,会发现很简单,网上有很多swf转exe的工具。
不过试用以后会发现,这些工具对flash的swf没有问题,对flex的swf很有可能不能运行。
原因是flex的swf用了一些特殊的包。
其实不用工具,就可以把swf包装为exe,很简单。
在Flash Builder里,首先在构建路径里把库合并到代码中,不能使用RSL或者共享的方式;其次要导出发行版,就是Release版本。
然后运行C:\Program Files\Adobe\Adobe Flash Builder 4\player\win\FlashPlayer.exe
,打开swf,然后文件-》创建播放器,就可以导出为exe了。
非常简单,是不是?
引用:http://blog.wsdd.org/?p=1769
Part 2:
Adobe AIR安装率实在太低了。所以很必要对你的air程序进行打包。那个Shu我是没用过,广告打得很猛,但是完全可以用winrar就达到打包air的目的。
1.准备好你需要打包的文件。去你的flex sdk的bin中找到adl.exe,拷贝过来;然后在把flex sdk中的runtimes文件夹也拷贝出来。这些和你需要打包的文件放在同一目录下。如图:
adl.exe和runtimes主要是用来创建Adobe air运行环境,让你的程序能在没有安装Adobe air的机器上也能运行起来。
2.然后,需要了解下adl.exe的使用方法。基本如下:
adl -runtime AIR环境目录 程序的xml配饰文件 — -main 程序主swf文件
根据我的项目,我写了一个run.bat文件,用来调用adl并运行我的air程序,如下:
adl -runtime runtimes\air\win application.xml — -main PhotoCommenter.swf
可以测试下,看看这个文件能不能让你的程序运行起来。如果能正常运行,一切ok。
但是你会发现一个小问题,整个程序运行了,而且还有一个命令行的运行窗口!好别扭是吧。没关系,再写一个vbs文件(姑且明命名为run.vbs,名称可以随意起):
set wshshell=createobject(“wscript.shell”)
wshshell.run “cmd.exe /c run.bat”,0,true
这段代码主要是用来执行run.bat文件,且隐藏那个可恶的命令行运行窗口。保存…
3.然后开始打包。选择所有文件,右键——》添加到压缩文件(你可千万得装了winrar啊!)。在打开的压缩面板中,在常规面板中勾选“创建自解压格式压缩文件”。你会发现默认的压缩文件名变为exe后缀了:
压缩方式最好选择存储,这样你打包后的程序会很快解压缩并运行。
然后切换到高级面板,点击“自解压选项”。在弹出的窗口中,常规面板中设置程序的解压路径以及解压后运行的文件——这个非常重要:
别关闭该窗口,切换面板到“模式”, 勾选“解包到临时文件夹”。在安静模式中,选择“全部隐藏”。
一切ok~~ 打包后的程序就能直接运行了!
4.这个时候你就发现,输出的exe文件的图标是winrar默认的图标。这个好说,下一个更改工具改下即可,不表。另外一个就是,这个exe的图标该了后,程序运行了,你就发现程序的图标竟然是adl.exe的图标——很正常,你用的就是它。所以你还需要将adl.exe的图标也进行相应的修改。
5.最后,你会发现成个exe好大。ok,好好看看runtime文件夹下的文件,把你不要的dll删除。然后重新打包。
功德圆满!
posted on 2011-08-26 12:57 破阵子 . 如是我闻 阅读(1240) 评论(0) 编辑 收藏 举报