Компилируем SWF для любых версий Flash Player

Сегодня разберемся как скомпилировать SWF для любой версии Flash Player.
Также, это нам поможет использовать самые новые возможности (классы, функциональность) последних версий Flash Player. Это актуально ввиду того, что последняя версия FlexSDK 4.6 и новые версии не выходят (я не говорю об Apache Flex).
FlexSDK 4.6 датирован 2011 годом и имеет поддержку FP только версии 11.1, новые версии надо добавлять самому.
(Я работаю в Idea, потому скрины будут с нее)
Как пример я взялся скомпилировать swf для новой версии Flash Player 11.5 (кстати, вчера вышел новый билд)

Для этого надо:
1. Установить себе новую версию плеера 11.5. Идем сюда качаем и устанавливаем;
2. По той же ссылке качаем новую версию playerglobal.swc (файл будет называться как то так flashplayer11-5_playerglobal.swc, его нужно переименовать в playerglobal.swc);
3. Идем в наш SDK в папку ‘player’ — FLEXSDK_HOME\frameworks\libs\player\ (в моем случае выглядит так e:\workfolder\sdks\4.6.0\frameworks\libs\player\);
4. Создаем там папку 11.5 и копируем в нее наш playerglobal.swc. После этого у меня в Idea появилась новая опция — 11.5 в комбобоксе Target Player;

5. Для того, чтобы быть уверенным, что мы получим скомпилированную версию SWF для FP 11.5, добавим в параметры компилятора параметр -swf-version=18 (значение 18 указывает версию SWF, то есть на FP 11.5. Подробнее в предыдущем посте);

6. Сам SDK в проекте мог не обновится и нового playerglobal.swc в нем еще нет.

Для этого добавляем его туда.

После этого ошибки должны исчезнуть и все здорово компилироваться.

У меня все скомпилировалось и запускается только под версией FP 11.5, чего мы и добивались.
Таким же образом я добавил себе все версии FP, которые мне надо было.

playerglobal.swc — это библиотека, которая содержит только интерфейсы к классам Flash Player. Весь код классов «запечен» в Flash Player и не может быть изменен.

Замечания? Баги? Пишите в комменты.

Поделиться в соц. сетях

Опубликовать в LiveJournal
Опубликовать в Google Plus