APK-pakketen van Android

APK-pakketten maken

Als u een APK-pakket wilt maken, kunt u de ADT-opdracht package maken en stelt u het doeltype in op apk voor releasebuilds, apk-debug voor builds voor foutopsporing of apk-emulator voor builds voor de release-modus als een emulator wordt gebruikt.

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

Typ de volledige opdracht op één regel. Er zijn uitsluitend regeleinden in het bovenstaande voorbeeld aanwezig om het beter leesbaar te maken. Bovendien wordt er in het voorbeeld van uitgegaan dat het pad naar het ADT-hulpprogramma zich in de paddefinitie van de opdrachtregel-shell bevindt. (Zie Omgevingsvariabelen van het pad voor uitleg.)

U moet de opdracht uitvoeren in de map met de toepassingsbestanden. De toepassingsbestanden in het voorbeeld zijn myApp-app.xml (het descriptorbestand van de toepassing), myApp.swf en een map met pictogrammen.

Wanneer u volgens het voorbeeld de opdracht uitvoert, wordt u door ADT gevraagd het keystore-wachtwoord in te voeren. (De tekens waaruit het wachtwoord bestaat, worden niet weergegeven. U kunt op Enter drukken als u het wachtwoord hebt getypt.)

Opmerking: Standaard hebben alle AIR Android-toepassingen het voorvoegsel air. in de naam van het pakket. Als u dit standaardgedrag niet wilt toepassen, moet u de omgevingsvariabele AIR_NOANDROIDFLAIR op uw computer instellen op true.

Een APK-pakket maken voor een toepassing die gebruikmaakt van native extensies

Als u een APK-pakket wilt maken voor een toepassing die native extensies gebruikt, voegt u de naast de gebruikelijke pakketopties ook de optie -extdir toe. In het geval van meerdere ANE's die bronnen/bibliotheken delen, kiest de ADT slechts één bron/bibliotheek en worden andere dubbele vermeldingen genegeerd voordat een waarschuwingsbericht wordt verzonden. Met deze optie geeft u de map op met de ANE-bestanden die de toepassing gebruikt. Bijvoorbeeld:

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

Een APK-pakket met een eigen versie van de AIR-runtime maken

Als u een APK-pakket met zowel de toepassing als een captive versie van de AIR-runtime wilt maken, gebruikt u het doel apk-captive-runtime. Met deze optie geeft u de map op met de ANE-bestanden die de toepassing gebruikt. Bijvoorbeeld:

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

Mogelijke nadelen van deze techniek bevatten:

  • Belangrijke beveiligingscorrecties staan niet automatisch ter beschikking van gebruikers als Adobe een beveiligingspatch publiceert

  • Groter RAM-verbruik door toepassing

Opmerking: wanneer u de runtime bundelt, voegt ADT de machtigingen INTERNET en BROADCAST_STICKY toe aan uw toepassing. Deze machtigingen zijn vereist door de AIR-runtime.

APK-pakketten voor foutopsporing maken

Voor het maken van een versie van de toepassing die u in combinatie met een foutopsporingsprogramma kunt gebruiken, kunt u apk-debug gebruiken als het doel en verbindingsopties opgeven:

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

Met de markering -connect wordt aan de AIR-runtime aangegeven met welk apparaat verbinding moet worden gemaakt met een extern foutopsporingsprogramma in het netwerk. Als u fouten via USB wilt opsporen, moet u in plaats daarvan de markering -listen opgeven, waarbij de TCP-poort wordt opgegeven voor de verbinding voor foutopsporing:

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

Voor het functioneren van de meeste foutopsporingsfuncties moet u ook de toepassings-SWF's en -SWC's compileren met de foutopsporingsfunctie ingeschakeld. Zie Verbindingsopties voor foutopsporing voor een volledige beschrijving van de markeringen -connect en -listen.

Opmerking: Wanneer u een app verpakt met het doel APK-debug, verpakt ADT standaard een 'captive' exemplaar van de AIR-runtime software bij uw Android-app. Als u ADT wilt foceren om een APK te maken die een externe runtime gebruikt, stelt u de AIR_ANDROID_SHARED_RUNTIME-omgevingsvariabele in op true.

Bij Android moet een er voor een toepassing ook toestemming worden gegeven voor toegang tot internet, om verbinding te maken met de computer die de foutopsporing op het netwerk uitvoert. Zie Android-machtigingen.

APK-pakketten maken voor gebruik op een Android-emulator

U kunt een APK-pakket voor foutopsporing gebruiken op een Android-emulator, maar geen pakket in de releasemodus. Als u een APK-pakket in de releasemodus wilt maken voor gebruik op een emulator, moet u de ADT-opdracht package gebruiken, waarmee het doeltype wordt ingesteld op apk-emulator:

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

In het voorbeeld wordt ervan uitgegaan dat het pad van het ADT-hulpprogramma zich op de pad-definitie van de shell van uw opdrachtregel bevindt. (Zie Omgevingsvariabelen van het pad voor uitleg.)

APK-pakketten maken van een AIR- of AIRI-bestand

U kunt een APK-pakket direct van een bestaand AIR- of AIRI-bestand maken:

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

Het AIR-bestand moet gebruikmaken van de naamruimte in het toepassingsdescriptorbestand van AIR 2.5 (of later).

APK-pakketten maken voor het Android x86-platform

Vanaf AIR 14 kan het argument,-arch worden gebruikt om een APK voor het Android x86-platform te verpakken. Bijvoorbeeld:

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