1

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

这是我的 ANT 脚本来编译我的 swc

<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 脚本中,但结果相同。

谢谢。

4

2 回答 2

2

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

-dump-config fb_config.xml

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

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

希望有帮助,Ruprict

于 2010-06-17T14:34:55.470 回答
0

不知道为什么,但在加载我的配置后,编译器抱怨 compiler.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

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

于 2013-09-25T16:28:08.140 回答