ADT-opdracht voor verpakken

De opdracht -package moet worden uitgevoerd vanuit de hoofdmap van de toepassing. De opdracht gebruikt de volgende syntaxis:

Een AIR-pakket maken van het toepassingsbestand van het onderdeel:

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

Een native pakket maken van het toepassingsbestand van het onderdeel:

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

Maak een native pakket dat een native extensie van de toepassingsbestanden van het onderdeel bevat:

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 

Een native pakket maken van een AIR- of AIRI-bestand:

adt -package 
    -target packageType 
    NATIVE_SIGNING_OPTIONS 
    output 
    input_package

Een native extensiepakket maken op basis van de native extensiebestanden van de component:

adt -package 
    AIR_SIGNING_OPTIONS     
    -target ane 
    output 
    ANE_OPTIONS
Opmerking: het is niet nodig een ANE-bestand te ondertekenen, de AIR_SIGNING_OPTIONS-parameters in dit voorbeeld zijn dus optioneel.

AIR_SIGNING_OPTIONS In de AIR-ondertekeningsopties wordt het certificaat weergegeven waarmee een AIR-installatie kan worden ondertekend. De ondertekeningsopties worden volledig beschreven in ADT-opties voor codeondertekening.

-migrate Deze markering geeft op dat de toepassing is ondertekend met een migratiecertificaat als aanvulling op het certificaat dat is opgegeven in de AIR_SIGNING_OPTIONS-parameters. Deze markering is alleen geldig als u een bureaubladtoepassing als native installatieprogramma in een pakket plaatst en als de toepassing een native extensie gebruikt. In andere gevallen treedt er een fout op. De ondertekeningsopties voor het migratiecertificaat worden opgegeven als de MIGRATION_SIGNING_OPTIONS-parameters. Deze ondertekeningsopties worden volledig beschreven in ADT-opties voor codeondertekening. Door de markering -migrate te gebruiken, kunt u een update maken voor een bureaubladtoepassing als native installatieprogramma die een native extensie gebruikt en het certificaat voor codeondertekening voor de toepassing wijzigen, zoals wanneer het oorspronkelijke certificaat verloopt. Zie Een bijgewerkte versie van een AIR-toepassing ondertekenen. voor meer informatie.

De markering -migrate van de opdracht -package is beschikbaar in AIR 3.6 en later.

-target Het type pakket dat wordt gemaakt. De ondersteunde pakkettypen zijn:
  • air — een AIR-pakket. “air” is de standaardwaarde en de markering -target hoeft niet te worden opgegeven bij het maken van AIR- of AIRI-bestanden.

  • airn — een native toepassingspakket voor apparaten in het uitgebreide televisieprofiel.

  • ane —een native AIR-extensiepakket

  • Doelstellingen van het Android-pakket:

    • apk — een Android-pakket. Een pakket dat is gemaakt met dit doel, kan alleen worden geïnstalleerd op een Android-apparaat, niet op een emulator.

    • apk‑captive‑runtime — een Android-pakket met zowel de toepassing als een captive versie van de AIR-runtime. Een pakket dat is gemaakt met dit doel, kan alleen worden geïnstalleerd op een Android-apparaat, niet op een emulator.

    • apk-debug — een Android-pakket met extra informatie over foutopsporing. (De SWF-bestanden in de toepassing moeten ook worden gecompileerd met ondersteuning voor foutopsporing.)

    • apk-emulator — een Android-pakket voor gebruik op een emulator zonder ondersteuning voor foutopsporing. (Gebruik het doel apk-debug om foutopsporing toe te staan op emulators en apparaten.)

    • apk-profile — een Android-pakket dat de prestatie van de toepassing en het instellen van profielen voor geheugens ondersteunt.

  • Doelstellingen van het iOS-pakket:

    • ipa-ad-hoc — een iOS-pakket voor ad-hocdistributie.

    • ipa-app-store — een iOS-pakket voor distributie van Apple App store.

    • ipa-debug — een iOS-pakket met extra informatie over foutopsporing. (De SWF-bestanden in de toepassing moeten ook worden gecompileerd met ondersteuning voor foutopsporing.)

    • ipa-test — een iOS-pakket gecompileerd zonder informatie over optimalisatie of foutopsporing.

    • ipa-debug-interpreter: in functionaliteit equivalent aan een foutopsporingspakket, maar met snellere compilatiemogelijkheden. De ActionScript-bytecode wordt echter geïnterpreteerd en niet vertaald naar computercode. Als gevolg hiervan wordt de code in een interpreter-pakket langzamer uitgevoerd.

    • ipa-debug-interpreter-simulator: in functionaliteit equivalent aan ipa-debug-interpreter, maar ingepakt voor de iOS-simulator. Alleen Macintosh. Als u deze optie gebruikt, moet u ook de optie -platformsdk opnemen om het pad naar de iOS-simulator-SDK aan te duiden.

    • ipa-test-interpreter: in functionaliteit equivalent aan een testpakket, maar met snellere compilatiemogelijkheden. De ActionScript-bytecode wordt echter geïnterpreteerd en niet vertaald naar computercode. Als gevolg hiervan wordt de code in een interpreter-pakket langzamer uitgevoerd.

    • ipa-test-interpreter-simulator: in functionaliteit equivalent aan ipa-test-interpreter, maar ingepakt voor de iOS-simulator. Alleen Macintosh. Als u deze optie gebruikt, moet u ook de optie -platformsdk opnemen om het pad naar de iOS-simulator-SDK aan te duiden.

  • native — een native desktopinstallatieprogramma Het gemaakte bestandstype is de native installatie-indeling van het besturingssysteem waarop de opdracht is uitgevoerd:

    • EXE — Windows

    • DMG — Mac

    • DEB — Ubuntu Linux (AIR 2.6 of eerder)

    • RPM — Fedora of OpenSuse Linux (AIR 2.6 of eerder)

    Zie Een eigen bureaubladinstallatieprogramma verpakken voor meer informatie.

-sampler (alleen iOS, AIR 3.4 of hoger) Hiermee wordt de ActionScript-sampler op telemetriebasis ingeschakeld in iOS-toepassingen. Met deze markering kunt u een toepassingsprofiel instellen met Adobe Scout. Alhoewel u met Scout een profiel kunt instellen voor elke inhoud op een Flash-platform, krijgt u door de gedetailleerde telemetrie in te schakelen een beter inzicht in de timing van ActionScript-functies, DisplayList, Stage3D-rendering en andere aspecten. Opmerking: door deze markering in te schakelen worden de prestaties in geringe mate beïnvloed. Gebruik deze optie dus niet voor productietoepassingen.

-hideAneLibSymbols (alleen iOS, AIR 3.4 of hoger) Ontwikkelaars van toepassingen kunnen meerdere native extensies van meerdere bronnen gebruiken. Als de ANE's een algemene symboolnaam delen, genereert ADT de fout 'Duplicate symbol in object file' (Dubbel symbool in objectbestand). In sommige gevallen veroorzaakt deze fout een crash tijdens runtime. Met de optie hideAneLibSymbols kunt u aangegeven of de symbolen van de ANE-bibliotheek alleen zichtbaar zijn voor de bronnen van de desbetreffende bibliotheek (yes) of dat ze algemeen zichtbaar zijn (no):

  • yes — Verbergt ANE-symbolen en lost daardoor eventuele onbedoelde symboolconflicten op.

  • no — (Standaard) ANE-symbolen worden niet verborgen. Dit is het standaardgedrag bij AIR-versies die voorafgaan aan AIR 3.4.

-embedBitcode (alleen iOS, AIR 25 of hoger) App-ontwikkelaars kunnen met de optie embedBitcode aangeven of er al dan niet bitcode moet worden ingesloten in hun iOS-toepassing door 'ja' of 'nee' op te geven. De standaardwaarde van deze schakeloptie is 'no' als deze niet is opgegeven.

DEBUGGER_CONNECTION_OPTIONS De verbindingsopties voor foutopsporing bepalen of een foutopsporingspakket moet proberen te verbinden met een extern foutopsporingsprogramma dat wordt uitgevoerd op een andere computer of moet luisteren naar een verbinding met een extern foutopsporingsprogramma. Deze opties worden alleen ondersteund voor mobiele foutopsporingspakketten (gericht op apk-debug en ipa-debug). Deze opties worden beschreven in Verbindingsopties voor foutopsporing.

-airDownloadURL Geeft een alternatieve URL op voor het downloaden en installeren van de AIR-runtime op Android-apparaten. Als hier niets wordt opgegeven, leidt een AIR-toepassing de gebruiker om naar de AIR-runtime op Android Market als de runtime nog niet is geïnstalleerd.

Als uw toepassing via een andere markt (dan de door Google beheerde Android Market) wordt gedistribueerd, dient u wellicht de URL op te geven voor het downloaden van de AIR-runtime van de desbetreffende markt. Bepaalde alternatieve markten staan toepassingen niet toe een download van een externe markt te vereisen. Deze optie wordt alleen ondersteund voor Android-pakketten.

NATIVE_SIGNING_OPTIONS In de native ondertekeningsopties wordt het certificaat weergegeven dat wordt gebruikt om een native pakketbestand te ondertekenen. Deze ondertekeningsopties worden gebruikt om een handtekening toe te passen die wordt gebruikt door het native besturingssysteem, niet door de AIR-runtime. De opties zijn overigens identiek aan de AIR_SIGNING_OPTIONS en worden volledig beschreven in ADT-opties voor codeondertekening.

Native ondertekening wordt ondersteund door Windows en Android. Bij Windows dienen de AIR-ondertekeningsopties en de native ondertekeningsopties te worden opgegeven. Bij Android kunnen alleen de native ondertekeningsopties worden opgegeven.

In veel gevallen kunt u hetzelfde certificaat voor het ondertekenen van code gebruiken voor een native ondertekening en een AIR-ondertekening. Dit geldt echter niet in alle gevallen. In het Google-beleid voor toepassingen die zijn ingediend bij de Android Market wordt voorgeschreven dat alle toepassingen moeten worden ondertekend met een certificaat dat ten minste geldig is tot het jaar 2033. Dit betekent dat een certificaat dat door een bekende certificeringsinstantie wordt uitgegeven, wat wordt aanbevolen bij het toepassen van een AIR-ondertekening, niet mag worden gebruikt voor ondertekening van een Android-toepassing. (Er bestaan geen certificeringsinstanties die een certificaat voor het ondertekenen van code uitgeven met een geldigheidsperiode die zo lang duurt.)

output De naam van het te maken pakketbestand. Het opgeven van de bestandsextensie is optioneel. Als de extensie niet wordt opgegeven, wordt een extensie toegevoegd die geschikt is voor de waarde -target en het huidige besturingssysteem.

app_descriptor Het pad naar het descriptorbestand van de toepassing. Dit kan een relatief pad ten opzichte van de huidige map of een absoluut pad zijn. (De naam van het descriptorbestand van de toepassing wordt in het AIR-bestand gewijzigd in application.xml.)

-platformsdk Het pad naar de platform-SDK voor het doelapparaat:
  • Android: de AIR 2.6+ SDK bevat de hulpprogramma's van de Android-SDK die nodig zijn om de relevante ADT-opdrachten te implementeren. U moet deze waarde alleen instellen als u een andere versie van de Android-SDK wilt gebruiken. Bovendien hoeft het pad naar de platform-SDK niet in de opdrachtregel te worden opgegeven als de omgevingsvariabele AIR_ANDROID_SDK_HOME al is ingesteld. (Als beide mogelijkheden zijn ingesteld, wordt de in het pad opgegeven opdrachtregel gebruikt.)

  • iOS: de AIR-SDK wordt geleverd met een captive iOS-SDK. Met de optie -platformsdk kunt u toepassingen inpakken met een extern SDK, zodat u niet beperkt bent tot het gebruik van de captive iOS-SDK. Als u bijvoorbeeld een uitbreiding hebt gemaakt met de nieuwste iOS-SDK, kunt u die SDK opgeven bij het inpakken van uw toepassing. Bovendien geldt dat wanneer u ADT gebruikt met de iOS-simulator, u altijd de optie -platformsdk moet opnemen om het pad naar de iOS-simulator-SDK aan te duiden.

-archOntwikkelaars van apps kunnen dit argument gebruiken om APK voor x86-platforms te maken. Er zijn de volgende waarden:

  • armv7- ADT verpakt APK voor het Android armv7-platform.

  • x86 - ADT verpakt APK voor het Android x86-platform.

armv7 is de standaardwaarde wanneer geen waarde is opgegeven

FILE_OPTIONS Hiermee worden de toepassingsbestanden weergegeven die in het pakket moeten worden opgenomen. De bestandsopties worden volledig beschreven in Bestands- en padopties. U moet geen bestandsopties opgeven wanneer u een native pakket van een AIR- of AIRI-bestand maakt.

input_airi Opgeven als een native pakket van een AIRI-bestand wordt gemaakt. De AIR_SIGNING_OPTIONS worden vereist als het doel air is (of als geen doel is opgegeven).

input_air Opgeven als een native pakket van een AIR-bestand wordt gemaakt. AIR_SIGNING_OPTIONS niet opgeven.

ANE_OPTIONS Hiermee worden de opties en bestanden geïdentificeerd waarmee een native extensiepakket wordt gemaakt. De extensiepakketopties worden volledig beschreven in Opties voor native extensies.

Voorbeelden van de ADT-opdracht -package

Specifieke toepassingsbestanden in de huidige directory verpakken voor een AIR-toepassing op SWF-basis:

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

Specifieke toepassingsbestanden in de huidige directory verpakken voor een AIR-toepassing op HTML-basis:

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

Alle bestanden en submappen in de huidige werkmap in een pakket plaatsen:

adt –package -storetype pkcs12 -keystore ../cert.p12 myApp.air myApp.xml .
Opmerking: het sleutelarchiefbestand bevat de persoonlijke sleutel waarmee uw toepassing wordt ondertekend. Neem het handtekeningcertificaat nooit op in het AIR-pakket! Als u jokertekens gebruikt in de ADT-opdracht, plaatst u het sleutelarchiefbestand op een andere locatie, zodat het niet wordt opgenomen in het pakket. In dit voorbeeld bevindt het sleutelarchiefbestand, cert.p12, zich in de bovenliggende map.

Alleen de hoofdbestanden en een submap met afbeeldingen in een pakket plaatsen:

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

Een HTML-toepassing en alle bestanden in de submappen met HTML, scripts en afbeeldingen in een pakket plaatsen:

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

Het bestand application.xml en het SWF-hoofdbestand dat in een werkmap (release/bin) staat in een pakket plaatsen:

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

Assets vanuit meerdere plaatsen in uw gebouwde bestandssysteem in een pakket plaatsen. In dit voorbeeld bevinden de assets van de toepassing zich in de volgende mappen voordat ze in een pakket worden geplaatst:

/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

De volgende ADT-opdracht uitvoeren vanuit de map /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

Resultaten in de volgende pakketstructuur:

/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

ADT uitvoeren als een Java-programma voor een eenvoudige toepassing op SWF-basis (waarbij het klassepad niet wordt ingesteld):

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

ADT uitvoeren als een Java-programma voor een eenvoudige toepassing op HTML-basis (waarbij het klassepad niet wordt ingesteld):

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

ADT uitvoeren als een Java-programma (waarbij het pakket ADT.jar is opgenomen in het Java-klassepad):

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

ADT uitvoeren als een Java-taak in Apache Ant (alhoewel u de ADT-opdracht beter rechtstreeks kunt toepassen in Ant-scripts). De paden in het voorbeeld gelden voor 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>
Opmerking: bij bepaalde computersystemen kunnen double-bytetekens in het bestandssysteem onjuist worden geïnterpreteerd. Wanneer dit zich voordoet, kunt u de JRE die is gebruikt voor het uitvoeren van ADT, instellen om de tekenset UTF-8 te gebruiken. Dit kan standaard worden ingesteld in het script dat wordt gebruikt om ADT op Mac en Linux op te starten. In het adt.bat-bestand voor Windows (of wanneer u ADT rechtstreeks vanuit Java uitvoert), moet u de optie ‑Dfile.encoding=UTF-8 opgeven op de Java-opdrachtregel.