为了使我的 Ant 生成的 swf 尽可能小,我使用了运行时共享库,如此 URL 中所述。
默认情况下,RSL 文件应与编译的 swf 一起放置(不带 RSL)。
因此,您知道如何更改SRL文件的位置属性吗?
因为我在许多目录中都有编译的 swf,这就是为什么我们应该只有一个 RSL 资源以及一个单独的目录
查看 RSL 链接定义:
<runtime-shared-library-path>
<path-element>libs/framework.swc</path-element>
<rsl-url>http://fpdownload.adobe.com/pub/swz/flex/4.6.0.23201/framework_4.6.0.23201.swz</rsl-url>
<policy-file-url>http://fpdownload.adobe.com/pub/swz/crossdomain.xml</policy-file-url>
<rsl-url>framework_4.6.0.23201.swz</rsl-url>
<policy-file-url></policy-file-url>
</runtime-shared-library-path>
rsl-url
节点定义应用程序将查找库的位置。它将首先尝试从第一个 URL 获取它;如果失败,它将尝试第二个;依此类推,直到找到有效或失败的链接。
您可以根据需要添加任意数量的URL,但对于框架RSL,您通常会有一个指向Adobe存储库的链接作为第一个URL,并在您自己的服务器上添加一个回退URL。
这些 URL 可以是绝对的,也可以是相对的。例如,如果您希望SDK RSL位于应用程序所在的同一目录下的名为"sdk"的目录中,只需将辅助rsl-url
节点更改为:
<rsl-url>sdk/framework_4.6.0.23201.swz</rsl-url>
如果您希望通过编译器参数执行此操作,则同样的原则适用。你可以这样做:
-runtime-shared-library-path=${swc},${swz.primary},http://fpdownload.adobe.com/pub/swz/crossdomain.xml,${swz.secondary}