如何查看Flash Builder如何调用adt



环境:

  • Flash Builder 4.6
  • 空气SDK 3.1
  • OS X 10.7.3

我正在调试一个问题,该问题确实出现在使用我的SWC库的应用程序的iOS版本中,使用FB编译,并且没有出现在使用原始AIR SDK完成的非常相似应用程序的iOS版本中。

我怀疑问题的原因是编译器配置的差异。现在,我正试图手动(但没有成功)制作蚂蚁的build.xml,这样它就可以匹配我认为FB正在做的任何事情,希望我能在某个时候看到同样的崩溃。但这并不是很有效。

有没有一种方法可以让我看到FB是如何调用adt等的,并将其与我的ant配置进行比较?

还有其他故障排除提示吗?

这让我想起了以前的答案
简而言之,您可以创建一个记录其参数的程序,备份原始adt并用它替换它(您的程序甚至可能用这些参数运行原始adt。)

一种可能的情况是flashbuilder使用的是AIRSDK的一个单独副本,该副本更旧。您可以在此处(窗口)检查文件夹:C: \Program Files(x86)\Adobe\Adobe Flash Builder 4\sdks

查看您是否正在使用最新的AIR-sdk。

我组合了另一个线程的回答,并写下了以下内容:

只需构建一个可运行的jar文件

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;

public class adt {
    /**
     * @param args
     * @throws IOException 
     */
    public static void main(String[] args) throws IOException {
        String argsString = "";
        for(int i=0; i<args.length; ++i)
        {
            argsString += args[i];
        }
        Process proc = Runtime.getRuntime().exec("java -jar adt2.jar " + argsString);
        File txt = new File("C:\command.txt");
        try(FileWriter writer = new FileWriter(txt))
        {
            writer.write(argsString);
        }
        try {
            proc.waitFor();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        InputStream in = proc.getInputStream();
        InputStream err = proc.getErrorStream();
        byte b[]=new byte[in.available()];
        in.read(b,0,b.length);
        System.out.println(new String(b));
        byte c[]=new byte[err.available()];
        err.read(c,0,c.length);
        System.out.println(new String(c));
        File out = new File("C:\output.txt");
        try(FileWriter writer = new FileWriter(out))
        {
            writer.write(new String(b));
        }
        File errors = new File("C:\errors.txt");
        try(FileWriter writer = new FileWriter(errors))
        {
            writer.write(new String(c));
        }
    }
}

相关内容

  • 没有找到相关文章

最新更新