Мобильные AIR приложения во FlashDevelop

Во FlashDevelop  4 очень просто работать с мобильными AIR приложениями для IOS/Android. Это направление является для его разработчиков одним из наиболее приоритетных и активно развивается.

Для начала нам нужно создать новый проект AIR Mobile AS3 App или AIR Mobile Flex App. После создания проекта наблюдаем следующую картину:

По порядку:

Папка bat содержит несколько пакетных файлов:

  • CreateCertificate.bat нужен для генерации self-signed сертификата для Android. Без этого сертификата не получится собрать apk. С сертификатами для IOS всё не так просто.
  • InstallAirRuntime.bat устанавливает AIR runtime на Android устройство из %FLEX_SDK%\runtimes\air\android\device\runtime.apk. Лучше самостоятельно установить последнюю версию из AndroidMarket.
  • Packager.bat упаковывает флешку в apk(android) или ipa(ios) в зависимости от платформы, под которую пишется приложение.
  • SetupApplication.bat  содержит различные параметры приложения (пути к сертификатам, пароли от них, название приложения и т.п.)
  • SetupSDK.bat содержит путь к FlexSDK. Определяется автоматически, если не определился, нужно прописать вручную. И также содержит путь к AndroidSDK. На самом деле из него нужны только три файла: adb.exe, AdbWinApi.dll и AdbWinUsbApi.dll. Причём они уже содержатся в дистрибутиве FlashDevelop и путь к ним прописывается также автоматически.
В папку bin помещается скомпилированный swf файл.
В папке sert должны лежать сертификаты.
Папка icons содержит наборы иконок.
Две стандартные папки lib и src. Нужны для  библиотек и классов соответственно.
Корневая папка:
  • Стандартный для AIR приложений application.xml с различными параметрами приложения.
  • PackageApp.bat позволяет выбрать платформу и тип упаковки приложения. После выбора упаковывает. Появляется папка dist c apk или ipa.
  • Run.bat заливает приложение на мобильное устройство и запускает его там.
  • Два файла AIR_Android_readme.txt и AIR_iOS_readme.txt с инструкциями.
К сожалению, IOS устройства для теста у меня под рукой нет, поэтому расскажу, как работать с приложением на примере Android. Но не думаю, что у ios в этом плане есть коренные различия.
Сначала нам нужно сгенерировать сертификат. Запускаем CreateCertificate.bat и сертификат появляется в папке sert. Также все параметры, связанные с сертификатом автоматически прописываются в конфигах. Если говорить о подготовке, то это всё. Можно писать код и тестировать.
Для тестирования на мобильном устройстве понадобится кабель для подключения к компьютеру и ADB драйвер для устройства, который можно найти по ссылке.
Не забудьте установить Adobe AIR на устройство. Также на устройстве необходимо включить USB Debug Mode.
И последнее — в файле Run.bat меняем строку goto desktop на goto android-debug.
Тестирование происходит следующим образом:
  1. сначала нужно скомпилировать флешку — project/build project, F8 или нажмите на кнопку в виде шестерёнки.
  2. запускаем PackageApp.bat выбираем пункт [2] debug    (apk-debug), ждём, пока соберётся apk.
  3. в основном меню выбираем Debug/Start Remote Session.
  4. запускаем Run.bat который зальёт приложение на девайс и запустит его там.
Пока приложение заливается, дебаггер ждёт соединения. Как только приложение запущено на устройстве, можно пользоваться дебаггером и ловить трейсы прям с устройства. Обратите внимание на то, что соединению может помешать фаервол.  Профайлер, к сожалению, не работает или просто я не смог его запустить.
Есть второй способ и он намного проще: просто выбираем Project/Test Project или F5 или нажимаем кнопку в виде «play». Пункты 1-4 выполнятся автоматически. Это очень удобно.

 

Таким образом можно разрабатывать приложения одновременно под Android и IOS, конечно с учётом особенностей каждой ос. Также малыми потерями можно портировать ваши Flash/Flex приложения на мобильные устройства.

Мобильные AIR приложения во FlashDevelop: 15 комментариев

  1. как быть если, на устройстве AIR выдает ошибку:
    «Не удается подключиться к отладчику …»

  2. Статья класс. Вообще нравятся ваши материалы.
    Но возникла такая же проблема, как у Jewelz. Что значит «нужно чтобы устройство было расшарено в локальной сети (WiFi)»?.

  3. Можно ли, с помощью Air, сделать андроид-приложение с флешкой, написнаной на AS2? Если да, то как?

  4. Привет! При запуске на HTC Wildfire S (android 2.3) появляется чёрный экран и ничего не происходит.
    В чём может быть проблема?

      1. А я прочитал, но не заработало сразу. Т.к у меня стоял VirtualBox, который создает виртуальный сетевой адаптер. И почему то именно на его ip коннектилось по дефолту приложение с телефона. Помогло указание настоящего ip в DEBUG_IP в SetupApp.bat

  5. Для тестирования на мобильном устройстве понадобится кабель для подключения к компьютеру и драйвер для устройства, который можно найти по ссылке.

    Ссылка не работает.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *