首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Flex4 SDK进行编译

使用Flex4 SDK进行编译
EN

Stack Overflow用户
提问于 2010-06-20 19:49:57
回答 3查看 7.2K关注 0票数 4

我正在尝试用Flex4 SDK编译一个现有的Flex3项目。我得到了这个错误:

Warning: This compilation unit did not have a factoryClass specified in Frame metadata to load the configured runtime shared libraries. To compile without runtime shared libraries either set the -static-link-runtime-shared-libraries option to true or remove the -runtime-shared-libraries option.

生成的文件与我的旧的Flex3编译的.swf文件大致相同。在Flash Player中播放生成的.swf文件也会出现以下错误:

An Actionscript error ocurred: VerifyError: Error #1014: Class spark.core::SpriteVisualElement could not be found

如果我将编译器属性static-link-runtime-shared-libraries设置为true,那么错误就会消失,一切都会正常。但是,生成的.SWF的大小要大几个100K。这不是我想要的。

我不完全理解运行时共享库的概念,但似乎将静态链接它们的选项设置为true,这些库就包含在.swf中。但是,我喜欢将它们排除在.swf之外,只在运行时加载所需的库,就像我的项目对Flex3所做的那样(顺便说一句,我不知道这一点)。

如果我理解正确的话,playerglobal.swc应该包含我的.swf必须加载的外部库的所有必要代码。Flex4编译后的文件是否需要更多的库?我应该对Frame元数据标记中的factoryClass做些什么吗?

我想我的问题可以归结为:如何编译一个与我之前的Flex4编译的.swf大小相同的Flex3 .swf?

EN

回答 3

Stack Overflow用户

发布于 2010-11-25 22:09:12

您必须将[Frame(factoryClass="path.to.your.preloader")]添加到主类(在编译器选项中设置的类)。

票数 5
EN

Stack Overflow用户

发布于 2010-06-20 20:03:15

默认情况下,Flex3不使用rsls,但您可以启用它们。默认情况下会启用Flex4 rsls,请参阅:http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7add.html

运行时共享库的概念是:拆分应用程序的一部分,该部分也被其他应用程序使用,从而只需要用户下载一次。这不会在第一次下载时保存任何内容,但会在以后的下载中保存。你可以制作你自己的rsl,但主要是adobe提供的rsl:因为“每个人”都会使用它们,所以你需要的库可能已经存在于用户的系统中,从而加快了你的应用的下载时间。

playerglobal.swc从来没有包含任何flex框架类,大多数都是在flex.swc和framework.swc中(一个标准的FLEX3项目也包括rpc.swc和utilities.swc -我没有检查,但它们可能也包含一些flex部分)

票数 1
EN

Stack Overflow用户

发布于 2010-06-21 19:31:52

看起来您可能遇到了项目迁移问题。您可能希望在以下位置阅读该过程:

http://www.adobe.com/devnet/flex/articles/flexbuilder3_to_flashbuilder4.html

这是一篇非常好的文章,概述了不同的迁移可能性,这取决于您想要使用的Flex4内容的数量。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3079112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档