FlashBuilder编译的Flex 4 swc大小比使用ANT小

时间:2010-06-17 14:17:56

标签: ant adobe flex4 flash-builder

我试图弄清楚为什么当我使用简单的ANT任务编译我的Flex 4库swc时,它编译为FlashBuilder编译的swc大小的三倍。

这是我编译swc的ANT脚本

<target name="compileSWC" description="compiles the Library">
<echo>Compiling Library SWC To Deploy SWC Folder</echo>
    <compc debug="false
        output="${bin.dir}/${Library.name}-${timeVersion}.swc"
        incremental="true"
        optimize="true"
        headless-server="true"
        verbose-stacktraces="true"
        default-frame-rate="24">
        <source-path path-element="${src.dir}" />
        <include-sources dir="${src.dir}" includes="*"/>
        <source-path path-element="${src.dir}" />
        <compiler.library-path dir="${basedir}/" append="true">
        <include name="${library.dir}" />
        </compiler.library-path>
    </compc>
<echo>Compiled Library SWC To Deploy SWC Folder</echo>
</target>

这产生了一个1,980 KB的swc。这个库文件有自定义组件,一些皮肤和图像,所以我对文件大小没问题。但是当我使用FlashBuilder将我的Library项目链接到其他Flex项目时,编译的swc只有532 KB。

我能够将FlashBuilder编译的swc移动到任何项目,它可以正常工作。

所以我想知道什么是FlashBuilder做的不同于我的ANT构建脚本来降低文件大小?我尝试将'static-link-runtime-shared-libraries =“true”'添加到我的ANT脚本中,但我得到了相同的结果。

感谢。

2 个答案:

答案 0 :(得分:2)

您是否尝试过从FB编译中吐出配置并在ant任务中使用它?您可以使用编译器选项

-dump-config fb_config.xml

然后使用load-config标记将其拉入您的ant任务。

这是一篇贯穿其中的知识库文章:http://kb2.adobe.com/cps/404/kb404341.html

希望有所帮助, Ruprict

答案 1 :(得分:0)

不知道为什么但是在加载我的配置之后编译器抱怨compile.extensions,它说是一个未知的配置变量,这里是堆栈:

Buildfile: C:\Users\cgascons\Documents\workspace\TCGEngine\build.xml
generateAssets:
     [echo] Target::generateAssets
compile:
     [echo] Target::compile
    [mxmlc] Unknown:compiler.extensions
    [mxmlc] Loading configuration: C:\Users\cgascons\Documents\workspace\TCGEngine\ant_config.xml
    [mxmlc] C:\Users\cgascons\Documents\workspace\TCGEngine\ant_config.xml:8
    [mxmlc] Warning: 'compiler.accessible' is not fully supported.
    [mxmlc]       <accessible>false</accessible>
    [mxmlc] C:\Users\cgascons\Documents\workspace\TCGEngine\ant_config.xml:49
    [mxmlc] Error: unknown configuration variable 'compiler.extensions'.
    [mxmlc] C:\Users\cgascons\Documents\workspace\TCGEngine\ant_config.xml (line: 49)
    [mxmlc]       <extensions>

BUILD FAILED
C:\Users\cgascons\Documents\workspace\TCGEngine\build.xml:18: mxmlc task failed

有人知道这里会发生什么吗?