在Flash Builder中创建新项目时,如何确定要在构建路径中包含哪些sdk库?
如果我创建一个新的普通Actionscript项目并选择Flex 4.1,则以下库将显示在构建路径中:
> playerglobal
> textLayout
> osmf
> flash集成
> flex
>公用事业
如果我返回并切换到Flex 3.5,它只包括:
> playerglobal
> flex
>公用事业
如果我创建一个新的Flex Web项目并选择Flex 3.5,它包括:
> playerglobal
>框架
>自动化
> automation_agent
> automation_dmv
> automation_flashflexkit
>数据可视化
> qtp
> rpc
>公用事业
这些值是在Flash Builder中硬编码还是以某种方式从SDK配置文件中读取它们?我查看了所有xml配置文件,如flex-config.xml和air-config.xml,看起来这个信息在任何地方都不存在.
谢谢.
解决方法
是的,它内置于框架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