Установка Flex SDK в Linux
Для начала идем на Adobe.com и скачиваем свежий дистрибутив Flex SDK (на момент написания статьи версия 3.3 по этой ссылке). Создаем где-нибудь временный каталог и распаковываем туда дистрибутив.
Открываем файловый менеджер (например krusader) в режиме root. Сразу оговорим, что в системных каталогах работать нужно очень внимательно, дабы случайно не стереть какой-нибудь системный файл. Договоримся что папки будем именовать не «flex» а «adobe-flex», потому что для линукса существует программа flex - лексический анализатор, и всегда есть вероятность что ее понадобится установить (или уже установлена), и мы не знаем рискуем ли создать при этом конфликт имен.
Первым делом назначим владельца - root всем файлам и папкам в дистрибутиве, чтобы файлы, которые мы будем заливать в системные файлы были защищены от обычного пользователя. Это легко сделать в krusader, выделив папку дистрибутива, в свойствах во вкладке «права» установить владельца и поставив галочку «всем файлам и подкаталогам». Если нету krusader, используем команду chown в консоли.
Итак, переходим в каталог /usr/lib/ и создаем в нем папку adobe-flex. В созданную папку заливаем содержимое папки lib из Flex SDK. Теперь переходим в каталог /usr/share и там тоже создаем папку adobe-flex. Сюда зальем следующие папки из Flex SDK:
- ant
- asdoc
- frameworks
- samples
- templates
Идем в каталог bin дистрибутива и открываем файл mxmlc (без расширения!). Как видим, этот файл является shell-скриптом, и судя по комментариях, Adobe разрешает нам изменять этот файл, что мы сейчас и сделаем. Весь код, что ниже заголовка-комментария удаляем, кроме двух последних строчек. Вторую оставленную строчку тоже изменяем, прописывая пути к библиотекам согласно тому как их расположили в системе. Должно получиться вот так:
#!/bin/sh ################################################################################ ## ## ADOBE SYSTEMS INCORPORATED ## Copyright 2007 Adobe Systems Incorporated ## All Rights Reserved. ## ## NOTICE: Adobe permits you to use, modify, and distribute this file ## in accordance with the terms of the license agreement accompanying it. ## ################################################################################ VMARGS="-Xmx384m -Dsun.io.useCanonCaches=false" java $VMARGS -jar "/usr/lib/adobe-flex/mxmlc.jar" +flexlib="/usr/share/adobe-flex/frameworks" "$@"
Сохраняем этот файл (название mxmlc без расширения - остается) и устанавливаем ему право запуска. Теперь этот файл заливаем в каталог /usr/bin. Откроем консоль и введем команду «mxmlс», и если при этом выдается сообщение вроде «не указан целевой файл», то значит компилятор работает, и мы можем проверить его на деле.
Создадим файл «test.mxml» и поместим в него такой код:
<?xml version="1.0"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" > <mx:Panel title="My Application" paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10" > <mx:Label text="Hello World!" fontWeight="bold" fontSize="24" /> </mx:Panel> </mx:Application>
В консоли вводим команду:
mxmlc <путь_к_файлу>/test.mxml
Смотрим - если в этой же папке появился файл test.swf и в нем видим окошко «My Application» с текстом «Hello World!», значит все работает.
В идеале, расстановку файлов и папок можно задать при создании deb-пакета. Тогда полученный пакет можно устанавливать одним кликом, и удалять одной командой. При этом менеджер пакетов самостоятельно делает всю работу по установке файлов в нужные места или удаление этих файлов. Но для изготовления корректного по всем правилам deb-пакета нужно подробно изучить документацию по этой теме, начиная к примеру здесь. При разработке deb-пакета следует сделать проверку зависимостей (например - установлен ли JRE, необходимый компилятору mxmlc для работы), проверку на наличие или отсутствие конфликтов имен и т.д. Только правильно созданный по всем инструкциям пакет может называться пакетом и иметь право на использование и распространение.
