我正在尝试使用ant构建我的flex 4项目.在Flash Builder 4中,在项目属性中,可以将"框架链接"设置为"合并到代码","运行时共享库(RSL)"或"使用SDK默认(运行时共享库)"之一.如何在build.xml中将等效项设置为mxmlc选项?
我当前的build.xml如下所示:
true
我假设设置runtime-shared-library-path指令并将框架swf,swz文件复制到我的目标文件夹会使事情有效,但事实并非如此.
我评估这是否有效的方式如下:我使用自定义预加载器,为了工作,我需要将框架链接作为RSL.使用"合并到代码",我的预加载器卡在某一点,并没有进展到我的应用程序SWF.这与我在使用上面的build.xml时看到的行为相同,这让我觉得SWF正在构建时将框架链接合并到代码中(而不是RSL链接).
与此相关的问题是如何确定我的swf是否使用RSL.我想我可以看一下编译输出的大小.但似乎应该有一种方法来判断我是否正在使用外部框架文件,或者在我不知情的情况下将其捆绑到SWF中.
这有点棘手,因为文档有点稀缺.您可能需要在命令行或配置文件中设置以下选项.
静态链接的运行时共享的库=假
Adobe提供的文档对此选项的作用给出了以下略微含糊的描述.
确定是静态编译库还是使用RSL.将此选项设置为true可忽略runtime-shared-library-path选项指定的RSL.将此选项设置为false以使用RSL.默认值是true.
此选项非常有用,您可以快速在静态和动态链接的应用程序之间切换,而无需更改runtime-shared-library-path选项(可以是详细的),也可以编辑配置文件.
这是文档的链接. "关于应用程序编译器选项"
请注意,从文档中,默认值为true.但是,如果您要加载flex-config.xml文件(默认或自定义),您还应该检查该文件中是否存在此设置以及它是什么.根据我的经验,frameworks/flex-config.xml的默认值实际上是false.然而,似乎在上面的示例中,这可以设置为另一种方式.
(我们使用与ANT不同的构建系统,因此我不熟悉您需要的build.xml语法.)