如何查看Flash Builder如何调用adt?

发布于 2025-01-06 06:11:22 字数 400 浏览 0 评论 0原文

环境:

  • Flash Builder 4.6
  • AIR SDK 3.1
  • OS X 10.7.3

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

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

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

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

Environment:

  • Flash Builder 4.6
  • AIR SDK 3.1
  • OS X 10.7.3

I'm debugging a problem that does appear in iOS builds of app that uses my SWC library, compiled with FB, and does not appear in the iOS builds of very similar app done with raw AIR SDK.

I suspect that the reason of a problem is a difference in compiler configuration. Now I'm trying to manually (and unsuccessfully) craft the ant's build.xml so it would match whatever I think FB is doing in hope that I would see the same crash at some point. But this is not very effective.

Is there a way I can see how FB invokes adt etc. and compare that with my ant config?

Any other troubleshooting hints?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

栀梦 2025-01-13 06:11:22

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

This reminds me my older answer.
In short, you can create program that logs its arguments, backup original adt and substitute it with it (your program might even run original adt with those arguments.)

野味少女 2025-01-13 06:11:22

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

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

A likely case is that flashbuilder is using a separate copy of the AIR SDK, that is older.
You can check the folder here (windows):
C:\Program Files (x86)\Adobe\Adobe Flash Builder 4\sdks

To see if you are using the most current AIR sdk.

梦萦几度 2025-01-13 06:11:22

我结合了 另一个线程 的答案并写道:

只需构建可运行的 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));
        }
    }

}

I've combined answeres from another thread and wrote this:

just build a runnable jar file

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));
        }
    }

}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文