Flash Builder如何确定要包含哪些sdk库?

tak*_*eek 8 apache-flex flash-builder

在Flash Builder中创建新项目时,如何确定要在构建路径中包含哪些sdk库?

如果我创建一个新的普通Actionscript项目并选择Flex 4.1,则以下库将显示在构建路径中:

  • playerglobal
  • TextLayout的
  • OSMF
  • 闪存的集成
  • 柔性
  • 公用事业

如果我返回并切换到Flex 3.5,它只包括:

  • playerglobal
  • 柔性
  • 公用事业

如果我创建一个新的Flex Web项目并选择Flex 3.5,它包括:

  • playerglobal
  • 骨架
  • 自动化
  • automation_agent
  • automation_dmv
  • automation_flashflexkit
  • datavisualization
  • QTP
  • RPC
  • 公用事业

这些值是在Flash Builder中硬编码还是以某种方式从SDK配置文件中读取它们?我查看了所有xml配置文件,如flex-config.xml和air-config.xml,看起来这些信息在任何地方都不存在.

谢谢.

tak*_*eek 4

经过大量的试验和错误以及使用反编译器的一些检查后,我得到了答案:

  1. Flash Builder 从 sdk 框架目录加载 flex-config.xml 或 air-config.xml 文件(取决于项目类型)。
  2. 它会遍历列出的每个条目library-path,并将library-external-path其添加到类路径(如果它是 SWC)。如果条目是一个目录,它会扫描该目录中的 SWC 并包含它们。
  3. 每个项目类型都有一个硬编码的排除列表,它告诉 Flash Builder 将哪些 SWC 从类路径中排除。对于普通的 ActionScript 项目,此列表有 17 项。对于 Flex Web 项目,该列表仅包含flex.swc. 该排除列表将写入文件中.actionScriptProperties
  4. 任何剩余的(不排除的)SWC 都会自动添加到类路径中。文件中不需要输入任何内容.actionScriptProperties。(即,您可以将任何扩展名为 .swc 的文件放入框架/libs 目录中,Flash Builder 将包含它。)