在Eclipse中我正在使用以下Macrodef启动一个带有从ANT嵌入的swf的html页面:
<macrodef name="runhtml">
<attribute name="url" />
<attribute name="browser" default="${app.browser.firefox}" />
<sequential>
<exec
executable="open"
vmlauncher="true"
spawn="false"
failonerror="true">
<arg line="-a '@{browser}'" />
<arg line="@{url}" />
</exec>
</sequential>
</macrodef>
尽管swf包含了痕迹,但我没有从控制台中获取任何输出。可能导致这种情况的原因是什么?
答案 0 :(得分:2)
为了从Flash获取跟踪,您需要运行Flash调试器(FDB)。幸运的是它附带了Flex SDK。 (http://www.adobe.com/devnet/flex/flex-sdk-download.html)
这是我在Ant中使用的一个示例任务,用于启动Flash调试器,而后者又会启动浏览器,因为目标是HTML文件。如果目标是SWF文件,那么它将只在独立的FDB窗口中运行。
<target name="launch-browser">
<echo file="${basedir}/build/.fdbinit">run file://${outputdir}/swf/index.html
continue</echo>
<exec executable="${sdk.flex}bin/fdb" spawn="false" dir="build">
<arg line="-unit"/>
</exec>
</target>
此任务将首先编写一个名为.fdbinit的文件,其中包含fdb在启动时将运行的命令。然后用-unit启动fdb,以确保它保持正确连接到ant构建器(我实际上不是100%,但它是必需的)。这将为您提供浏览器以及终端窗口中的跟踪(也就是实际的调试器控件)。
-
或者,使用原始的macrodef,如果您的计算机上安装了Flash Debug Player;您可以通过编辑mm.cfg文件并设置TraceOutputFileEnable和TraceOutputFileName选项来配置Flash Player以将跟踪写入文件。
此文件位于OSX上的/ Library / Application Support / Macromedia中。
mm.cfg的相关和其他文档: http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7fc9.html
答案 1 :(得分:0)
我有完全相同的问题。错误消息将回显到控制台,但信息消息不会回显。到目前为止我找到的唯一解决方案是将自己的echo添加到 macrodef 。
答案 2 :(得分:0)
似乎也是自动化的唯一方法是使用Benoit描述的.fbinit,但将每个命令放在不同的行上:
<echo file="${BUILD.dir}/.fdbinit">run file://${outputdir}/swf/index.html
continue</echo>