Я пытаюсь построить свой проект flex 4 с помощью муравья. В Flash Builder 4 в свойствах проекта можно установить связь «Framework» с одним из «Объединенный в код», «Общая библиотека Runtime (RSL)» или «Использовать стандартную по умолчанию SDK-библиотеку». Как установить эквивалент в качестве параметров mxmlc в файле build.xml?mxmlc и фреймворк - как указать ссылку как rsl
Мой текущий 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>
Я предположил, что установка директивы выполнения-разделяемой библиотекой путь и копирования рамочное SWF, SWZ файлы в моей целевой папке будет делать работу, но это, похоже, не так.
Как я оцениваю, работает ли это следующим образом: я использую пользовательский предварительный загрузчик, и для его работы мне нужно иметь фреймворк в качестве RSL. С «объединенным в код» мой предварительный загрузчик застрял в определенной точке и не переходит в мое приложение swf. Это то же поведение, которое я вижу, когда использую приведенный выше файл build.xml, что заставляет меня думать, что SWF строится с привязкой фреймворка к коду (а не к RSL).
Связанный с этим вопрос, как определить, использует ли мой swf RSL или нет. Думаю, я мог бы посмотреть размер скомпилированного вывода. Но, похоже, должен быть способ узнать, использую ли я внешний файл фреймворка или как-то его связывает в SWF, без моего ведома.
Я на самом деле обманывал, чтобы решить эту проблему. Я закончил использование [sourcemate] (http://www.elementriver.com/sourcemate), чтобы экспортировать мой проект в качестве файла сборки муравьев, а затем смог получить все, что работает.Это было намного быстрее, чем отладка того, что adobe ожидало от меня вставить в мой файл! – cybertoast
Джастин, я даю вам правильный ответ, потому что это похоже на правильное направление. Фактическая опция: . Благодарю. –
cybertoast
Это исправило мою проблему thx. В моем случае, используя ant для выполнения командной строки mxmlc, мне пришлось добавить –
Guian