ADT package 명령

-package 명령은 기본 응용 프로그램 디렉토리에서 실행해야 합니다. 이 명령은 다음 구문을 사용합니다.

구성 요소 응용 프로그램 파일로부터 AIR 패키지 만들기:

adt -package 
    AIR_SIGNING_OPTIONS 
    -target packageType 
    -sampler 
    ‑hideAneLibSymbols 
    NATIVE_SIGNING_OPTIONS 
    output 
    app_descriptor 
    FILE_OPTIONS 

구성 요소 응용 프로그램 파일로부터 기본 패키지 만들기:

adt -package 
    AIR_SIGNING_OPTIONS 
    -target packageType 
    DEBUGGER_CONNECTION_OPTIONS 
    -airDownloadURL URL 
    NATIVE_SIGNING_OPTIONS 
    output 
    app_descriptor 
    -platformsdk path 
    FILE_OPTIONS 

구성 요소 응용 프로그램 파일에서 기본 확장이 포함된 기본 패키지를 만듭니다.

adt -package 
    AIR_SIGNING_OPTIONS 
    -migrate MIGRATION_SIGNING_OPTIONS 
    -target packageType 
    DEBUGGER_CONNECTION_OPTIONS 
    -airDownloadURL URL 
    NATIVE_SIGNING_OPTIONS 
    output 
    app_descriptor 
    -platformsdk path 
    FILE_OPTIONS 

AIR 또는 AIRI 파일로부터 기본 패키지 만들기:

adt -package 
    -target packageType 
    NATIVE_SIGNING_OPTIONS 
    output 
    input_package

구성 요소 기본 확장 파일에서 기본 확장 패키지를 만듭니다.

adt -package 
    AIR_SIGNING_OPTIONS     
    -target ane 
    output 
    ANE_OPTIONS
참고: ANE 파일에 서명할 필요가 없으므로 이 예제에서 AIR_SIGNING_OPTIONS 매개 변수는 선택 사항입니다.

AIR_SIGNING_OPTIONS AIR 서명 옵션은 AIR 설치 파일에 서명하는 데 사용되는 인증서를 식별합니다. 서명 옵션은 ADT 코드 서명 옵션 에서 자세히 설명합니다.

-migrate 이 플래그는 응용 프로그램을 AIR_SIGNING_OPTIONS 매개 변수에 지정된 인증서뿐 아니라 마이그레이션 인증서도 사용하여 서명하도록 지정합니다. 이 플래그는 데스크톱 응용 프로그램을 기본 설치 프로그램으로 패키지화하고 해당 응용 프로그램이 기본 확장을 사용하는 경우에만 유효합니다. 그 외 경우는 오류가 발생합니다. 마이그레이션 인증서의 서명 옵션은 MIGRATION_SIGNING_OPTIONS 매개 변수로 지정됩니다. 서명 옵션은 ADT 코드 서명 옵션 에서 자세히 설명합니다. -migrate 플래그를 사용하면 기본 확장을 사용하는 데스크톱 기본 설치 프로그램의 업데이트를 만들 수 있고 원래 인증서가 만료되는 등의 경우에 응용 프로그램의 코드 서명 인증서를 변경할 수 있습니다. 자세한 내용은 업데이트된 버전의 AIR 응용 프로그램에 서명 을 참조하십시오.

-package 명령의 -migrate 플래그는 AIR 3.6 이상에서 사용할 수 있습니다.

-target 만들 패키지의 유형입니다. 지원되는 패키지 유형은 다음과 같습니다.
  • air - AIR 패키지입니다. “air”는 기본값이며, AIR 또는 AIRI 파일을 만들 때는 -target 플래그를 지정하지 않아도 됩니다.

  • airn - 확장 TV 프로파일에 있는 장치에 대한 기본 응용 프로그램 패키지입니다.

  • ane - AIR 기본 확장 패키지입니다.

  • Android 패키지의 대상은 다음과 같습니다.

    • apk - Android 패키지입니다. 이 target으로 생성되는 패키지는 에뮬레이터가 아니라 Android 장치에만 설치될 수 있습니다.

    • apk-captive-runtime - 응용 프로그램과 전용 버전의 AIR 런타임이 모두 포함된 Android 패키지입니다. 이 target으로 생성되는 패키지는 에뮬레이터가 아니라 Android 장치에만 설치될 수 있습니다.

    • apk-debug - 추가 디버깅 정보가 있는 Android 패키지입니다. 응용 프로그램에 있는 SWF 파일은 디버깅 지원과도 함께 컴파일되어야 합니다.

    • apk-emulator - 디버깅 지원이 없는 에뮬레이터에서 사용할 Android 패키지입니다. apk-debug target을 사용하여 에뮬레이터와 장치 모두에서 디버깅을 허용하십시오.

    • apk-profile - 응용 프로그램 성능 및 메모리 프로파일링을 지원하는 Android 패키지입니다.

  • iOS 패키지의 대상은 다음과 같습니다.

    • ipa-ad-hoc - 애드혹 배포를 위한 iOS 패키지입니다.

    • ipa-app-store - Apple App 저장소 배포를 위한 iOS 패키지입니다.

    • ipa-debug - 추가 디버깅 정보가 있는 iOS 패키지입니다. 응용 프로그램에 있는 SWF 파일은 디버깅 지원과도 함께 컴파일되어야 합니다.

    • ipa-test - 최적화 또는 디버깅 정보 없이 컴파일된 iOS 패키지입니다.

    • ipa-debug-interpreter - 기능 면에서 디버그 패키지와 동일하지만 컴파일 속도가 더 빠릅니다. 그러나 ActionScript 바이트코드가 해석되기는 하지만 컴퓨터 코드로 변환되지는 않습니다. 따라서 인터프리터 패키지에서는 코드 실행 속도가 느립니다.

    • ipa-debug-interpreter-simulator - 기능 면에서 ipa-debug-interpreter와 동일하지만 iOS 시뮬레이터용으로 패키지화되었습니다. Macintosh 전용입니다. 이 옵션을 사용하는 경우 -platformsdk 옵션도 포함하여 iOS 시뮬레이터 SDK의 경로를 지정해야 합니다.

    • ipa-test-interpreter - 기능 면에서 테스트 패키지와 동일하지만 컴파일 속도가 더 빠릅니다. 그러나 ActionScript 바이트코드가 해석되기는 하지만 컴퓨터 코드로 변환되지는 않습니다. 따라서 인터프리터 패키지에서는 코드 실행 속도가 느립니다.

    • ipa-test-interpreter-simulator - 기능 면에서 ipa-test-interpreter와 동일하지만 iOS 시뮬레이터용으로 패키지화되었습니다. Macintosh 전용입니다. 이 옵션을 사용하는 경우 -platformsdk 옵션도 포함하여 iOS 시뮬레이터 SDK의 경로를 지정해야 합니다.

  • native - 기본 데스크톱 설치 프로그램입니다. 생성되는 파일 유형은 명령이 실행되는 운영 체제의 기본 설치 포맷입니다.

    • EXE - Windows

    • DMG - Mac

    • DEB - Ubuntu Linux (AIR 2.6 이하)

    • RPM - Fedora 또는 OpenSuse Linux(AIR 2.6 이하)

    자세한 내용은 데스크톱 기본 설치 프로그램 패키지화 를 참조하십시오.

-sampler (iOS 전용, AIR 3.4 이상) iOS 응용 프로그램에서 원격 측정 기반 ActionScript 샘플러를 사용할 수 있도록 합니다. 이 플래그를 사용하면 Adobe Scout를 통해 응용 프로그램을 프로파일링할 수 있습니다. Scout 를 활용해서 모든 Flash 플랫폼 내용을 프로파일링할 수도 있지만 자세한 원격 측정을 사용하면 ActionScript 함수 시간, DisplayList, Stage3D 렌더링 등을 비롯한 여러 항목을 면밀히 파악할 수 있습니다. 이 플래그는 성능에 약간의 영향을 줄 수 있으므로 업무용 응용 프로그램에는 사용하지 않습니다.

-hideAneLibSymbols (iOS 전용, AIR 3.4 이상) 응용 프로그램 개발자는 여러 소스로부터 여러 기본 확장을 사용할 수 있으며, ANE 간에 공통된 심볼 이름을 공유할 경우 ADT에서 “객체 파일 내 중복된 심볼” 오류를 생성합니다. 경우에 따라 이 오류는 런타임에 충돌로 나타날 수도 있습니다. hideAneLibSymbols 옵션을 사용하면 ANE 라이브러리의 심볼을 해당 라이브러리의 소스에서만 볼 수 있도록 지정(yes)하거나 전역에 보이도록 지정(no)할 수 있습니다.

  • yes - ANE 심볼을 숨기며, 이 경우 의도하지 않은 모든 심볼 충돌 문제가 해결됩니다.

  • no - 기본값이며, ANE 심볼을 숨기지 않습니다. 사전 AIR 3.4 비헤이비어입니다.

-embedBitcode (iOS만 해당, AIR 25 이상) 응용 프로그램 개발자는 embedBitcode 옵션을 사용하여 yes 또는 no를 지정하는 방식으로 자신의 iOS 응용 프로그램에 비트코드를 포함할 것인지 여부를 지정할 수 있습니다. 지정하지 않는 경우 이 스위치의 기본값은 no입니다.

DEBUGGER_CONNECTION_OPTIONS 디버거 연결 옵션은 디버그 패키지가 다른 컴퓨터에서 실행 중인 원격 디버거에 연결을 시도해야 하는지 아니면 원격 디버거로부터 연결을 수신 대기해야 하는지를 지정합니다. 이 옵션 집합은 모바일 디버그 패키지(apk-debug 및 ipa-debug를 대상으로 함)에 대해서만 지원됩니다. 이들 옵션은 디버거 연결 옵션 에 설명되어 있습니다.

-airDownloadURL Android 장치에 AIR 런타임을 다운로드하고 설치하기 위한 대체 URL을 지정합니다. 지정하지 않으면 런타임이 아직 설치되지 않은 경우 AIR 응용 프로그램이 사용자를 Android Market에 있는 AIR 런타임으로 리디렉션합니다.

응용 프로그램이 대체 마켓플레이스(Google에서 관리하는 Android Market이 아닌 마켓플레이스)를 통해 배포되는 경우에는 해당 마켓에서 AIR 런타임을 다운로드하기 위한 URL을 지정해야 할 수도 있습니다. 일부 대체 마켓에서는 응용 프로그램이 해당 마켓 외부로부터의 다운로드를 요구하는 것을 허용하지 않습니다. 이 옵션은 Android 패키지에 대해서만 지원됩니다.

NATIVE_SIGNING_OPTIONS 기본 서명 옵션은 기본 패키지 파일에 서명하는 데 사용되는 인증서를 식별합니다. 이러한 서명 옵션은 AIR 런타임이 아니라 기본 운영 체제에서 사용하는 서명을 적용하는 데 사용됩니다. 이 옵션은 그렇지 않을 경우 AIR_SIGNING_OPTIONS와 동일하며, ADT 코드 서명 옵션 에 자세히 설명되어 있습니다.

기본 서명은 Windows와 Android에서 지원됩니다. Windows에서는 AIR 서명 옵션과 기본 서명 옵션을 모두 지정해야 합니다. Android에서는 기본 서명 옵션만 지정할 수 있습니다.

종종 같은 코드 서명 인증서를 사용하여 AIR 및 기본 서명을 모두 적용할 수 있습니다. 하지만 언제나 가능한 것은 아닙니다. 예를 들어 Android Market에 제출된 Google의 응용 프로그램 정책은 모든 응용 프로그램이 적어도 2033년까지 유효한 인증서를 사용하여 서명될 것을 요구합니다. 즉, AIR 서명을 적용할 때 권장되는 유명 인증 기관에서 발행한 인증서는 Android 응용 프로그램에 서명하는 데 사용해서는 안 됩니다. 이처럼 유효 기간이 긴 코드 서명 인증서를 발행하는 인증 기관은 없기 때문입니다.

output 만들 패키지 파일의 이름입니다. 파일 확장자를 지정하는 것은 선택 사항입니다. 지정하지 않으면 -target 값과 현재 운영 체제에 적합한 확장자가 추가됩니다.

app_descriptor 응용 프로그램 설명자 파일에 대한 경로입니다. 경로는 현대 디렉토리에 대한 상대 경로로 지정하거나 절대 경로로 지정할 수 있습니다. 응용 프로그램 설명자 파일은 AIR 파일에서 application.xml 로 이름이 변경됩니다.

-platformsdk 대상 장치의 플랫폼 SDK에 대한 경로입니다.
  • Android - AIR 2.6 이상의 SDK에는 관련 ADT 명령을 구현하는 데 필요한 Android SDK의 도구가 포함되어 있습니다. 다른 버전의 Android SDK를 사용하려는 경우에만 이 값을 설정하십시오. 또한 AIR_ANDROID_SDK_HOME 환경 변수가 이미 설정된 경우에는 명령줄에 플랫폼 SDK 경로를 입력할 필요가 없습니다. 둘 다 설정되어 있으면 명령줄에 입력된 경로가 사용됩니다.

  • iOS - AIR SDK가 전용 iOS SDK와 함께 제공됩니다. -platformsdk 옵션을 사용하면 외부 SDK를 사용하여 응용 프로그램을 패키지화할 수 있으므로 전용 iOS SDK만 사용해야 하는 문제가 없습니다. 예를 들어 최신 iOS SDK를 사용하여 확장을 빌드한 경우 응용 프로그램을 패키지화할 때 해당 SDK를 지정할 수 있습니다. 또한 iOS 시뮬레이터와 함께 ADT를 사용하는 경우에는 항상 -platformsdk 옵션을 포함하여 iOS 시뮬레이터 SDK의 경로를 지정해야 합니다.

-arch 응용 프로그램 개발자는 이 인수를 사용하여 x86 플랫폼용 APK를 만들 수 있으며, 여기에는 다음 값이 사용됩니다.

  • armv7 - Android armv7 플랫폼용 ADT 패키지 APK입니다.

  • x86 - Android x86 플랫폼용 ADT 패키지 APK입니다.

지정된 값이 없는 경우에는 armv7이 기본값입니다.

FILE_OPTIONS 패키지에 포함할 응용 프로그램 파일을 식별합니다. 파일 옵션은 파일 및 경로 옵션 에서 자세히 설명합니다. AIR 또는 AIRI 파일로부터 기본 패키지를 만들 때는 파일 옵션을 지정하지 마십시오.

input_airi AIRI 파일로부터 기본 패키지를 만들 때 지정합니다. AIR_SIGNING_OPTIONS는 target이 air 인 경우(또는 target이 지정되지 않은 경우)에 필요합니다.

input_air AIR 파일로부터 기본 패키지를 만들 때 지정합니다. AIR_SIGNING_OPTIONS는 지정하지 마십시오.

ANE_OPTIONS 기본 확장 패키지를 만들기 위한 옵션과 파일을 식별합니다. 확장 패키지 옵션은 기본 확장 옵션 에서 자세히 설명합니다.

ADT -package 명령 예제

SWF 기반 AIR 응용 프로그램에 대해 현재 디렉토리에 있는 특정 응용 프로그램 파일을 패키지:

adt –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.swf components.swc

HTML 기반 AIR 응용 프로그램에 대해 현재 디렉토리에 있는 특정 응용 프로그램 파일을 패키지:

adt –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.html AIRAliases.js image.gif

현재 작업 디렉토리의 모든 파일 및 하위 디렉토리 패키지:

adt –package -storetype pkcs12 -keystore ../cert.p12 myApp.air myApp.xml .
참고: 키 저장소 파일에는 응용 프로그램 서명에 사용되는 개인 키가 들어 있습니다. AIR 패키지 안에 서명 인증서를 포함시키지 마십시오. ADT 명령에 와일드카드를 사용할 경우 키 저장소 파일을 다른 위치에 보관하여 패키지에 포함되지 않도록 하십시오. 이 예제에서 키 저장소 파일 cert.p12는 상위 디렉토리에 있습니다.

기본 파일 및 이미지 하위 디렉토리만 패키지:

adt –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.swf images

HTML 기반 응용 프로그램 및 HTML, 스크립트 및 이미지 하위 디렉토리의 모든 파일을 패키지:

adt –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml index.html AIRALiases.js html scripts images

작업 디렉토리(release/bin)에 있는 application.xml 파일 및 기본 SWF 패키지:

adt –package -storetype pkcs12 -keystore cert.p12 myApp.air release/bin/myApp.xml –C release/bin myApp.swf 

빌드 파일 시스템의 두 곳 이상에서 에셋을 패키지화합니다. 이 예제에서 응용 프로그램 에셋은 패키징되기 전에 다음과 같은 폴더에 들어 있습니다.

/devRoot 
    /myApp 
        /release 
            /bin 
                myApp-app.xml 
                myApp.swf or myApp.html 
    /artwork 
        /myApp 
            /images 
                image-1.png 
                ... 
                image-n.png 
    /libraries 
        /release 
            /libs 
                lib-1.swf 
                lib-2.swf 
                lib-a.js 
                AIRAliases.js

/devRoot/myApp 디렉토리에서 다음과 같은 ADT 명령 실행:

adt –package -storetype pkcs12 -keystore cert.p12 myApp.air release/bin/myApp-app.xml  
    –C release/bin myApp.swf (or myApp.html) 
    –C ../artwork/myApp images  
    –C ../libraries/release libs

다음 패키지 구조 생성:

/myAppRoot 
    /META-INF 
        /AIR 
            application.xml 
            hash 
    myApp.swf or myApp.html 
    mimetype 
    /images 
        image-1.png 
        ... 
        image-n.png 
    /libs 
        lib-1.swf 
        lib-2.swf 
        lib-a.js 
        AIRAliases.js

단순 SWF 기반 응용 프로그램에 대해 Java 프로그램으로 ADT 실행(클래스 경로 설정 안 함):

java –jar {AIRSDK}/lib/ADT.jar –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.swf 

단순 HTML 기반 응용 프로그램에 대해 Java 프로그램으로 ADT 실행(클래스 경로 설정 안 함):

java –jar {AIRSDK}/lib/ADT.jar –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.html AIRAliases.js

ADT.jar 패키지를 포함하도록 Java 클래스 경로를 설정하여 Java 프로그램으로 ADT 실행:

java -com.adobe.air.ADT –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.swf 

Apache Ant에서 Java 작업으로 ADT를 실행합니다. 그러나 일반적으로 Ant 스크립트에서 직접 ADT 명령을 사용하는 것이 가장 좋습니다. 다음 예제에 표시된 경로는 Windows의 경로입니다.

<property name="SDK_HOME" value="C:/AIRSDK"/> 
<property name="ADT.JAR" value="${SDK_HOME}/lib/adt.jar"/> 
 
target name="package"> 
    <java jar="${ADT.JAR}" fork="true" failonerror="true"> 
        <arg value="-package"/> 
        <arg value="-storetype"/> 
        <arg value="pkcs12"/> 
        <arg value="-keystore"/> 
        <arg value="../../ExampleCert.p12"/> 
        <arg value="myApp.air"/> 
        <arg value="myApp-app.xml"/> 
        <arg value="myApp.swf"/> 
        <arg value="icons/*.png"/> 
    </java> 
</target>
참고: 일부 컴퓨터 시스템에서는 파일 시스템 경로에 있는 2바이트 문자가 잘못 해석될 수 있습니다. 그럴 경우에는 ADT를 실행하는 데 사용된 JRE이 UTF-8 문자 세트를 사용하도록 설정해 보십시오. 이 작업은 기본적으로 Mac 및 Linux에서 ADT를 실행하는 데 사용하는 스크립트에서 수행할 수 있습니다. Windows adt.bat 파일에서 또는 Java에서 직접 ADT를 실행할 때 Java 명령줄에 -Dfile.encoding=UTF-8 옵션을 지정하십시오.