上篇文章留下这么一个疑问,本以为被琐事缠身,没时间再写了,不过发布完之后正好将某事推掉,于是有时间马上写这一篇。造一个句:如果志不同,那么道不合。跟很没劲甚至很烦的人在一起吃饭,不如饿着肚子弄点技术方面的东西。我鼓捣的也不是很有技术含量的东西,就是有兴趣。
下载并正确配置 Flex SDK 以后,就可以使用 compc 命令了。这个名字实际上是 component compiler 的简写,就是用来生成 swc 文件的。还有一个命令叫 acompc,前面加的那个字母应该是指 AIR,它与 compc 的区别只是加载了不同的配置文件而已,所以本文以后就只使用 compc 了。
执行命令 “compc -help list” 就可以看到许多的编译选项,最重要的:
- -compiler.context-root path to replace {context.root} tokens for service channel endpoints. 我不是特别了解,不过我把它设置为所有 package 的上级目录,对于 twitterscript 来说就是 http://twitterscript.googlecode.com/svn/trunk/src/ (这里只是示意,我写了 svn 的链接)
- -include-sources 必须指定的源代码目录,不必多解释了。对于 twitterscript,仍然是 http://twitterscript.googlecode.com/svn/trunk/src/
- -directory 本来结果是输出成为一个 swc 文件的,你需要 unzip 之才能得到想要的 swf,现在有了这个选项就好多了,直接生成一个目录,而不是压缩文件。
知道了这些就可以编译了 (我的当前目录下面是 twitter-api 目录,里面的 src 子目录里就是 svn export 的 http://twitterscript.googlecode.com/svn/trunk/src/):
[code lang=’text’]
compc -compiler.context-root=twitter-api/src/ -include-sources=twitter-api/src/ -directory=true -output=twitter-swc
[/code]
于是在当前目录下生成一个子目录叫 twitter-swc,里面的 library.swf 就是我们想要的文件。可以再加上一个参数 “-compiler.debug=false” 来编译,获得更小的输出文件。
Leave a Reply