Android APK-paket

Skapa ett APK-paket

Om du vill skapa ett APK-paket använder du ADT-kommandot package och anger måltypen som apk för officiella versioner, apk-debug för felsökningsversioner eller apk-emulator för officiella versioner som ska köras på en emulator.

adt     -package 
                                -target apk 
                                -storetype pkcs12 -keystore ../codesign.p12 
                                myApp.apk 
                                myApp-app.xml 
                                myApp.swf icons

Skriv hela kommandot på en rad. Radbrytningarna i ovanstående exempel är bara för att det ska vara lättare att läsa. Exemplet förutsätter även att sökvägen till ADT-verktyget finns i kommandoradens sökvägsdefinition. (Läs Systemvariabeln path om du behöver mer hjälp.)

Du måste köra kommandot från den katalog som innehåller programfilerna. Programfilerna i exemplet är myApp-app.xml (programbeskrivningsfilen), myApp.swf och en ikonkatalog.

När du kör kommandot så som visas tillfrågas du om lösenordet för nyckelbehållaren i ADT. (De lösenordstecken du skriver visas inte. Tryck på Retur när du är klar.)

Obs! Som standard har alla AIR Android-program air. -prefixet i paketets namn. Ställ in systemvariabeln AIR_NOANDROIDFLAIR true på datorn om du vill ändra standardbeteendet.

Skapa ett APK-paket för ett program som använder ANE-tillägg

Om du vill skapa ett APK-paket för ett program där ANE-tillägg används, lägger du till -extdir -alternativet förutom de normala paketeringsalternativen. Om flera ANE delar resurser/bibliotek väljer ADT bara en enda resurs/bibliotek och ignorerar andra dubblettposter innan en varning aktiveras. Med detta alternativ anges katalogen som innehåller ANE-filerna som används i programmet. Till exempel:

adt     -package 
                                -target apk 
                                -storetype pkcs12 -keystore ../codesign.p12 
                                myApp.apk 
                                myApp-app.xml 
                                -extdir extensionsDir 
                                myApp.swf icons

Skapa ett APK-paket som innehåller en egen version av AIR-miljön

Om du vill skapa ett APK-paket som innehåller både program och en låst version av AIR-miljön, ska du använda målet apk-captive-runtime . Med detta alternativ anges katalogen som innehåller ANE-filerna som används i programmet. Till exempel:

adt     -package 
                                -target apk-captive-runtime 
                                -storetype pkcs12 -keystore ../codesign.p12 
                                myApp.apk 
                                myApp-app.xml 
                                myApp.swf icons

Tänkbara nackdelar på denna teknik är:

  • Allvarliga säkerhetskorrigeringar är inte automatiskt tillgängliga för användare när Adobe publicerar en säkerhetsuppdatering

  • Större utrymme för program på disken krävs

Obs! När du paketerar miljön läggs behörigheterna INTERNET och BROADCAST_STICKY automatiskt till i ditt program. Dessa behörigheter är obligatoriska för AIR-miljön.

Skapa ett APK-felsökningspaket

Om du vill skapa en version av programmet som du kan använda med en felsökare använder du apk-debug som mål och anger anslutningsalternativ:

adt     -package 
                                -target apk-debug 
                                -connect 192.168.43.45 
                                -storetype pkcs12 -keystore ../codesign.p12 
                                myApp.apk 
                                myApp-app.xml 
                                myApp.swf icons

Flaggan -connect talar om för AIR-miljön på enheten var i nätverket fjärrfelsökaren finns. Om du vill felsöka via USB måste du ange flaggan -listen i stället och ange den TCP-port som ska användas för felsökningsanslutningen:

adt     -package 
                                -target apk-debug 
                                -listen 7936 
                                -storetype pkcs12 -keystore ../codesign.p12 
                                myApp.apk 
                                myApp-app.xml 
                                myApp.swf icons

De flesta felsökningsfunktioner kräver dessutom att du kompilerar programmets SWF- och SWC-filer med felsökning aktiverat. Avsnittet Anslutningsalternativ för felsökning innehåller en fullständig beskrivning av flaggorna -connect och -listen .

Obs! I ADT förpackas som standard en låst kopia av AIR-miljön tillsammans med din Android-app medan appen förpackas med målet apk-debug. Om du vill framtvinga ADT att skapa en APK, som använder en intern miljö, anger du att miljövariabeln AIR_ANDROID_SHARED_RUNTIME ska vara true .

På Android måste programmet även ha behörighet att komma åt Internet för att ansluta till den dator som kör felsökaren i nätverket. Läs mer i Android-behörigheter .

Skapa ett APK-paket som ska användas på en Android-emulator

Du kan använda ett APK-felsökningspaket på en Android-emulator, men inte ett paket med en officiell version. Om du vill skapa ett officiellt APK-paket som ska användas på en emulator använder du ADT-kommandot package och anger måltypen som apk-emulator :

adt -package -target apk-emulator -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp-app.xml myApp.swf icons

Exemplet förutsätter att sökvägen till ADT-verktyget finns i kommandoradens sökvägsdefinition. (Läs Systemvariabeln path om du behöver mer hjälp.)

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

Du kan skapa ett APK-paket direkt från en befintlig AIR- eller AIRI-fil:

adt -target apk -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp.air

AIR-filen måste använda AIR 2.5-namnutrymmet (eller senare) i programbeskrivningsfilen.

Skapa ett APK-paket för Android x86-plattformen

Från och med AIR 14, kan argumentet -arch användas för att förpacka en APK för Android x86-plattformen. Till exempel:

    adt     -package 
                                -target apk-debug 
                                -listen 7936 
                                -arch x86 
                                -storetype pkcs12 -keystore ../codesign.p12 
                                myApp.apk 
                                myApp-app.xml 
                                myApp.swf icons