1

我希望能够从 Flash Builder 4.5.1 向 ADL 传递其他参数。在“调试配置”和“运行配置”窗口中有“命令行参数”字段,但这是用于将参数传递给正在运行的应用程序(使用 --),而不是 ADL 本身。

我可以轻松地手动使用 ADL 启动应用程序,但 afaik FB 之后无法附加到该 ADL 进程。

目的是将设置传递-extdir <path>给 ADL。

有没有办法做到这一点?

来自ADL 文档

-- arguments 出现在“--”之后的任何字符串都作为命令行参数传递给应用程序。

在此先感谢您的任何指点。

4

2 回答 2

3

为了澄清前面的答案,为了让它工作,我不得不将最后一行更改为 "$DIR"/adl-original - 否则如果路径名中有空格(因为会有在“Adobe Flash Builder 4.6”中

这是我创建的将 -nodebug 传递给 ADL 的脚本。如果在 Flash Builder 启动配置属性对话框中指定了命令行参数,则必须插入其他参数(而不是附加它们)。

#!/bin/sh

# get the full path to the SDK's bin folder

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

# call the original adl 
# but insert the –nodebug parameter as the third argument

shift 2;
"$DIR"/adl-original "${1}" "${2}" -nodebug "$@"

当然,别忘了 chmod +x adl

希望这可以帮助某人....

  • 艾伦
于 2012-07-18T20:15:31.293 回答
1

我知道我回答这个问题迟到了,但我想知道同样的事情。我正在使用 Native Extensions,但我试图避免将我的整个团队迁移到 Flash Builder 4.6,所以我迫切希望在仍然使用 Flash Builder 4.5 的同时调试原生扩展。这是我所做的:

(我在 Mac 上。如果你在 Windows 上,你可以用等效的方式修改 adl.bat)

  1. 进入 FlexSDK/bin 文件夹
  2. 将“adl”复制到“adl-original”
  3. 使用以下内容创建一个名为“adl”的新 bash 脚本:
#!/bin/sh

#First, get the full path to my own folder (ignores working directory):
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

#Now call the original adl with the same parameters as were passed in to me ("$@"), 
#but pass in my extra parameter at the end : "-extdir blah-blah"
$DIR/adl-original "$@" -extdir ./META-INF/AIR/extensions

就我而言,我想在每次调用 adl 时添加“-extdir ./META-INF/AIR/extensions”参数,但显然您应该将我的参数替换为您需要的参数。

如果您希望这是一个通用解决方案,而不是将内容硬编码到 adl 脚本中,您可以让此脚本从名为“extraAdlParameters.txt”的文件中读取额外参数,然后让它立即删除该文件。作为 FB4.5 中构建过程的一部分,您可以制作一个脚本,将所需的参数添加到同一文件中。这样,每次调用 adl 时您只需添加一次额外参数,并且不会影响使用这些无关参数对 adl 的其他调用。

于 2012-01-26T09:58:46.713 回答