在Flash Builder中为ant任务启用控制台输出

时间:2012-12-06 18:26:15

标签: actionscript-3 ant flash-builder

我正在使用Flash Builder 4.6,我正在尝试设置和Ant任务来构建和运行我的Flash应用程序。我可以让Ant任务同时构建和运行我的应用程序,但它不会跟踪到控制台,并且断点不起作用。

我遵循this Stack Overflow post的建议,但我一直收到错误:

  

[exec]另一个Flash调试器可能正在运行;请关闭它。详细信息:'无法识别的Windows套接字错误:0:JVM_Bind'。

我也跟着this post's advice在Flash Builder中正确配置了我的Ant脚本,但它似乎没有什么区别。

我的AS档案:

package
{
    import flash.display.Sprite;
    import flash.text.TextField;

    public class HelloAnt extends Sprite
    {
        public function HelloAnt()
        {
            var label : TextField = new TextField();
            label.text = "Hello World!";
            addChild(label);
            trace ("Hello World!");
        }
    }
}

我的ANT脚本:

<?xml version="1.0" encoding="utf-8"?>
<project name="HelloAnt" basedir=".">
    <property name="FLEX_HOME" value="C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.6\sdks\4.6.0"/>
    <property name="src" value="${basedir}\src"/>
    <property name="bin" value="${basedir}\bin"/>
    <property name="application" value="${bin}\swf\HelloAnt.swf" />

    <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/ant/lib/flexTasks.jar" />   

    <target name="run">
        <echo file="${basedir}/build/.fdbinit">
            run ${application} 
        </echo>
        <exec executable="${FLEX_HOME}/bin/fdb.exe" spawn="false" dir="build">
            <arg line="-unit"/>
        </exec>
    </target>

    <target name="build">
        <mxmlc output="${application}"
                       file="${src}/HelloAnt.as"
                       actionscript-file-encoding="UTF-8"
                       keep-generated-actionscript="false"
                       optimize="true"
                       fork="true"
                       debug="true"
                       maxmemory="1024m"
                       static-link-runtime-shared-libraries="true">
            <source-path path-element="${FLEX_HOME}/frameworks" />
            <source-path path-element="${src}" />
        </mxmlc>
    </target>

    <target name="build-run">
         <sequential>
             <antcall target="build" />
             <antcall target="run" />
         </sequential>
    </target>
</project>

我没有想法。有没有人有任何见解?

1 个答案:

答案 0 :(得分:0)

如果您使用FDB调试您的应用程序,那么输出将被发送到FDB正在运行的终端窗口。您可以在终端(在Mac上)打开FDB并输入“run / path / to / your / application”连接。使用ANT以现在的方式调用FDB,我认为它会运行命令然后立即断开连接。您需要通过Flash Builder保持FDB打开或调试(使用它的控制台)。

我还在检查是否有办法将输出连接到Eclipse的控制台。

如果双击终端中的fdb并键入help,则可以看到可用的命令列表。

enter image description here

有关FDB的更多信息http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7ffb.html#WS2db454920e96a9e51e63e3d11c0bf62063-7ff3