我一直在尝试使用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构建路径和编译器页面。
Use as Runtime Shared Code
答案 0 :(得分:0)
我还将所有这些
swc
文件复制并上传到同一位置 我的主要swf文件位于
swc
个文件无法在运行时使用。
如果你在编译期间指定了rsl网址,你的swf可以从adobe网站(或者......可能是Apache网站)或其他地方获得flex rsls。
这些rsls应为.swf
形式或.swz
形式(已签名)。
您可以在sdk文件夹中找到.swf
rsls,或者如果需要,可以从.swc
中提取它们,但是,当您的swf构建时,rsls应由编译器放在输出文件夹中(至少在使用bin-debug
进行构建时,它们始终填充在bin-release
和Flash Builder
中,不知道FDT
是否不同。
您还可以使用Charles
查看您的swf请求的网址,包括rsl网址。
您可能还想避免使用指向adobe / apache的默认rsl ursl,因为它们并不总是可靠的(至少我遇到了它们的问题,我们必须将所有flex rsls存储在我们的服务器上)。