使用fdt使用flex sdk作为运行时共享swc来编译flex项目

时间:2013-04-04 15:42:47

标签: flex flex4.5 swc fdt

我一直在尝试使用flex SDK 4.5.1编译flex项目。

我使用eclipse FDT。

我希望我的flex应用程序不要占用太多空间。

我的所有页面包含4个不同的swf文件,每个文件都包含整个flex sdk。我试图通过将flex sdk从它们中取出并将其上传到它们的位置来缩小它们。

当我点击项目的属性并转到Build Path然后转到Build Order时,我确保所有相关的swc文件位于顶部且标记为{{1} }。当然我在谈论flex sdk swc文件(spark.swc,mx.swc等等......)

我还将所有这些swc文件复制并上传到我的主swf文件所在的同一位置。

当我执行主swf文件时。我在Firebug浏览器上执行它并打开firebug, 我得到许多VerifyError异常,它找不到Application,UIMovieClip等。

我认为主swf文件根本没有尝试找到sdk,这就是缺少类的原因。

如何解决问题?

我粘贴了下面的完整堆栈跟踪,fdt构建路径和编译器页面。

fdt build path

fdt compiler

Use as Runtime Shared Code

1 个答案:

答案 0 :(得分:0)

  

我还将所有这些swc文件复制并上传到同一位置   我的主要swf文件位于

swc个文件无法在运行时使用。

如果你在编译期间指定了rsl网址,你的swf可以从adobe网站(或者......可能是Apache网站)或其他地方获得flex rsls。

这些rsls应为.swf形式或.swz形式(已签名)。

您可以在sdk文件夹中找到.swf rsls,或者如果需要,可以从.swc中提取它们,但是,当您的swf构建时,rsls应由编译器放在输出文件夹中(至少在使用bin-debug进行构建时,它们始终填充在bin-releaseFlash Builder中,不知道FDT是否不同。

您还可以使用Charles查看您的swf请求的网址,包括rsl网址。

您可能还想避免使用指向adobe / apache的默认rsl ursl,因为它们并不总是可靠的(至少我遇到了它们的问题,我们必须将所有flex rsls存储在我们的服务器上)。