gpt4 book ai didi

apache-flex - 如何使 Ant 生成的 swf 尽可能小?

转载 作者:行者123 更新时间:2023-12-04 03:10:00 24 4
gpt4 key购买 nike

我有一个 flex 项目,如果我使用 Flash Builder 构建应用程序的发布版本,我的 swf 上的 RSL 是 115k。但是,如果我使用 ant 构建相同的应用程序,则 swf 为 342k。没有 RSL,swf 为 520k。

如何使 swf 与 FlashBuilder 构建的 swf 一样小?

这是我的 ant 文件,我还有另一个任务是复制 rsls。

<project name="EUI Client Application" default="compileClientApp">

<target name="compileClientApp" depends="compileClientBundles">
<mxmlc
file="${CLIENT_PROJECT.dir}/src/${CLIENT_PROJECT.app}.mxml"
output="${DEPLOY.dir}/${CLIENT_PROJECT.app}.swf"
keep-generated-actionscript="false"
actionscript-file-encoding="UTF-8"
incremental="false"
>

<runtime-shared-library-path path-element="${FLEX_HOME}/frameworks/libs/framework.swc">
<url rsl-url="flex4_4.0.0.7791.swf"/>
<url rsl-url="framework_4.0.0.7791.swf"/>
<url rsl-url="framework_textLayout_4.0.0.7791.swf"/>
<url rsl-url="rpc_4.0.0.7791.swf"/>
<url rsl-url="textLayout_451.swf"/>
</runtime-shared-library-path>

<source-path path-element="${CLIENT_PROJECT.dir}/src" />

<compiler.library-path dir="${LIBS.dir}" append="true">
<include name="*.swc" />
</compiler.library-path>
<compiler.library-path dir="${DEPLOY_BIN.dir}" append="true">
<include name="*.swc" />
</compiler.library-path>

</mxmlc>
</target>

<target name="generateWrapper">
<html-wrapper
title="${CLIENT_APP_TITLE}"
file="${CLIENT_PROJECT.app}.html"
height="100%" width="100%"
bgcolor="white" application="app"
swf="${CLIENT_PROJECT.app}"
version-major="10" version-minor="0" version-revision="0"
history="true" output="${DEPLOY.dir}" />
</target>

<target name="compileClientBundles">
<compileBundle bundleName="Modules" source="${CORE_PROJECT.dir}/locale" />
</target>

最佳答案

感谢您的答复家伙,但它不是其中任何一个。

原来我需要做的就是删除 runtime-shared-library-path 的东西,因为它已经在 flex-config.xml 文件中。我还必须将 static-link-runtime-shared-libraries 更改为 false (因此它是动态的)。

我已将 flex-config.xml 文件复制到我的构建目录中并使用它,以便我可以安全地进行更改。

这是 Flex 4 BTW - 确定我是否说得很清楚。

我的 ant 文件现在看起来像这样:

<project name="EUI Client Application" default="compileClientApp">

<target name="compileClientApp" depends="compileClientBundles">
<mxmlc
file="${CLIENT_PROJECT.dir}/src/${CLIENT_PROJECT.app}.mxml"
output="${DEPLOY.dir}/${CLIENT_PROJECT.app}.swf"
keep-generated-actionscript="false"
actionscript-file-encoding="UTF-8"
optimize="true" incremental="false"
link-report="${DEPLOY_BIN.dir}/app_link_report.xml"
>

<load-config filename="${basedir}/flex-config.xml" />

<define name="CONFIG::stub" value="false" />
<define name="CONFIG::release" value="true" />

<source-path path-element="${CLIENT_PROJECT.dir}/src" />

<compiler.library-path dir="${LIBS.dir}" append="true">
<include name="*.swc" />
</compiler.library-path>
<compiler.library-path dir="${DEPLOY_BIN.dir}" append="true">
<include name="*.swc" />
</compiler.library-path>
</mxmlc>
</target>

<target name="generateWrapper">
<html-wrapper
title="${CLIENT_APP_TITLE}"
file="${CLIENT_PROJECT.app}.html"
height="100%" width="100%"
bgcolor="white" application="app"
swf="${CLIENT_PROJECT.app}"
version-major="10" version-minor="0" version-revision="0"
history="true" output="${DEPLOY.dir}" />
</target>

<target name="compileClientBundles">
<compileBundle bundleName="Modules" source="${CORE_PROJECT.dir}/locale" />
</target>

关于apache-flex - 如何使 Ant 生成的 swf 尽可能小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1238767/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com