Packages APK Android

Création d’un package APK

Pour créer un package APK, utilisez la commande ADT package et définissez le type de cible sur apk pour les versions validées, sur apk-debug pour les versions de débogage et sur apk-emulator pour les versions en mode de validation à exécuter sur un émulateur.

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

Saisissez la commande entière sur une ligne unique. Les sauts de ligne que contient l’exemple ci-dessus ont pour unique objet de faciliter la lecture. Par ailleurs, l’exemple part du principe que le chemin d’accès à l’outil ADT figure dans la définition path de l’interface de commande de ligne de commande. (Pour plus d’informations, voir Variables d’environnement path.)

Vous devez exécuter la commande à partir du répertoire qui contient les fichiers de l’application. Dans l’exemple illustré, les fichiers de l’application sont myApp-app.xml (fichier descripteur de l’application), myApp.swf et un répertoire d’icônes.

Si vous exécutez la commande comme indiqué, l’outil ADT vous invite à entrer le mot de passe associé au keystore. (Les caractères du mot de passe saisis ne sont pas affichés. Appuyez simplement sur Entrée une fois la saisie terminée.)

Remarque : Par défaut, toutes les applications AIR Android disposent d’Air. préfixe du nom du package. Pour désactiver ce comportement par défaut, définissez la variable d’environnement AIR_NOANDROIDFLAIR sur true depuis votre ordinateur.

Création d’un package APK pour une application faisant appel à des extensions natives

Pour créer un package APK pour une application ayant recours aux extensions natives, ajoutez l’option -extdir aux options de mise en package standard. Dans le cas de fichiers ANE qui partagent des ressources/bibliothèques, l’outil ADT sélectionne une seule ressource/bibliothèque et ignore les autres entrées en double avant de générer un avertissement. Cette option spécifie le répertoire contenant les fichiers ANE auxquels fait appel l’application. Exemple :

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

Création d’un package APK incluant sa propre version du moteur d’exécution d’AIR

Pour créer un package APK contenant l’application et une version captive du moteur d’exécution d’AIR, utilisez la cible apk-captive-runtime. Cette option spécifie le répertoire contenant les fichiers ANE auxquels fait appel l’application. Exemple :

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

Cette technique peut présenter les inconvénients suivants :

  • Principaux correctifs de sécurité publiés par Adobe non automatiquement disponibles aux utilisateurs

  • Plus grande empreinte RAM de l’application

Remarque : lorsque vous intégrez le moteur d’exécution, ADT ajoute les autorisations INTERNET et BROADCAST_STICKY à votre application. Ces autorisations sont requises par le moteur d’exécution d’AIR.

Création d’un package APK de débogage

Pour créer une version de l’application à utiliser avec un débogueur, utilisez la cible apk-debug et spécifiez les options de connexion :

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

L’indicateur -connect indique au moteur d’exécution d’AIR du périphérique où se connecter à un débogueur distant via le réseau. Pour effectuer un débogage via USB, vous devez spécifier l’indicateur -listen en stipulant le port TCP à utiliser pour la connexion de débogage :

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

Pour que la plupart des fonctionnalités de débogage fonctionnent, vous devez également compiler les fichiers SWF et SWC de l’application en activant le débogage. Voir Options de connexion au débogueur pour obtenir une description complète des indicateurs -connect et -listen.

Remarque : Par défaut, ADT met en package une copie captive du moteur d’exécution d’AIR avec votre application Android lors de la création du package de l’application avec la cible apk-debug. Pour forcer l’outil ADT à créer un package APK qui utilise un moteur d’exécution externe, définissez la variable d’environnement AIR_ANDROID_SHARED_RUNTIME sur true.

Sous Android, l’application doit également être autorisée à accéder à Internet pour pouvoir se connecter à l’ordinateur qui exécute le débogueur via le réseau. Voir Autorisations Android.

Création d’un package APK à utiliser sur un émulateur Android

Vous pouvez utiliser un package de débogage APK sur un émulateur Android, mais non un package en mode de validation. Pour créer un package APK en mode de validation à utiliser sur un émulateur, faites appel à la commande ADT package et définissez le type de cible sur apk-emulator :

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

L’exemple part du principe que le chemin d’accès à l’outil ADT figure dans la définition path de l’interface de commande de ligne de commande. (Pour plus d’informations, voir Variables d’environnement path.)

Création d’un package APK à partir d’un fichier AIR ou AIRI

Vous pouvez créer un package APK directement à partir d’un fichier AIR ou AIRI existant :

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

Le fichier AIR doit utiliser l’espace de noms AIR 2.5 (ou ultérieur) dans le fichier descripteur d’application.

Création d’un package APK pour la plate-forme Android x86

A partir d’AIR 14, l’argument, -arch, peut être utilisé pour mettre en package APK pour la plate-forme Android x86. Exemple :

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