2010-06-17 32 views
1

我想弄清楚爲什麼當我使用簡單的ANT任務編譯我的Flex 4庫swc時,它編譯爲編譯的swc的大小的三倍FlashBuilder。由FlashBuilder比使用ANT編譯的Flex 4 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> 

這產生了SWC是1980 KB。這個庫文件具有自定義組件,一些皮膚和圖像,所以我確定文件大小。但是,當我使用FlashBuilder將我的庫項目鏈接到其他Flex項目時,編譯後的swc只有532 KB。

我能夠將FlashBuilder編譯的swc移動到任何項目,它工作得很好。

所以我想知道什麼是FlashBuilder做不同於我的ANT構建腳本來獲取該文件的大小?我嘗試在我的ANT腳本中添加'static-link-runtime-shared-libraries =「true」',但是我得到了相同的結果。

謝謝。

回答

2

你有沒有嘗試從FB編譯吐出配置,並在螞蟻任務中使用它?您可以使用編譯器選項

突降,配置fb_config.xml

然後使用負載配置標籤將其拉入你的Ant任務。

下面是縱貫知識庫文章:http://kb2.adobe.com/cps/404/kb404341.html

希望幫助, Ruprict

+0

這是一個很大的幫助!我使用了配置文件,必須更新一些路徑名,並將其編譯爲一個可以工作的小型403 KB的SWC。唯一的問題是現在我的參數名稱丟失了。 例如,setValue(myObject:Object)現在是setValue(arg0:Object) 但我相信我現在正處在正確的軌道上。下一步,我想我要通過配置文件中的每個設置並將它們手動添加到我的ANT腳本中。 謝謝! – odoenet 2010-06-17 16:26:08

+0

我解決了上述參數問題,只需將我的配置添加到我原來的ANT腳本 ,而不是隻加載我的配置。 再次感謝! – odoenet 2010-06-17 17:36:51

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 

有沒有人知道這裏會發生什麼?