Я пытаюсь построить свой проект flex 4, используя ant.В Flash Builder 4 в свойствах проекта можно установить для «Framework Framework» значение «Объединено в код», «Общая библиотека времени выполнения (RSL)» или «Использовать SDK по умолчанию (Общая библиотека времени выполнения)».Как я могу установить эквивалент в качестве параметров mxmlc в build.xml?
Мой текущий build.xml выглядит следующим образом:
<target name="myapp">
<mxmlc
file="${PROJECT_ROOT}/myapp.mxml"
output="${DEPLOY_DIR}/myapp.swf"
actionscript-file-encoding="UTF-8"
keep-generated-actionscript="false"
warnings="false" optimize="true" incremental="false" >
<load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/>
<source-path path-element="${FLEX_FRAMEWORKS}"/>
<compiler.debug>true</compiler.debug>
<runtime-shared-library-path path-element="${FLEX_FRAMEWORKS}/libs/framework.swc">
<url rsl-url="framework_4.0.0.14159.swz"/>
<url rsl-url="framework_4.0.0.14159.swf"/>
</runtime-shared-library-path>
<compiler.source-path path-element="src"/>
<!-- List of external libraries -->
<compiler.source-path path-element="${MY_LIB}/src" />
<!-- List of SWC files or directories that contain SWC files. -->
<compiler.library-path dir="libs" append="true">
<include name="*.swc" />
</compiler.library-path>
<copy todir="${DEPLOY_DIR}" file="${FLEX_FRAMEWORKS}/rsls/framework_4.0.0.14159.swz"/>
<copy todir="${DEPLOY_DIR}" file="${FLEX_FRAMEWORKS}/rsls/framework_4.0.0.14159.swf"/>
</mxmlc>
</target>
Я предполагал, что установка пути времени выполнения shared-library-pathдиректива и копирование фреймворка swf, swz файлы в мою целевую папку заставили бы все работать, но, похоже, это не так.
Способ оценки работоспособности заключается в следующем: я используюПользовательский preloader, и для его работы мне нужно иметь фреймворк как RSL.С «объединением в код» мой предварительный загрузчик застревает в определенный момент и не переходит к моему приложению swf.Это то же самое поведение, которое я вижу, когда я использую вышеупомянутый build.xml, что заставляет меня думать, что SWF создается с привязкой фреймворка в код (а не с RSL).
С этим связан вопроскак определить, использует ли мой SWF RSL или нет.Я думаю, я мог бы посмотреть на размер скомпилированного вывода.Но, похоже, должен быть способ определить, использую ли я файл внешнего фреймворка или он каким-то образом включен в SWF, без моего ведома.