在Flex库项目中使用.swc。

我正在尝试为约10个相关资产建立生产环境。视觉和其他方面的某些元素将在这10个资产之间共享。我在Flash Builder 4中将每个项目都视为自己的Pure AS3项目。 每个资产都有一个关联的.fla,后者会将.swc输出到该资产的libs文件夹中-最终编译将通过ant完成,并且顶级源是每个Flash Builder项目中的主要.as文件。 由于某些元素在多个资产之间共享,因此我在工作区中创建了一个Flex Library Project。这个库项目有一个标准结构的/ src文件夹,以及一个我要粘贴的/ lib /文件夹,例如greensock的TweenLite。 除了源代码和第三方.swc之外,“库”项目还具有一个FLA,可将.swc导出到/ lib /文件夹中。 问题出在这里:我在相关项目中看不到该.swc的库导出。从理论上讲,我从Flex Library Project的.fla库中导出的每个类都应编译到库项目的.swc中。我发现情况并非如此,也不清楚原因。 我将继续进行挖掘,但是我想把它扔在这里,以防其他人遇到这些问题。有人知道我在做什么错吗? 编辑:所以显然我的greensock .swc也没有被编译到最终输出中。昨天是。我不确定发生了什么变化。我猜想我的问题很简单,是这样:我如何确保Flex库项目的构建路径中包含的.swc文件在FLP生成的最终.swc中包含了所有类? EDIT2:我发现了一种可怕的解决方法。现在,我已经在src文件夹中创建了一个类,并且声明了要包含在任何.swc中的任何内容-例如,公共var tweenLite:TweenLite,公共var logo:Logo等等。我发现,如果我在一个源文件中声明了它,那么我就可以在相关项目中访问它。仅导入它是不够的-这意味着我将不得不手动声明要访问的每个类。肯定有更好的办法。我想念什么?     
已邀请:
我遇到了一些问题,这些问题与我们从SDK swc 1获取Class A和从SDK swc 2获取Class B的情况相同(blendMode错误结果),最后我们必须保证所有依赖项都使用a特定版本的SDK(也不太好玩)。我认为这听起来像您想要一个包含新库依赖的所有其他库的源的库。 基本上,每个swc都是目录文件,并且ActionScript(AS)文件的ActionScript字节码(ABC)被压缩为zip,因此您希望它将这两个部分合并为一个swc。 使用运行时共享库​​(RSL)意味着,不是在编译时从swc提取字节码并将其包含在swf中,而是在运行时加载swc(以这种方式打包时称为swz)。缺点是它将所有类存储在swz中,而不是在编译时仅为您需要的AS提取字节码。因此,通过RSL进行链接应该可以为您带来希望的结果,但是您必须从库中生成swz文件。您可能仍然不得不做一些荒谬的事情,例如引用您想要的swz中的所有内容(来自其他swcs),但是我相信您应该能够以某种方式解决该问题……我仍在继续寻找寻求更好的解决方案,如果发现以下问题,将对其进行编辑: http://tv.adobe.com/watch/adc-presents/creating-runtime-shared-libraries/ 编辑1: 还发现了这一点: compc -source-path ../mycomponents/components/local     -include-classs CustomCellRendererComponent     -directory = true     -debug = false     输出../libraries/CustomCellRenderer 在此页面上: http://livedocs.adobe.com/flex/3/html/help.html?content=rsl_01.html#168690 我一直在四处寻找有关的想法,1在空间方面这将是非常低效的,因此所有工作仅包括您正在使用的类,2如果使用上述方法我可能会编写一个Java应用程序,该应用程序将遍历所有Class名称的项目文件夹,因此我可以让它生成项目空间中所有类的列表。 感谢您听到我的想法(仍然是WIP :), 肖恩     

要回复问题请先登录注册