Comando package de ADT

El comando -package debería ejecutarse desde el directorio de aplicación principal. El comando utiliza la siguiente sintaxis:

Cree un paquete de AIR desde los archivos de la aplicación del componente:

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

Cree un paquete nativo desde los archivos de la aplicación del componente:

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

Cree un paquete nativo que incluya una extensión nativa de los archivos de aplicación del componente:

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 

Cree un paquete nativo a partir de un archivo de AIRI o AIR:

adt -package 
    -target packageType 
    NATIVE_SIGNING_OPTIONS 
    output 
    input_package

Cree un paquete de extensiones nativas a partir de archivos de extensión nativa de componentes:

adt -package 
    AIR_SIGNING_OPTIONS     
    -target ane 
    output 
    ANE_OPTIONS
Nota: no es necesario firmar ningún archivo ANE, por lo que los parámetros AIR_SIGNING_OPTIONS son opcionales en este ejemplo.

AIR_SIGNING_OPTIONS Las opciones de firma de AIR identifican el certificado utilizado para firmar un archivo de instalación de AIR. Las opciones de firma se describen con detenimiento en Opciones de firma de código de ADT.

-migrate Este indicador especifica que la aplicación se firma con un certificado de migración además del certificado especificado en los parámetros AIR_SIGNING_OPTIONS. Este indicador solo es válido si se empaqueta una aplicación de escritorio como instalador nativo y la aplicación utiliza una extensión nativa. En otros casos se produce un error. Las opciones de firma para el certificado de migración se especifican como los parámetros MIGRATION_SIGNING_OPTIONS. Estas opciones de firma se detallan en Opciones de firma de código de ADT. El uso del indicador -migrate permite crear una actualización para una aplicación de instalador nativo de escritorio que use una extensión nativa y cambiar el certificado de firma de código para la aplicación, como cuando caduca el certificado original. Para obtener más información, consulte Firma de una versión actualizada de una aplicación de AIR.

El indicador -migrate del comando -package está disponible a partir de AIR 3.6.

-target Tipo de paquete para crear. Los tipos de paquete admitidos son:
  • air: paquete de AIR. “air” es el valor predeterminado y no es necesario especificar el indicador -target al crear archivos de AIR o AIRI.

  • airn: paquete de la aplicación nativa para dispositivos en el perfil de televisión ampliado.

  • ane: paquete de extensión nativa de AIR

  • Destinos del paquete Android:

    • apk: un paquete de Android. Un paquete producido con este destino solo se puede instalar en un dispositivo Android, no en un emulador.

    • apk-captive-runtime: un paquete de Android que incluye tanto la aplicación como una versión captadora del motor de ejecución de AIR. Un paquete producido con este destino solo se puede instalar en un dispositivo Android, no en un emulador.

    • apk-debug: paquete de Android con información de depuración adicional. (Los archivos SWF de la aplicación también se deben compilar con compatibilidad de depuración.)

    • apk-emulator: paquete de Android para su uso en un emulador sin compatibilidad de depuración. (Utilice el destino apk-debug para permitir la depuración en ambos emuladores y dispositivos.)

    • apk-profile: paquete de Android que admite la creación de perfiles de memoria y el rendimiento de la aplicación.

  • Destinos del paquete iOS:

    • ipa-ad-hoc: paquete de iOS para la distribución ad hoc.

    • ipa-app-store: paquete de iOS para la distribución de App Store de Apple.

    • ipa-debug: paquete de iOS con información de depuración adicional. (Los archivos SWF de la aplicación también se deben compilar con compatibilidad de depuración.)

    • ipa-test: paquete de iOS compilado sin información de depuración u optimización.

    • ipa-debug-interpreter: funcionalidad equivalente a un paquete debug, pero con compilación más rápida. No obstante, el código de bytes de ActionScript se interpreta y no se transforma en código de máquina. Como resultado, la ejecución del código es más lenta en un paquete interpreter.

    • ipa-debug-interpreter-simulator: funcionalidad equivalente a ipa-debug-interpreter, pero empaquetado para simulador de iOS. Solo para Macintosh. Si utiliza esta opción, también debe incluir la opción -platformsdk y especificar la ruta de acceso al SDK del simulador de iOS.

    • ipa-test-interpreter: funcionalidad equivalente a un paquete test, pero con compilación más rápida. No obstante, el código de bytes de ActionScript se interpreta y no se transforma en código de máquina. Como resultado, la ejecución del código es más lenta en un paquete interpreter.

    • ipa-test-interpreter-simulator: funcionalidad equivalente a ipa-test-interpreter, pero empaquetado para simulador de iOS. Solo para Macintosh. Si utiliza esta opción, también debe incluir la opción -platformsdk y especificar la ruta de acceso al SDK del simulador de iOS.

  • native: instalador de escritorio nativo. El tipo de archivo generado es el formato de instalación nativo del sistema operativo en el que se ejecuta el comando:

    • EXE: Windows

    • DMG: Mac

    • DEB: Ubuntu Linux (AIR 2.6 o anterior)

    • RPM — Fedora u OpenSuse Linux (AIR 2.6 o anterior)

    Para obtener más información, consulte Empaquetado de un instalador nativo de escritorio.

-sampler (solo iOS, AIR 3.4 y posterior) Habilita el muestreador de ActionScript basado en telemetría en aplicaciones de iOS. Con este indicador es posible crear un perfil de la aplicación con Adobe Scout. Aunque Scout puede crear perfiles de cualquier contenido de la plataforma de Flash, al habilitar la telemetría detallada se puede obtener más información sobre el tiempo de las funciones de ActionScript, DisplayList, el procesamiento de Stage3D y mucho más. Tenga en cuenta que utilizar este indicador afecta al rendimiento, por lo que no debe utilizarse en aplicaciones de producción.

-hideAneLibSymbols (solo iOS, AIR 3.4 y posterior) Los desarrolladores de aplicaciones pueden usar diversas extensiones nativas de múltiples orígenes y, si los archivos ANE comparten un nombre de símbolo común, ADT genera un error de “símbolo duplicado en archivo de objeto”. En algunos casos, este error puede desembocar incluso en un bloqueo del motor de ejecución. Puede utilizar la opción hideAneLibSymbols para especificar si quiere o no que los símbolos de la biblioteca de archivos ANE sea visible solo para los orígenes de biblioteca (yes) o visible globalmente (no):

  • yes: oculta los símbolos ANE; resuelve cualquier error de conflicto de símbolos no intencionado.

  • no (valor predeterminado): no oculta ningún símbolo ANE. Este comportamiento es previo a AIR 3.4.

-embedBitcode (solo para iOS, AIR 25 y versiones posteriores) Los desarrolladores de aplicaciones pueden utilizar la opción embedBitcode para especificar si desean incrustar código de bits en su aplicación de iOS indicando Sí o No. El valor predeterminado de esta opción es No.

DEBUGGER_CONNECTION_OPTIONS Las opciones de conexión del depurador especifican si un paquete de depuración debe intentar conectarse a un depurador remoto que se ejecuta en otro equipo, o bien, detectar una conexión desde un depurador remoto. Este conjunto de opciones solo se admite para paquetes de depuración móviles (se aplica a apk-debug y ipa-debug). Estas opciones se describen en Opciones de conexión del depurador.

-airDownloadURL Especifica una URL alternativa para descargar e instalar el motor de ejecución de AIR en los dispositivos Android. Si no se especifica, una aplicación de AIR redirigirá al usuario al motor de ejecución de AIR en Android Market si el motor de ejecución no está instalado aún.

Si la aplicación se distribuye mediante un catálogo de soluciones alternativo (distinto de Android Market administrado por Google), puede que sea necesario especificar la URL para descargar el motor de ejecución de AIR desde ese catálogo. Algunos catálogos de aplicaciones alternativos no permiten que las aplicaciones requieran una descarga fuera del catálogo. Esta opción solo se admiten para paquetes de Android.

NATIVE_SIGNING_OPTIONS Las opciones de firma nativas identifican el certificado utilizado para firmar un archivo de paquete nativo. Estas opciones de firma se utilizan para aplicar una firma empleada por el sistema operativo nativo, no el motor de ejecución de AIR. Las opciones son idénticas en AIR_SIGNING_OPTIONS y se describen detalladamente en Opciones de firma de código de ADT.

Las firmas nativas se admiten en Windows y Android. En Windows, tanto las opciones de firma de AIR y como las opciones de firma nativas se deben especificar. En Android, únicamente las opciones de firma nativas se pueden especificar.

En muchos casos, se puede utilizar el mismo certificado de firma de código para aplicar tanto una firma nativa como de AIR. Sin embargo, no es así en todos los casos. Por ejemplo, la directiva de Google para las aplicaciones enviadas a Android Market indica que todas las aplicaciones se deben firmar con un certificado que sea válido hasta el año 2033 como mínimo. Esto significa que los certificados emitidos por una entidad emisora de certificados conocida, que se recomiendan al aplicar una firma de AIR, no se deben utilizar para firmar una aplicación de Android. (Ninguna entidad emisora de certificados emite un certificado de firma de código con ese periodo de validez tan largo.)

output Nombre del archivo del paquete para crear. La especificación de la extensión del archivo es opcional. Si no se especifica, se añade una extensión adecuada al valor -target y al sistema operativo actual.

app_descriptor La ruta al archivo descriptor de la aplicación. La ruta se puede indicar en relación con el directorio actual o como ruta absoluta. (En el archivo de AIR el archivo descriptor de la aplicación cambia de nombre a application.xml.)

-platformsdk Ruta al SDK de la plataforma para el dispositivo de destino:
  • Android: el SDK de AIR 2.6+ incluye las herramientas del SDK de Android necesarias para implementar los comandos ADT pertinentes. Únicamente establezca este valor para utilizar una versión diferente del SDK de Android. Asimismo, no es necesario proporcionar la ruta del SDK de la plataforma en la línea de comandos si la variable del entorno AIR_ANDROID_SDK_HOME ya está establecida. (Si ambos están establecidos, se utiliza la ruta proporcionada en la línea de comandos.)

  • iOS: el SDK de AIR se suministra con SDK de iOS captador. La opción -platformsdk permite empaquetar aplicaciones con un SDK externo para no sufrir las restricciones del SDK de SDK captador. Por ejemplo, si ha creado una extensión con el último SDK de iOS, puede especificar dicho SDK cuando empaquete la aplicación. Además, si utiliza ADT con el simulador de iOS, también debe incluir la opción -platformsdk y especificar la ruta de acceso al SDK del simulador de iOS.

-archLos desarrolladores de aplicaciones pueden utilizar este argumento para crear APK para plataformas x86; toma los valores siguientes:

  • armv7: ADT empaqueta APK para la plataforma Android armv7.

  • x86: ADT empaqueta APK para la plataforma Android x86.

armv7 es el valor predeterminado si no se especifica ningún valor.

FILE_OPTIONS Identifica los archivos de la aplicación para incluir en el paquete. Las opciones del archivo se describen en su totalidad en Opciones de ruta y archivo. No especifique opciones de archivo al crear un paquete nativo desde un archivo de AIR o AIRI.

input_airi Se especifica al crear un paquete nativo desde un archivo de AIRI. AIR_SIGNING_OPTIONS es necesario si el destino es air (o no se especifica ningún destino).

input_air Se especifica al crear un paquete nativo desde un archivo de AIR. No especifique AIR_SIGNING_OPTIONS.

ANE_OPTIONS Identifica las opciones y archivos para crear un paquete de extensión nativa. Las opciones del paquete de extensión se describen detalladamente en Opciones de extensiones nativas.

Ejemplos del comando ADT -package

Empaquete los archivos de la aplicación específicos en el directorio actual para una aplicación de AIR basada en SWF:

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

Empaquete los archivos de la aplicación específicos en el directorio actual para una aplicación de AIR basada en HTML:

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

Empaquete todos los archivos y subdirectorios del directorio de trabajo actual:

adt –package -storetype pkcs12 -keystore ../cert.p12 myApp.air myApp.xml .
Nota: el archivo del almacén de claves contiene la clave privada que se utilizó para firmar la aplicación. No incluya nunca el certificado de firma en el paquete de AIR. Si utiliza comodines en el comando ADT, coloque el archivo del almacén de claves en otra carpeta para que no se incluya en el paquete. En este ejemplo el archivo del almacén de claves, cert.p12, reside en el directorio principal.

Empaquete solamente los principales archivos y un subdirectorio de imágenes:

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

Empaquete una aplicación basada en HTML y todos los archivos de los subdirectorios HTML, scripts e images:

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

Empaquete el archivo application.xml y el archivo SWF principal que se encuentran en un directorio de trabajo (release/bin):

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

Empaquete componentes procedentes de más de un lugar en el sistema de archivos de construcción. En este ejemplo, los componentes de la aplicación se encuentran en las siguientes carpetas antes de que se empaquetan:

/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

La ejecución del siguiente comando ADT desde el directorio /devRoot/myApp:

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

produce un paquete con la siguiente estructura:

/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

Ejecute ADT como programa Java para una aplicación sencilla basada en SWF (sin establecer la ruta de clase):

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

Ejecute ADT como programa Java para una aplicación sencilla basada en HTML (sin establecer la ruta de clase):

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

Ejecute ADT como programa de Java (con la ruta de clase de Java definida para incluir el paquete ADT.jar):

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

Ejecute ADT como tarea de Java en Apache Ant (aunque suele ser mejor usar el comando de ADT directamente en scripts Ant). Las rutas mostradas en el ejemplo son para 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>
Nota: en algunos sistemas informáticos, los caracteres de doble de las rutas del sistema de archivos se pueden malinterpretar. Si esto sucede, intente establecer JRE utilizado para ejecutar ADT para que se utilice el conjunto de caracteres UTF-8. Esto se realiza de forma predeterminada en el script utilizado para iniciar ADT en Mac y Linux. En el archivo adt.bat de Windows, o cuando ADT se ejecuta directamente desde Java, especifique la opción -Dfile.encoding=UTF-8 en la línea de comandos de Java.