AIR Debug Launcher (ADL)

Средство AIR Debug Launcher (ADL) рекомендуется использовать для запуска SWF- и HTML-приложений во время разработки. С помощью ADL можно запустить приложение без предварительной упаковки и установки. По умолчанию, ADL использует среду выполнения, включенную в комплект SDK, т. е. для работы с ADL не потребуется отдельно устанавливать среду выполнения.

ADL печатает трассировочные инструкции и ошибки рабочей среды в виде стандартного вывода, но не поддерживает контрольные точки и иные функции отладки. Можно использовать программу отладки Flash Debugger (или интегрированные среды разработки, такие как Flash Builder) для решения сложных проблем с отладкой.

Примечание. Если инструкции trace() не отображаются на консоли, убедитесь, что в файле mm.cfg не задано ErrorReportingEnable или TraceOutputFileEnable. Дополнительные сведения о том, где находится этот файл в зависимости от платформы, см. в документе Редактирование файла mm.cfg.

AIR поддерживает непосредственную отладку, что исключает необходимость в использовании отладочной версии среды выполнения (как, например, в ситуации с проигрывателем Adobe® Flash® Player). Для отладки с использованием командной строки воспользуйтесь отладчиком Flash Debugger или AIR Debug Launcher (ADL).

Отладчик Flash Debugger содержится в папке Flex SDK. Собственные версии, например fdb.exe для ОС Windows, находятся во вложенной папке bin. Java-версия находится во вложенной папке lib. AIR Debug Launcher, adl.exe, находится в папке bin в каталоге установки Flex SDK. (Отдельной Java-версии нет).

Примечание. Запустить приложение AIR непосредственно с помощью fdb нельзя, так как fdb пытается осуществить его запуск с помощью проигрывателя Flash Player. Вместо этого позвольте приложению AIR подключиться к активному сеансу fdb.

Использование ADL

Для выполнения приложения с помощью ADL, используйте следующий шаблон:

adl application.xml

где application.xml — это файл дескриптора приложения.

Полный синтаксис для ADL имеет следующий вид:

adl     [-runtime runtime-directory] 
    [-pubid publisher-id] 
    [-nodebug] 
    [-atlogin] 
    [-profile profileName] 
    [-screensize value] 
    [-extdir extension-directory] 
    application.xml 
    [root-directory] 
    [-- arguments]

(элементы в квадратных скобках «[ ]» являются необязательными)

-runtime runtime-directory задает каталог, содержащий используемую среду выполнения. Если каталог среды выполнения не указан отдельно, используется каталог из того же комплекта SDK, что и для ADL. Если переместить утилиту ADL из папки ее SDK, необходимо будет задать каталог среды выполнения. В Windows и Linux необходимо задать каталог, содержащий каталог Adobe AIR. В Mac OS X задайте каталог, содержащий Adobe AIR.framework.

-pubid publisher-id присваивает определенное значение в качестве ID издателя приложения AIR для данного запуска. Указание временного ID издателя позволяет протестировать функции приложения AIR (такие как связь по локальной сети), использующие ID издателя для уникального определения приложения. Начиная с версии AIR 1.5.3, можно также указать идентификатор издателя в файле дескриптора приложения (и не использовать этот параметр).

Примечание. Начиная с версии AIR 1.5.3, идентификатор издателя больше автоматически не вычисляется и не назначается приложению AIR. Идентификатор издателя можно указать при создании обновления существующего приложения AIR, однако для новых приложений идентификатор издателя не требуется и не нужно указывать его.

-nodebug отключает поддержку отладки. В этом случае процесс приложения не сможет подключиться к программе отладки Flash, а диалоги, связанные с необработанными исключениями, будут заблокированы. (Несмотря на это трассировочные инструкции по-прежнему печатаются в окне консоли.) Отключение отладки ускоряет работу приложения и более точно эмулирует режим работы установленного приложения.

-atlogin симулирует запуск приложения при входе в систему. Этот флаг позволяет проверять логику приложения, которая выполняется, только когда приложение запускается при входе пользователя в систему. Когда используется -atlogin, свойство reason объекта InvokeEvent, отправляемое приложению, будет иметь значение login вместо standard (если приложение еще не запущено).

-profile profileName — ADL выполняет отладку приложения с помощью указанного профиля. profileName может принимать одно из следующих значений:

  • desktop

  • extendedDesktop

  • mobileDevice

Если в дескриптор приложения включен элемент supportedProfiles, профиль, заданный с помощью аргумента -profile, должен входить в список поддерживаемых элементов. Если аргумент -profile не используется, в качестве активного профиля используется первый профиль из дескриптора приложения. Если элемент supportedProfiles не включен в дескриптор приложения и аргумент -profile не задан, будет использоваться профиль desktop.

Дополнительные сведения см. в разделах «supportedProfiles» и «Профили устройств».

-screensize value — размер симулированного экрана, используемый при запуске приложений с профилем mobileDevice в настольных системах. Задайте размер экрана как предустановленный тип или укажите обычную ширину и высоту в пикселях для портретной ориентации, а также ширину и высоту для полноэкранного режима. Чтобы указать в виде типа, используйте один из следующих предопределенных типов экрана:

Тип экрана

Обычная ширина x высота

Полноэкранная ширина x высота

480

720 x 480

720 x 480

720

1280 x 720

1280 x 720

1080

1920 x 1080

1920 x 1080

Droid

480 x 816

480 x 854

FWQVGA

240x432

240x432

FWVGA

480 x 854

480 x 854

HVGA

320 x 480

320 x 480

iPad

768 x 1004

768 x 1024

iPadRetina

1536 x 2008

1536x2048

iPhone

320 x 460

320 x 480

iPhoneRetina

640 x 920

640 x 960

iPhone5Retina

640 x 1096

640 x 1136

iPhone6

750 x 1294

750 x 1334

iPhone6Plus

1242 x 2148

1242 x 2208

iPod

320 x 460

320 x 480

iPodRetina

640 x 920

640 x 960

iPod5Retina

640 x 1096

640 x 1136

NexusOne

480 x 762

480 x 800

QVGA

240x320

240x320

SamsungGalaxyS

480 x 762

480 x 800

SamsungGalaxyTab

600 x 986

600 x 1024

WQVGA

240x400

240x400

WVGA

480 x 800

480 x 800

Чтобы задать размер экрана в пикселях, используйте следующий формат:

widthXheight:fullscreenWidthXfullscreenHeight

Всегда указывайте для портретной ориентации размеры в пикселях, задавая для ширины меньшее значение, чем для высоты. Например, размеры экрана для NexusOne можно задать следующим образом:

-screensize 480x762:480x800

-extdir extension-directory Каталог, в котором среда выполнения осуществляет поиск собственных расширений. В каталоге содержится подкаталог для каждого собственного расширения, используемого в приложении. В каждом из этих подкаталогов содержится распакованный ANE-файл расширения. Например:

C:\extensionDirs\ 
    extension1.ane\ 
        META-INF\ 
            ANE\ 
                Android-ARM\ 
                    library.swf 
                    extension1.jar 
                extension.xml 
            signatures.xml 
        catalog.xml 
        library.swf 
        mimetype 
    extension2.ane\ 
        META-INF\ 
            ANE\ 
                Android-ARM\ 
                    library.swf 
                    extension2.jar 
                extension.xml 
            signatures.xml 
        catalog.xml 
        library.swf 
        mimetype 
    

При использовании параметра -extdir учитывайте следующее:

  • Для команды ADL требуется, чтобы все эти указанные каталоги имели расширение .ane. Но часть имени файла, предшествующая суффиксу .ane, может быть любым допустимым именем файла. Она может не совпадать со значением элемента extensionID файла дескриптора приложения.

  • Параметр -extdir можно указать несколько раз.

  • Использование параметра -extdir для инструмента ADT и инструмента ADL отличается. В инструменте ADT параметр указывает каталог, в котором содержатся файлы ANE.

  • Для указания каталогов расширения можно также использовать переменную среды AIR_EXTENSION_PATH. См. раздел «Переменные среды ADT».

application.xml — это файл дескриптора приложения. См. раздел «Файлы дескриптора приложения AIR». Дескриптор приложения — это единственный параметр, необходимый ADL и, в большинстве случаев, единственный требуемый параметр.

root-directory задает корневой каталог запускаемого приложения. Если он не задан, используется каталог, в котором находится файл дескриптора.

-- arguments Любые строки символов, стоящие после «--», передаются приложению в качестве аргументов командной строки.

Примечание. При запуске уже работающего приложения AIR новый экземпляр приложения не запускается. Вместо этого работающему экземпляру отправляется событие invoke.

Примеры ADL

Запуск приложения в текущем каталоге:

adl myApp-app.xml

Запуск приложения в подкаталоге текущего каталога:

adl source/myApp-app.xml release

Запуск приложения и передача двух аргументов командной строки: «tick» и «tock»:

adl myApp-app.xml -- tick tock

Запуск приложения в определенной среде выполнения:

adl -runtime /AIRSDK/runtime myApp-app.xml

Запуск приложения без поддержки отладки:

adl -nodebug myApp-app.xml

Запустите приложение с использованием профиля мобильного устройства и симулируйте размер экрана Nexus One:

adl -profile mobileDevice -screensize NexusOne myMobileApp-app.xml

Запустите приложение с помощью Apache Ant (в примере приведены пути для Windows):

<property name="SDK_HOME" value="C:/AIRSDK"/> 
<property name="ADL" value="${SDK_HOME}/bin/adl.exe"/> 
<property name="APP_ROOT" value="c:/dev/MyApp/bin-debug"/> 
<property name="APP_DESCRIPTOR" value="${APP_ROOT}/myApp-app.xml"/> 
 
<target name="test"> 
    <exec executable="${ADL}"> 
        <arg value="${APP_DESCRIPTOR}"/> 
        <arg value="${APP_ROOT}"/> 
    </exec>  
</target>

Завершение работы ADL и коды ошибок

Ниже перечислены коды выхода, выводимые ADL.

Код выхода

Описание

0

Успешный запуск. ADL завершает работу после выхода из приложения AIR.

1

Успешный вызов уже работающего приложения AIR. ADL завершает работу немедленно.

2

Ошибка использования. ADL переданы неверные аргументы.

3

Не удается найти среду выполнения.

4

Не удается запустить среду выполнения. Это часто происходит из-за того, что версия, указанная в приложении, не совпадает с версией среды выполнения.

5

Произошла ошибка, причины которой неизвестны.

6

Не удается найти файл дескриптора приложения.

7

Недопустимое содержимое дескриптора приложения. Обычно эта ошибка говорит о неправильной сборке XML-файла.

8

Не удается найти основной файл содержимого приложения (заданный элементом <content> файла дескриптора).

9

Основной файл содержимого приложения не является допустимым SWF- или HTML-файлом.

10

Приложение не поддерживает профиль, указанный в параметре -profile.

11

В текущем профиле аргумент -screensize не поддерживается.