TV용 AIR 응용 프로그램 디버깅

ADL을 사용하는 장치 시뮬레이션

대부분의 응용 프로그램 기능을 가장 빠르고 쉽게 테스트하고 디버깅하는 방법은 ADL(Adobe Debug Launcher) 유틸리티를 사용하는 개발 컴퓨터에서 응용 프로그램을 실행하는 것입니다.

ADL은 응용 프로그램 설명자에서 supportedProfiles 요소를 사용하여 사용할 프로파일을 선택합니다. 특히 다음 값에 유의하십시오.

  • 목록에 여러 개의 프로파일이 있는 경우 ADL은 목록에서 첫 번째 프로파일을 사용합니다.

  • ADL의 -profile 매개 변수를 사용하여 supportedProfiles 목록에서 다른 프로파일 중 하나를 선택할 수 있습니다.

  • 응용 프로그램 설명자에 supportedProfiles 요소를 포함하지 않는 경우에는 -profile 인수에 대해 아무 프로파일이나 지정하면 됩니다.

예를 들어 다음 명령을 사용하여 응용 프로그램을 시작함으로써 tv 프로파일을 시뮬레이트하십시오.
adl -profile tv myApp-app.xml

ADL을 사용하여 데스크톱에서 tv 또는 extendedTV 프로파일을 시뮬레이트할 때는 대상 장치와 좀 더 비슷한 환경에서 응용 프로그램이 실행됩니다. 예를 들면 다음과 같습니다.

  • -profile 인수에 있는 프로파일에 속하지 않은 ActionScript API는 사용할 수 없습니다.

  • ADL에서는 메뉴 명령을 통해 리모컨 등 장치 입력 컨트롤의 입력을 허용합니다.

  • -profile 인수에서 tv 또는 extendedTV 를 지정하면 ADL이 데스크톱에서 StageVideo 클래스를 시뮬레이트할 수 있습니다.

  • -profile 인수에서 extendedTV 를 지정하면 응용 프로그램이 응용 프로그램 AIRN 파일과 함께 패키지화된 기본 확장 스텁 또는 시뮬레이터를 사용할 수 있습니다.

하지만 ADL은 데스크톱에서 응용 프로그램을 실행하기 때문에 ADL을 사용하여 TV용 AIR 응용 프로그램을 테스트하는 데는 제한이 있습니다.

  • 장치의 응용 프로그램 성능이 반영되지 않습니다. 대상 장치에서 성능 테스트를 실행합니다.

  • StageVideo 객체의 제한을 시뮬레이트하지 않습니다. 일반적으로 TV용 AIR 장치를 대상으로 삼을 때는 Video 클래스가 아니라 StageVideo 클래스를 사용하여 비디오를 재생합니다. StageVideo 클래스는 장치 하드웨어의 성능 이점을 활용하지만 표시 제한이 있습니다. ADL은 이러한 제한 없이 데스크톱에서 비디오를 재생합니다. 따라서 대상 장치에서 재생 비디오를 테스트하십시오.

  • 기본 확장의 기본 코드를 시뮬레이트할 수 없습니다. 하지만 ADL -profile 인수에서 기본 확장을 지원하는 extendedTV 프로파일을 지정할 수 있습니다. ADL에서는 ANE 패키지에 포함된 전용 스텁 또는 시뮬레이터 버전의 ActionScript 확장을 사용하여 테스트할 수 있습니다. 하지만 일반적으로 장치에 설치된 해당 확장에는 기본 코드도 포함되어 있습니다. 확장을 기본 코드와 함께 사용하여 테스트하려면 대상 장치에서 응용 프로그램을 실행하십시오.

자세한 내용은 ADL(AIR Debug Launcher) 을 참조하십시오.

기본 확장 사용

응용 프로그램에서 기본 확장을 사용하는 경우 ADL 명령은 다음 예제처럼 표시됩니다.

adl -profile extendedTV -extdir C:\extensionDirs myApp-app.xml

이 예제에서는 다음을 가정합니다.

  • ADL 도구의 경로가 명령줄 셸의 경로 정의에 있습니다. path 환경 변수 를 참조하십시오.

  • 현재 디렉토리에 응용 프로그램 파일이 들어 있습니다. 이러한 파일에는 SWF 파일 및 응용 프로그램 설명자 파일(이 예제의 경우 myApp-app.xml)이 포함됩니다.

  • 매개 변수 -extdir 은 응용 프로그램에서 사용하는 각 기본 확장의 디렉토리를 포함하고 있는 디렉토리의 이름을 지정합니다. 이러한 각 디렉토리에는 기본 확장의 패키지화되지 않은 ANE 파일이 포함되어 있습니다. 예를 들면 다음과 같습니다.

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

    이러한 패키지화되지 않은 ANE 파일에는 ActionScript 전용 스텁 또는 시뮬레이터 버전의 확장이 포함되어 있습니다. TV용 AIR 장치에는 기본 코드를 포함하고 있는 확장 버전이 설치되어 있습니다.

자세한 내용은 Adobe AIR용 기본 확장 개발 을 참조하십시오.

컨트롤 입력

ADL은 TV 장치의 원격 컨트롤 버튼을 시뮬레이트합니다. TV 프로파일 중 하나를 사용하여 ADL을 실행할 때 표시되는 메뉴를 사용하여 시뮬레이트된 장치로 이러한 버튼 입력을 보낼 수 있습니다.

스크린 크기

ADL -screensize 매개 변수를 설정하여 다양한 크기의 스크린에서 응용 프로그램을 테스트할 수 있습니다. 일반 스크린 및 최대화된 스크린의 폭과 높이를 나타내는 네 개의 값이 포함된 문자열을 지정할 수 있습니다.

항상 세로 레이아웃에 대한 픽셀 크기를 지정합니다. 이는 높이 값보다 작은 값을 폭에 지정해야 한다는 것을 의미합니다. 예를 들면 다음과 같습니다.

adl -screensize 728x1024:768x1024 myApp-app.xml

trace 문

데스크톱에서 TV 응용 프로그램을 실행하면 ADL을 실행하는 데 사용되는 디버거 또는 터미널 윈도우에 trace 출력이 인쇄됩니다.

Flash Professional을 사용한 원격 디버깅

TV용 AIR 응용 프로그램이 대상 장치에서 실행되는 동안 Flash Professional을 사용하여 TV용 AIR 응용 프로그램을 원격으로 디버깅할 수 있습니다. 하지만 원격 디버깅을 설정하는 단계는 장치마다 다릅니다. 예를 들어 Adobe® AIR® for TV MAX 2010 Hardware Development Kit에는 해당 장치에 대한 자세한 단계를 보여 주는 설명서가 포함되어 있습니다.

하지만 대상 장치에 관계없이 다음 단계를 수행하여 원격 디버깅을 준비하십시오.

  1. [제작 설정] 대화 상자의 [Flash] 탭에서 [디버깅 허용]을 선택합니다.

    이 옵션은 Flash Professional이 FLA 파일로부터 만드는 모든 SWF 파일에 디버깅 정보를 포함하도록 합니다.

  2. [Adobe AIR 설정] 대화 상자(응용 프로그램 및 설치 프로그램 설정)의 [서명] 탭에서 AIRI(AIR Intermediate) 파일을 준비하는 옵션을 선택합니다.

    여전히 응용 프로그램을 개발하는 중인 경우 디지털 서명이 불필요한 AIRI 파일을 사용하는 것으로 충분합니다.

  3. 응용 프로그램을 제작하고, AIRI 파일을 만듭니다.

마지막 단계에서는 대상 장치에서 응용 프로그램을 설치하고 실행합니다. 하지만 이러한 단계는 장치마다 다릅니다.

Flash Builder를 사용한 원격 디버깅

TV용 AIR 응용 프로그램이 대상 장치에서 실행되는 동안 Flash Builder를 사용하여 TV용 AIR 응용 프로그램을 원격으로 디버깅할 수도 있습니다. 하지만 원격 디버깅을 수행하는 단계는 장치마다 다릅니다.

하지만 대상 장치에 관계없이 다음 단계를 수행하여 원격 디버깅을 준비하십시오.

  1. [프로젝트] > [릴리스 빌드 내보내기]를 선택합니다. AIRI(AIR Intermediate) 파일을 준비하는 옵션을 선택합니다.

    여전히 응용 프로그램을 개발하는 중인 경우 디지털 서명이 불필요한 AIRI 파일을 사용하는 것으로 충분합니다.

  2. 응용 프로그램을 제작하고, AIRI 파일을 만듭니다.

  3. 디버그 정보가 들어 있는 SWF 파일을 포함하도록 응용 프로그램의 AIRI 패키지를 변경합니다.

    디버그 정보가 들어 있는 SWF 파일은 bin-debug라는 디렉토리에서 응용 프로그램에 대한 Flash Builder 프로젝트 디렉토리에 있습니다. AIRI 패키지에 있는 SWF 파일을 bin-debug 디렉토리에 있는 SWF 파일과 바꿉니다.

Windows 개발 컴퓨터에서 다음을 수행하여 이 두 파일을 바꿀 수 있습니다.

  1. AIRI 패키지 파일의 이름을 변경하여 파일 이름 확장자가 .airi 대신 .zip이 되도록 합니다.

  2. ZIP 파일 내용을 추출합니다.

  3. 추출한 디렉토리 구조에 있는 SWF 파일을 bin-debug에 있는 SWF 파일과 바꿉니다.

  4. 추출한 디렉토리의 파일을 zip 파일로 다시 압축합니다.

  5. 압축된 파일을 다시 변경하여 파일 이름 확장자가 .airi가 되도록 합니다.

Mac 개발 컴퓨터를 사용 중인 경우 이와 같이 바꾸는 단계는 장치마다 다릅니다. 하지만 일반적으로 다음과 같은 과정이 포함됩니다.

  1. 대상 장치에 AIRI 패키지를 설치합니다.

  2. 대상 장치의 응용 프로그램 설치 디렉토리에 있는 SWF 파일을 bin-debug 디렉토리에 있는 SWF 파일과 바꿉니다.

    Adobe AIR for TV MAX 2010 Hardware Development Kit에 포함되어 있는 장치를 예로 들어 보겠습니다. 키트 설명서에 설명된 대로 AIRI 패키지를 설치합니다. 그런 다음 Mac 개발 컴퓨터의 명령줄에서 telnet을 사용하여 대상 장치에 액세스합니다. 응용 프로그램 설치 디렉토리(/opt/adobe/stagecraft/apps/ <application name> /)에 있는 SWF 파일을 bin-debug 디렉토리에 있는 SWF 파일과 바꿉니다.

다음 단계는 Flash Builder 그리고 Adobe AIR for TV MAX 2010 Hardware Development Kit에 포함되어 있는 장치를 사용하는 원격 디버깅의 경우에 적용됩니다.

  1. Flash Builder를 실행하는 컴퓨터, 즉 개발 컴퓨터에서 MAX 2010 Hardware Development Kit와 함께 제공된 AIR for TV Device Connector를 실행합니다. 그러면 개발 컴퓨터의 IP 주소가 표시됩니다.

  2. 하드웨어 키트 장치에서 DevMaster 응용 프로그램을 시작합니다. 이 응용 프로그램도 개발 키트와 함께 제공됩니다.

  3. DevMaster 응용 프로그램에서 AIR for TV Device Connector에 표시된 개발 컴퓨터의 IP 주소를 입력합니다.

  4. DevMaster 응용 프로그램에서 [원격 디버깅 사용]이 선택되어 있는지 확인합니다.

  5. DevMaster 응용 프로그램을 종료합니다.

  6. 개발 컴퓨터의 AIR for TV Connector에서 [시작]을 선택합니다.

  7. 하드웨어 키트 장치에서 다른 응용 프로그램을 시작합니다. AIR for TV Device Connector에서 추적 정보가 표시되는지 확인합니다.

    추적 정보가 표시되지 않으면 개발 컴퓨터 및 하드웨어 키트 장치가 연결되지 않은 것입니다. 추적 정보에 사용되는 개발 컴퓨터의 포트가 사용 가능한지 확인합니다. AIR for TV Device Connector에서 다른 포트를 선택할 수 있습니다. 또한 선택한 포트에 액세스하는 것을 방화벽에서 허용하는지 확인합니다.

그 다음에 Flash Builder에서 디버거를 시작합니다. 다음을 수행하십시오.

  1. Flash Builder에서 [실행] > [디버그 구성]을 선택합니다.

  2. 로컬 디버깅을 위한 기존 디버그 구성에서 프로젝트의 이름을 복사합니다.

  3. [디버그 구성] 대화 상자에서 [웹 응용 프로그램]을 선택합니다. 그런 다음 [새로운 시작 구성] 아이콘을 선택합니다.

  4. [프로젝트] 필드에 프로젝트 이름을 붙여 넣습니다.

  5. [시작할 URL 또는 경로] 섹션에서 [기본값 사용]의 선택을 취소합니다. 또한 텍스트 필드에 about:blank 를 입력합니다.

  6. [적용]을 선택하여 변경 내용을 저장합니다.

  7. [디버그]를 선택하여 Flash Builder 디버거를 시작합니다.

  8. 하드웨어 키트 장치에서 응용 프로그램을 시작합니다.

이제 Flash Builder 디버거를 사용하여 중단점을 설정하거나 변수를 조사하는 등의 작업을 수행할 수 있습니다.