ADL(AIR Debug Launcher)

ADL(AIR Debug Launcher)을 사용하여 개발 중에 SWF 기반 응용 프로그램과 HTML 기반 응용 프로그램을 모두 실행합니다. ADL을 사용하면 먼저 응용 프로그램을 패키지 및 설치하지 않고도 실행할 수 있습니다. 기본적으로 ADL은 SDK에 포함된 런타임을 사용하므로 ADL을 사용하기 위해 런타임을 별도로 설치할 필요가 없습니다.

ADL은 trace 문 및 런타임 오류를 표준 출력으로 인쇄하지만 중단점 또는 기타 디버깅 기능은 지원하지 않습니다. 복잡한 디버깅 문제에는 Flash Debugger 또는 Flash Builder와 같은 통합 개발 환경을 사용할 수 있습니다.

참고: trace() 문이 콘솔에 표시되지 않는 경우, mm.cfg 파일에 ErrorReportingEnable 또는 TraceOutputFileEnable 을 지정하지 않았는지 확인하십시오. 이 파일의 플랫폼별 위치에 대한 자세한 내용은 mm.cfg 파일 편집 을 참조하십시오.

AIR는 디버깅을 직접 지원하므로 Adobe® Flash® Player에서와 같이 런타임의 디버그 버전이 필요하지 않습니다. 명령줄 디버깅을 수행하려면 Flash Debugger 및 ADL(AIR Debug Launcher)을 사용합니다.

Flash Debugger는 Flex SDK 디렉토리에 배포됩니다. Windows의 fdb.exe와 같은 기본 버전은 bin 하위 디렉토리에 있습니다. Java 버전은 lib 하위 디렉토리에 있습니다. AIR Debug Launcher인 adl.exe는 Flex SDK 설치의 bin 디렉토리에 있습니다. 별개의 Java 버전은 없습니다.

참고: fdb는 Flash Player로 시작하려고 시도하기 때문에 fdb로 직접 AIR 응용 프로그램을 시작할 수 없습니다. 대신 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 사용할 런타임이 포함된 디렉토리를 지정합니다. 지정하지 않을 경우 ADL 프로그램과 같은 SDK의 런타임 디렉토리가 사용됩니다. SDK 폴더에서 ADL을 다른 위치로 이동할 경우 런타임 디렉토리를 지정해야 합니다. Windows 및 Linux에서는 Adobe AIR 디렉토리가 포함된 디렉토리를 지정하십시오. Mac OS X에서는 Adobe AIR.framework 가 포함된 디렉토리를 지정하십시오.

-pubid publisher-id 이 실행에 대한 AIR 응용 프로그램의 제작자 ID로 지정된 값을 지정합니다. 임시 제작자 ID를 지정함으로써 로컬 연결을 통한 통신과 같이 제작자 ID를 사용하여 응용 프로그램을 고유하게 식별하는 AIR 응용 프로그램의 기능을 테스트할 수 있습니다. AIR 1.5.3부터는 응용 프로그램 설명자 파일에서 제작자 ID를 지정할 수도 있습니다(이 매개 변수를 사용해서는 안 됨).

참고: AIR 1.5.3부터는 제작자 ID가 더 이상 자동으로 계산되어 AIR 응용 프로그램에 할당되지 않습니다. 기존 AIR 응용 프로그램에 대한 업데이트를 만들 때 제작자 ID를 지정할 수 있지만, 새 응용 프로그램에서는 제작자 ID를 지정할 필요가 없으며 지정해서도 안 됩니다.

-nodebug 디버깅 지원 기능을 해제합니다. 이를 사용할 경우 응용 프로그램 프로세스는 Flash 디버거에 연결되지 못하고 처리되지 않은 예외에 대한 대화 상자가 표시되지 않습니다. 그러나 trace 문은 계속 콘솔 윈도우에 인쇄됩니다. 디버깅 기능을 해제하면 응용 프로그램을 좀 더 빠르게 실행할 수 있으며 설치된 응용 프로그램의 실행 모드를 보다 근접하게 에뮬레이션할 수 있습니다.

- atlogin 로그인 시 응용 프로그램 실행을 시뮬레이션합니다. 이 플래그를 통해 사용자가 로그인하면 응용 프로그램이 실행되도록 설정된 경우에만 실행되는 응용 프로그램 논리를 테스트할 수 있습니다. -atlogin 이 사용되는 경우 응용 프로그램에 전달되는 InvokeEvent 객체의 reason 속성은 standard 가 아닌 login 입니다(응용 프로그램이 아직 실행되지 않고 있는 경우).

-profile profileName ADL은 지정된 프로파일을 사용하여 응용 프로그램을 디버깅합니다. profileName 은 다음 값 중 하나가 될 수 있습니다.

  • desktop

  • extendedDesktop

  • mobileDevice

응용 프로그램 설명자에 supportedProfiles 요소가 있으면 -profile 을 사용하여 지정하는 프로파일이 지원되는 목록에 포함되어 있어야 합니다. -profile 플래그를 사용하지 않으면 응용 프로그램 설명자에 있는 첫 번째 프로파일이 활성 프로파일로 사용됩니다. 응용 프로그램 설명자에 supportedProfiles 요소가 포함되어 있지 않을 때 -profile 플래그를 사용하지 않으면 desktop 프로파일이 사용됩니다.

자세한 내용은 supportedProfiles 장치 프로파일 을 참조하십시오.

-screensize 데스크톱에서 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

240 x 432

240 x 432

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

1536 x 2048

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

240 x 320

240 x 320

SamsungGalaxyS

480 x 762

480 x 800

SamsungGalaxyTab

600 x 986

600 x 1024

WQVGA

240 x 400

240 x 400

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

성공적으로 시작했습니다. AIR 응용 프로그램 종료 후 ADL이 종료됩니다.

1

이미 실행 중인 AIR 응용 프로그램을 성공적으로 호출하였습니다. ADL이 즉시 종료됩니다.

2

사용 오류입니다. ADL에 잘못된 인수가 제공되었습니다.

3

런타임을 찾을 수 없습니다.

4

런타임을 시작할 수 없습니다. 이는 종종 응용 프로그램에 지정된 버전이 런타임의 버전과 일치하지 않기 때문에 발생합니다.

5

원인을 알 수 없는 오류가 발생했습니다.

6

응용 프로그램 설명자 파일을 찾을 수 없습니다.

7

응용 프로그램 설명자의 내용이 유효하지 않습니다. 이 오류는 일반적으로 xml 형식이 올바르지 않음을 나타냅니다.

8

응용 프로그램 설명자 파일의 <content> 요소에 지정된 기본 응용 프로그램 내용 파일을 찾을 수 없습니다.

9

기본 응용 프로그램 내용 파일이 올바른 SWF 또는 HTML 파일이 아닙니다.

10

응용 프로그램에서 -profile 옵션으로 지정된 프로필을 지원하지 않습니다.

11

-screensize 인수는 현재 프로파일에서 지원되지 않습니다.