如何重新编译Flex 4 Framework RSL?

时间:2010-07-11 00:02:57

标签: flash flash-builder rsl flex

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

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

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

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

2 个答案:

答案 0 :(得分: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复制到输出路径: 找到$ FLEX_HOME / frameworks / rsls(-name' .swf'-o -name' .swz') - exec cp {} ../cmd-bin-debug \;

答案 1 :(得分:0)

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

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

其次,我将所有应用程序编译到名为“bin”的目录,绕过Flex Builder建议的默认“bin-debug”目录。分发应用程序供用户查看时,我从未遇到任何麻烦。或者由于这个原因将代码分发给其他用户。