0

有谁知道如何重新编译 Adob​​e Flex 4 框架 RSL?

我正在使用编译器指令 -dump-config 来获取 FlashBuilder IDE 用于编译我的应用程序的构建配置文件。然后我将该配置文件传递给 mxmlc 编译器,以便我可以从命令行构建。命令行构建的结果输出到 bin-debug 以外的文件夹。bin-debug 是一个本地信任路径,它将使应用程序从那里运行而不会出错。任何其他路径中的 Flash 应用程序都需要将 Flash Player 配置为信任该路径或使用 -use-network=false 指令完成编译。我更喜欢后者,因为我会将结果分发给普通用户进行评估,并且我不想要求他们修改 Flash Player 安全设置。

构建配置文件未指定使用 -use-network false 指令重新构建框架 RSL。FlashBuilder 本身甚至不编译框架 RSL。它只是将 RSL swfs 从框架目录复制到 bin-debug 中。这些 swf 显然是由 Adob​​e 使用默认的 -use-network=true 编译的。

所以,我相信我需要重新编译 RSL。当然,欢迎任何其他有关如何解决问题的提示。

4

2 回答 2

1

好吧,关于 Flex RSL、如何重新编译 Flex SDK 及其未签名的 RSL,我学到的东西比我需要了解的要多,而且重新编译不是必需的。

目前,我从构建过程中消除了 flex 配置文件,并且能够只关注 RSL 问题。由于类依赖性和进程顺序,-runtime-shared-library-path 的列出顺序很重要。此外,请确保至少将未签名的 RSL 复制到您的输出路径中。否则,您将看到以下错误:错误 #2032:流错误。网址:file:///.../cmd-bin-debug/textLayout_1.1.0.604.swf

最后,如果您确实需要使用由 FlashBuilder 转储的 flex 配置文件,则需要对其进行转换以预先添加到 RSL 的完整路径。此外,请注意 FlashBuilder 项目设置与转储到 flex 配置中的内容之间的差异。我发现我需要告诉 FlashBuilder 多次清理项目以使其更新配置文件。

下面列出了经过提炼的工作“重新编译”。您需要替换或声明 FLEX_HOME 和 release_build 的变量

先指定已签名的 RSL,然后再进行故障转移,必须设置 -use-network=false 才能在本地测试,否则播放器会抛出 Flash 安全错误

mxmlc -use-network=false \
-runtime-shared-library-path=$FLEX_HOME/frameworks/libs/framework.swc,framework_$release_build.swz,,framework_$release_build.swf \
-runtime-shared-library-path+= $FLEX_HOME/frameworks/libs/textLayout.swc,textLayout_1.1.0.604.swz,,textLayout_1.1.0.604.swf \
-runtime-shared-library-path+=$FLEX_HOME/frameworks/libs/spark.swc,spark_$ release_build.swz,,spark_$release_build.swf \
-debug=true $fullfile -output ../cmd-bin-debug/$filename.swf

哦,这是将 RSL 复制到输出路径的便捷命令: find $FLEX_HOME/frameworks/rsls ( -name ' .swf' -o -name ' .swz' ) -exec cp {} ../cmd-bin -调试\;

于 2010-07-13T06:28:08.077 回答
0

理论上,您应该能够从开源 Flex SDK 下载所有代码,创建一个 SWC 项目,添加来自 Flex 框架的源代码并以这种方式编译它。但是,使用 Adob​​e RSL 的好处是播放器可以缓存它们。您的最终用户有可能永远不会向您的服务器请求 Flex Framework RSL;已经从其他站点缓存了它们。

也就是说,我不确定我是否理解问题所在。如果您通过 Web 服务器将应用程序分发给您的用户,那么这些用户可以像任何其他应用程序一样浏览它并以这种方式对其进行测试。Flash Builder 使用的文件夹或您的自动命令行构建脚本应该与用户使用文件的能力无关。

其次,我将所有应用程序编译到名为“bin”的目录中,绕过了 Flex Builder 建议的默认“bin-debug”目录。在分发应用程序供用户查看时,我从来没有遇到过任何问题。或因此将代码分发给其他用户。

于 2010-07-11T01:13:42.303 回答