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:
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