一般一个swf如果要拆分为两个,swf1和swf2,有两种选择:
1.放在同一个项目中,设置两个可运行的文件。
2.放在两个不同项目中。
大部分人拆到两个项目的时候,不清楚到底依赖哪些文件,会把认为可能依赖的包都搬过去。
其实我们可以经由步骤1实现2。
因为swf编译的时候只编译进去依赖的文件。
所以我们可以通过swf的反编译软件比如ASV或sothink,巧妙得确定拆分的两个swf分别需要哪些文件。
必须使用debug版的swf来反编译,release版的将函数的局部变量替换为local1 local2等变量名了,debug版的原名。
反编译的代码导出后可以直接编译成功,但是Embed的资源被替换为自动生成的空类了。一般我们项目中已经对资源分类,集中在某几个类中管理嵌入了。
删除这些自动生成的空类,和引用他们的管理类,从原项目中拷贝原资源管理类。
然后从原项目拷贝资源。
这样拆分出来的项目就没有任何冗余的文件了。
PS:反编译取巧了点,应该存在 能分析某个文件编译需要哪些文件 的软件,编译器本身就能。