如何重新编译Flex 4 Framework RSL? [英] How do I recompile Flex 4 Framework RSLs?

查看:129
本文介绍了如何重新编译Flex 4 Framework RSL?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Does anyone know how to recompile Adobe Flex 4 framework RSLs?

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

I'm using the compiler directive -dump-config to get the build config file that the FlashBuilder IDE is using for compiling my application. I then pass that config file into the mxmlc compiler so I can build from the command-line. The results of the command-line build are output to a folder other than bin-debug. bin-debug is a localtrust path, and it will an application will run from there without error. A Flash application in any other path requires configuring the Flash Player to trust that path OR that the compile be done with the -use-network=false directive. I prefer latter since I'll be distributing the results to lay users for evaluation, and I don't want to request that they modify Flash Player security settings.

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

The build config file doesn't specify that framework RSLs be rebuilt using the -use-network false directive. FlashBuilder itself doesn't even compile framework RSLs. It merely copies RSL swfs from the framework directory into the bin-debug. Those swfs apparently were compiled by Adobe with the default -use-network=true.

因此,我相信我需要重新编译RSL.当然,欢迎您提出解决问题的其他技巧.

So, I believe I need to recompile the RSLs. Of course any other tips on how to solve the problem are welcome.

推荐答案

好吧,我对Flex RSL的了解比我了解的更多,如何重新编译Flex SDK及其未签名的RSL,并且不需要重新编译.

Well, I learned more than I need to know about Flex RSLs, how to recompile the Flex SDK along with its unsigned RSLs, and that recompiling isn't necessary.

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

For the moment, I eliminated the flex config file from the build process and was able to focus on just the RSL issue. The order in which -runtime-shared-library-path's are listed is important because of class dependencies and order of process. Also, be sure to copy at least the unsigned RSLs into your output path. Otherwise, you'll see the following error: Error #2032: Stream Error. URL: file:///.../cmd-bin-debug/textLayout_1.1.0.604.swf

最后,如果确实需要使用FlashBuilder转储的flex配置文件,则需要对其进行转换,以使其成为RSL的完整路径的前缀.另外,请注意FlashBuilder项目设置与转储到flex配置中的内容之间的差异.我发现我需要告诉FlashBuilder多次清理项目,以使它更新配置文件.

Finally, if you do need to use the flex config file dumped by FlashBuilder you'll need to transform it to prepend full paths to the RSLs. Also, watch for discrepancies between FlashBuilder project settings and what is dumped into the flex config. I found that I needed to tell FlashBuilder to clean the project more than once to get it to update the config file.

蒸馏后的工作重新编译"在下面列出.您需要为FLEX_HOME和release_build替换或声明变量

The distilled, working "recompile" is listed below. You'll need to replace or declare variables for FLEX_HOME and release_build

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-输出../cmd-bin-debug/$ filename.swf

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 \;

Oh, and here's a convenient command to copy the RSLs to an output path: find $FLEX_HOME/frameworks/rsls ( -name '.swf' -o -name '.swz' ) -exec cp {} ../cmd-bin-debug \;

这篇关于如何重新编译Flex 4 Framework RSL?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆