在Flash Builder中创建新项目时,如何确定要在构建路径中包含哪些sdk库?
如果我创建一个新的纯 Actionscript 项目并选择Flex 4.1 ,则以下库将显示在构建路径中:
如果我返回并切换到Flex 3.5 ,则只包括:
如果我制作新的 Flex Web 项目并选择Flex 3.5 ,则其中包含:
这些值是在Flash Builder中硬编码还是以某种方式从SDK配置文件中读取它们?我查看了所有xml配置文件,如flex-config.xml和air-config.xml,看起来这些信息在任何地方都不存在。
感谢。
答案 0 :(得分:4)
是的,它内置于框架swc中。您可以在框架目录的/frameworks/build.xml文件中找到引用及其链接位置。
所以你可以编辑这个构建文件,重建swcs然后使用它们,它们会链接你喜欢的方式。
例如,(来自Flex 4.5.1构建文件):
<target name="authoringsupport" description="Builds authoringsupport.swc">
<compc static-link-runtime-shared-libraries="true" fork="true" output="${basedir}/libs/authoringsupport.swc" include-classes="AuthoringSupportClasses" locale="" accessible="true">
<source-path path-element="${authoringsupport.dir}/src"/>
<library-path dir="${authoringsupport.dir}/libs"><include name="FlexContentHolderThumbnail.swc"/></library-path>
<external-library-path dir="${basedir}/libs">
<include name="player/${playerglobal.version}/playerglobal.swc"/>
<include name="framework.swc"/><include name="mx/mx.swc"/>
<include name="flash-integration.swc"/>
<include name="textLayout.swc"/>
</external-library-path>
<jvmarg line="${compc.jvm.args}"/>
</compc>
所以它在技术上并没有硬编码到flash构建器中,而是在swc中用于那个sdk。 (但你可以改变它,如上所述)。 :d
答案 1 :(得分:4)
经过大量的试验和错误以及使用反编译器的一些检查后,我得到了答案:
library-path
中列出的每个条目,library-external-path
如果它是SWC,则将其添加到类路径中。如果条目是目录,则扫描该目录以获取SWC并包含它们。flex.swc
。此排除列表将写入.actionScriptProperties
文件。.actionScriptProperties
文件中不需要输入。 (即您可以在frameworks / libs目录中抛出任何扩展名为.swc的文件,Flash Builder将包含它。)答案 2 :(得分:2)
我创建了一个Flex 4.1项目,并在以下位置检查了Flex 4.1 SDK的flex-config。我认为这是构建路径中包含的swc文件的来源 - 它们与我的项目相匹配:
C:\ Program Files \ Adobe \ Adobe Flash Builder 4 \ sdks \ 4.1.0 \ frameworks \ flex-config.xml