ADT-kommandot package

Kommandot -package bör köras från huvudprogramkatalogen. Kommandot har följande syntaxer:

Skapa ett AIR-paket från komponentens programfiler:

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

Skapa ett systemspecifikt paket från komponentens programfiler:

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

Skapa ett systemspecifikt paket som innehåller ett systemspecifikt tillägg från komponentens programfiler:

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 

Skapa ett systemspecifikt paket från en AIR- eller AIRI-fil:

adt -package 
    -target packageType 
    NATIVE_SIGNING_OPTIONS 
    output 
    input_package

Skapa ett systemspecifikt tilläggspaket av komponentens ANE-tilläggsfiler:

adt -package 
    AIR_SIGNING_OPTIONS     
    -target ane 
    output 
    ANE_OPTIONS
Obs! Du behöver inte signera en ANE-fil, så parametern AIR_SIGNING_OPTIONS är valfri i detta exempel.

AIR_SIGNING_OPTIONS Signeringsalternativen för AIR identifierar det certifikat som används för att signera en AIR-installationsfil. Signeringsalternativen beskrivs ingående i ADT-kodsigneringsalternativ .

-migrate Den här flaggan anger att programmet signeras med ett flyttningscertifikat utöver det certifikat som anges i parametrarna AIR_SIGNING_OPTIONS . Den här flaggan är bara giltig om du paketerar ett skrivbordsprogram som ett systemspecifikt installationsprogram och programmet använder ett systemspecifikt tillägg. I andra fall genereras ett fel. Signeringsalternativen för flyttningscertifikatet anges som MIGRATION_SIGNING_OPTIONS -parametrar. Dessa signeringsalternativ beskrivs ingående i ADT-kodsigneringsalternativ . Med flaggan -migrate kan du skapa en uppdatering för ett systemspecifikt installationsprogram för ett skrivbordsprogram som använder ett systemspecifikt tillägg och ändra programmets kodsigneringscertifikat, som när det ursprungliga certifikatet upphör att gälla. Du hittar mer information i Signera en uppdaterad version av ett AIR-program .

Flaggan -migrate i kommandot -package finns i AIR 3.6 och senare versioner.

-target Den typ av paket som ska skapas. De pakettyper som stöds är:
  • air – Ett AIR-paket. ”air” är standardvärdet, och flaggan -target behöver inte anges när du skapar AIR- eller AIRI-filer.

  • airn – Ett systemspecifikt programpaket för enheter i den utökade tv-profilen.

  • ane – Ett ANE-tilläggspaket (AIR Native Extension).

  • Mål för Android-paket:

    • apk – Ett Android-paket. Ett paket som skapas med det här målet kan bara installeras på en Android-enhet, inte på en emulator.

    • apk‑captive‑runtime – ett Android-paket som innehåller både programmet och en låst version AIR-miljön. Ett paket som skapas med det här målet kan bara installeras på en Android-enhet, inte på en emulator.

    • apk-debug – Ett Android-paket med extra felsökningsinformation. (Även SWF-filerna i programmet måste kompileras med felsökningsstöd.)

    • apk-emulator – Ett Android-paket för användning på en emulator utan felsökningsstöd. (Använd målet apk-debug om du vill tillåta felsökning på både emulatorer och enheter.)

    • apk-profile – Ett Android-paket med stöd för programprestanda och minnesprofilering.

  • Mål för iOS-paket:

    • ipa-ad-hoc – Ett iOS-paket för ad hoc-distribution.

    • ipa-app-store – Ett iOS-paket för Apple App Store-distribution.

    • ipa-debug – Ett iOS-paket med extra felsökningsinformation. (Även SWF-filerna i programmet måste kompileras med felsökningsstöd.)

    • ipa-test – Ett iOS-paket som kompilerats utan optimering eller felsökningsinformation.

    • ipa-debug-interpreter – funktionell motsvarighet till ett felsökningspaket, men med snabbare kompilering. Dock kommer ActionScript-bytekod att tolkas och inte översättas till maskinkod. Detta medför att kodkörningen är långsammare i ett tolkat paket.

    • ipa-debug-interpreter-simulator – funktionell motsvarighet till ipa-debug-interpreter, men förpackad för iOS-simulatorn. Endast Macintosh. Om du använder detta alternativ måste du även inkludera alternativet -platformsdk genom att ange sökvägen till SDK:n för iOS-simulatorn.

    • ipa-test-interpreter – funktionell motsvarighet till ett testpaket, men med snabbare kompilering. Dock kommer ActionScript-bytekod att tolkas och inte översättas till maskinkod. Detta medför att kodkörningen är långsammare i ett tolkat paket.

    • ipa-test-interpreter-simulator – funktionell motsvarighet till ipa-test-interpreter, men förpackad för iOS-simulatorn. Endast Macintosh. Om du använder detta alternativ måste du även inkludera alternativet -platformsdk genom att ange sökvägen till SDK:n för iOS-simulatorn.

  • native – Ett systemspecifikt installationsprogram för stationära datorer. Vilken typ av fil som skapas beror på vilket operativsystem kommandot körs på (filen får systemets installationsformat):

    • EXE – Windows

    • DMG – Mac

    • DEB – Ubuntu Linux (AIR 2.6 eller tidigare)

    • RPM – Fedora eller OpenSuse Linux (AIR 2.6 eller senare)

    Du hittar mer information i Paketera ett systemspecifikt installationsprogram för skrivbordet .

-sampler (endast iOS, AIR 3.4 eller senare) Aktiverar den telemetribaserade ActionScript-samplern i iOS-program. Om du använder denna flagga kan du profilera programmet med Adobe Scout. Även om Scout kan profilera allt innehåll på Flash-plattformar kan du med telemetri få bättre inblick i hur anpassning, DisplayList, Stage3D-återgivning och annat fungerar i ActionScript-funktioner. Observera att denna flagga kommer att påverka prestandan något, så använd den inte i produktionsfärdiga program.

-hideAneLibSymbols (endast iOS, AIR 3.4 och senare) Programutvecklare kan använda flera ANE-tillägg från flera källor och om ANE-tilläggen delar ett gemensamt symbolnamn, kommer ADT att generera felet "duplicerad symbol i objektfil”. I vissa fall kan detta fel manifesteras som en krasch under körningen. Du kan använda alternativet hideAneLibSymbols för att göra eller inte göra ANE-bibliotektetsymboler synliga endast för det bibliotekets källor (yes) eller synliga globalt (no):

  • yes – Döljer ANE-symboler vilket löser eventuella problem med oönskade symbolkonflikter.

  • no – (standard) ANE-symboler döljs inte. Detta var vad som gällde före AIR 3.4.

-embedBitcode (endast iOS, AIR 25 och senare) Programutvecklare kan använda alternativet embedBitcode för att ange om bitkod ska bäddas in i iOS-programmet eller inte genom att ange detta som yes eller no. Standardvärdet för den här växeln är no om inget annat anges.

DEBUGGER_CONNECTION_OPTIONS Med anslutningsalternativen för felsökning anger du om ett felsökningspaket ska försöka ansluta till en fjärrfelsökare som körs på en annan dator eller lyssna efter en anslutning från en fjärrfelsökare. De här alternativen stöds bara för mobilfelsökningspaket (med målen apk-debug och ipa-debug). Alternativen beskrivs i Anslutningsalternativ för felsökning .

-airDownloadURL Anger en alternativ webbadress för att hämta och installera AIR-miljön på Android-enheter. Om detta inte anges dirigeras användaren om till AIR-miljön på Android Market om miljön inte redan har installerats.

Om ditt program distribueras via en annan plats (annan än Android Market, som administreras av Google) kanske du måste ange webbadressen för hämtning av AIR-miljön från den platsen. På vissa andra platser tillåts inte att program kräver hämtning från externa platser. Det här alternativet stöds bara för Android-paket.

NATIVE_SIGNING_OPTIONS De systemspecifika signeringsalternativen identifierar det certifikat som används för att signera en systemspecifik paketfil. De här signeringsalternativen används för att tillämpa en signatur som används av det inbyggda operativsystemet, inte av AIR-miljön. Alternativen är i övrigt identiska med AIR_SIGNING_OPTIONS och beskrivs detaljerat i ADT-kodsigneringsalternativ .

Systemspecifika signaturer stöds på Windows och Android. På Windows bör både signeringsalternativen för AIR och de systemspecifika signeringsalternativen anges. På Android kan bara systemspecifika signeringsalternativ anges.

Ofta kan du använda samma kodsigneringscertifikat för både en AIR-signatur och en systemspecifik signatur. Det finns emellertid undantag. Till exempel anger Googles policy för program som skickas till Android Market att alla program måste signeras med ett certifikat som är giltigt till minst år 2033. Det innebär att ett certifikat som utfärdats av en välkänd certifikatutfärdare, vilket rekommenderas för AIR-signaturer, inte bör användas för att signera ett program för Android. (Det finns inga certifikatutfärdare som utfärdar kodsigneringscertifikat med så lång giltighet.)

output Namnet på den paketfil som ska skapas. Du kan ange filtillägget eller inte, det är valfritt. Om du inte anger det läggs ett tillägg som passar värdet på -target och det aktuella operativsystemet till.

app_descriptor Sökvägen till programbeskrivningsfilen. Sökvägen kan anges i förhållande till aktuell katalog eller som en absolut sökväg. (Programbeskrivningsfilen byter namn till application.xml i AIR-filen.)

-platformsdk Sökvägen till plattformens SDK för målenheten:
  • Android – AIR 2.6+ SDK innehåller de verktyg från Android SDK som behövs för att implementera relevanta ADT-kommandon. Ange bara det här värdet om du vill använda en annan version av Android SDK. Om systemvariabeln AIR_ANDROID_SDK_HOME redan har angetts behöver sökvägen till plattforms-SDK inte anges på kommandoraden. (Om båda anges används den sökväg som anges på kommandoraden.)

  • iOS – AIR SDK levereras med ett låst iOS SDK. Alternativet -platformsdk använder du för att förpacka program med en extern SDK så att du inte blir begränsad till att använda det iOS SDK som är låst. Om du till exempel har skapat ett tillägg med den senaste iOS SDK:n kan du ange detta SDK när du paketerar programmet. Dessutom när du använder ADT med iOS-simulatorn måste du alltid inkludera alternativet -platformsdk för att ange sökvägen till SDK:n för iOS-simulatorn.

-arch Programutvecklare kan använda detta argument för att skapa en APK för x86-plattformar och följande värden kan användas:

  • armv7 - ADT förpackar APK för Android armv7-plattformen.

  • x86 - ADT förpackar APK för Android x86-plattformen.

armv7 är standard när inget värde anges

FILE_OPTIONS Identifierar de programfiler som ska inkluderas i paketet. Filalternativen beskrivs mer ingående i Alternativ för filer och sökvägar . Ange inte filalternativ när du skapar systemspecifika paket från en AIR- eller AIRI-fil.

input_airi Ange detta när du skapar ett systemspecifikt paket från en AIRI-fil. Du måste ange AIR_SIGNING_OPTIONS om målet är air (eller om inget mål anges).

input_air Ange detta när du skapar ett systemspecifikt paket från en AIR-fil. Ange inte AIR_SIGNING_OPTIONS.

ANE_OPTIONS Identifierar alternativ och filer för att skapa ett systemspecifikt tilläggspaket. Alternativen för tilläggspaketet beskrivs tillfullo i Alternativ för ANE (Native Extension) .

Exempel på kommandon för ADT-paket

Paketspecifika programfiler i den aktuella katalogen för ett SWF-baserat AIR-program:

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

Paketspecifika programfiler i den aktuella katalogen för ett HTML-baserat AIR-program:

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

Paketera alla filer och underkataloger i den aktuella arbetskatalogen:

adt –package -storetype pkcs12 -keystore ../cert.p12 myApp.air myApp.xml .
Obs! Nyckelfilen som innehåller den privata nyckel som används för att signera programmet. Ta aldrig med signeringscertifikatet i AIR-paketet! Om du använder jokertecken i ADT-kommandot placerar du nyckelfilen på en annan plats så att den inte tas med i paketet. I det här exemplet finns nyckelfilen cert.p12 i den överordnade katalogen.

Paketera bara huvudfilerna och en bildunderkatalog:

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

Paketera ett HTML-baserat program och alla filer i HTML, skript och bildunderkataloger:

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

Paketera programmets XML-fil och huvud-SWF-fil som finns i en arbetskatalog (release/bin):

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

Paketera resurser från mer än en plats i byggfilsystemet. I det här exemplet finns programresurserna i följande mappar före paketeringen:

/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

Om du kör följande ADT-kommando från katalogen /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

Leder detta till följande paketstruktur:

/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

Kör ADT som ett Java-program för ett enkelt SWF-baserat program (utan att ange klassökväg):

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

Kör ADT som ett Java-program för ett enkelt HTML-baserat program (utan att ange klassökväg):

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

Köra ADT som ett Java-program (med Java classpath inställt på att inkludera paketet ADT.jar):

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

Kör ADT som ett Java-program i Apache Ant (trots att det vanligtvis är bäst att använda ADT-kommandot direkt i Ant-skriptet). Sökvägen som visas i exemplet gäller för 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>
Obs! På vissa system kan dubbelbytetecken i filsystemsökvägar feltolkas. Om detta händer provar du med att ange teckenuppsättningen UTF-8 för den JRE-version som används för att köra ADT. Detta utförs som standard i det skript som används för att starta ADT på Mac och Linux. I Windows-filen adt.bat, eller om du kör ADT direkt från Java, anger du alternativet -Dfile.encoding=UTF-8 på Java-kommandoraden.