Anda di halaman 1dari 328

Cration dapplications ADOBE AIR

Informations juridiques

Informations juridiques
Vous trouverez des informations juridiques ladresse http://help.adobe.com/fr_FR/legalnotices/index.html.

Dernire mise jour le 6/3/2017


iii

Sommaire
Chapitre 1 : A propos dAdobe AIR

Chapitre 2 : Installation dAdobe AIR


Installation dAdobe AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Dsinstallation dAdobe AIR ........................................................................................... 5
Installation et excution des exemples dapplication AIR ................................................................ 5
Mises jour dAdobe Air ............................................................................................... 6

Chapitre 3 : Utilisation des API AIR


Classes ActionScript 3.0 propres AIR .................................................................................. 7
Classes Flash Player contenant des fonctionnalits propres AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Composants Flex propres AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Chapitre 4 : Outils de la plate-forme Adobe Flash pour le dveloppement AIR


Installation du kit de dveloppement SDK AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Configuration du kit SDK Flex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Configuration de kits SDK externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Chapitre 5 : Cration dune premire application AIR


Cration dune premire application de bureau AIR Flex dans Flash Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Cration dune premire application de bureau AIR dans Flash Professional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Cration dune premire application AIR for Android dans Flash Professional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Cration dune premire application AIR for iOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Cration dune premire application AIR de type HTML dans Dreamweaver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Cration dune premire application AIR de type HTML laide du kit SDK dAIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Cration dune premire application de bureau AIR laide du kit SDK de Flex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Cration dune premire application AIR for Android laide du kit SDK de Flex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Chapitre 6 : Dveloppement dapplications de bureau AIR


Flux de travail de dveloppement dune application de bureau AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Dfinition des proprits dune application de bureau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Dbogage dune application de bureau AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Mise en package dun fichier dinstallation AIR de bureau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Mise en package dun programme dinstallation natif de bureau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Mise en package dun paquet de moteur dexcution captif pour des ordinateurs de bureau . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Distribution dun package AIR pour ordinateur de bureau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Chapitre 7 : Dveloppement dapplications AIR pour priphriques mobiles


Configuration de lenvironnement de dveloppement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Considrations lies la conception dapplications mobiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Flux de travail de cration dune application AIR pour priphriques mobiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Dfinition des proprits dune application mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Mise en package dune application AIR mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Dbogage dune application AIR mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR iv
Sommaire

Installation dAIR et dapplications AIR sur un priphrique mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114


Mise jour des applications AIR mobiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Utilisation des notifications Push . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

Chapitre 8 : Dveloppement dapplications AIR pour priphriques TV


Fonctionnalits AIR propres aux tlviseurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Considrations prendre en compte lors de la cration dune application AIR pour TV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Flux de travail de dveloppement dune application AIR pour TV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Proprits du descripteur de lapplication AIR pour TV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Mise en package dune application AIR pour TV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Dbogage dapplications AIR pour TV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

Chapitre 9 : Utilisation dextensions natives pour Adobe AIR


Fichiers AIR Native Extension (ANE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Extensions natives ou classe NativeProcess ActionScript ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Extensions natives ou bibliothques de classes ActionScript (fichiers SWC) ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Priphriques pris en charge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Profils de priphrique pris en charge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Liste de tches pour lutilisation dune extension native . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Dclaration de lextension dans le fichier descripteur de lapplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Ajout du fichier ANE au chemin daccs la bibliothque de lapplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Mise en package dune application faisant appel des extensions natives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

Chapitre 10 : Compilateurs ActionScript


Prsentation des outils de ligne de commande dAIR intgrs au kit SDK Flex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Configuration des compilateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Compilation de fichiers sources MXML et ActionScript pour AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Compilation dun composant ou dune bibliothque de code AIR (Flex) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

Chapitre 11 : Application de dbogage du lanceur AIR (ADL)


Utilisation de lapplication ADL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Exemples ADL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Codes derreur et de sortie dADL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

Chapitre 12 : Outil AIR Developer (ADT)


Commandes de loutil ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Ensembles doptions ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Messages derreur du programme ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Variables denvironnement ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

Chapitre 13 : Signature dapplications AIR


Signature numrique dun fichier AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Cration dun fichier AIR intermdiaire non sign laide de loutil ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Signature dun fichier intermdiaire AIR laide de loutil ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Signature dune version mise jour dune application AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Cration dun certificat auto-sign laide de loutil ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR v
Sommaire

Chapitre 14 : Fichiers descripteurs dapplications AIR


Modifications apportes au fichier descripteur dapplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Structure du fichier descripteur dapplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
lments du fichier descripteur dapplication AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

Chapitre 15 : Profils de priphrique


Limitation des profils cible dans le fichier descripteur de lapplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Fonctionnalits des diffrents profils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260

Chapitre 16 : API intgre au navigateur et stocke dans le fichier AIR.SWF


Personnalisation du fichier badge.swf de linstallation transparente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Utilisation du fichier badge.swf pour installer une application AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Chargement du fichier air.swf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Vrification de la prsence du moteur dexcution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Vrification partir dune page Web de la prsence dune application AIR installe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Installation dune application AIR partir du navigateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Lancement dune application AIR installe partir du navigateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

Chapitre 17 : Mise jour des applications AIR


A propos de la mise jour des applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Prsentation dune interface utilisateur personnalise pour la mise jour dapplications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Tlchargement dun fichier AIR sur lordinateur de lutilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Vrifications permettant de savoir si lapplication est excute pour la premire fois . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Utilisation de la structure de mise jour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280

Chapitre 18 : Affichage du code source


Chargement, configuration et ouverture de Source Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Interface utilisateur de Source Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

Chapitre 19 : Dbogage laide de loutil AIR HTML Introspector


Prsentation de loutil AIR HTML Introspector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Chargement du code de loutil AIR HTML Introspector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Inspection dun objet dans longlet Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Configuration de loutil AIR HTML Introspector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Interface de loutil AIR HTML Introspector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Utilisation de loutil AIR HTML Introspector avec du contenu dun sandbox hors application . . . . . . . . . . . . . . . . . . . . . . . . . . . 307

Chapitre 20 : Localisation dapplications AIR


Localisation du nom et de la description de lapplication dans le programme dinstallation de lapplication dAIR . . . . . . . 310
Localisation de contenu HTML laide de la structure de localisation HTML dAIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310

Chapitre 21 : Variables denvironnement path


Dfinition de PATH sous Linux et Mac OS laide de linterface de commande Bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Dfinition de la variable denvironnement path sous Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322

Dernire mise jour le 6/3/2017


1

Chapitre 1 : A propos dAdobe AIR


Adobe AIR est un moteur dexcution grant plusieurs systmes dexploitation et crans, qui permet dexploiter vos
comptences en matire de dveloppement Web pour dvelopper et dployer des applications Internet enrichies (RIA)
destines aux ordinateurs de bureau et priphriques mobiles. Vous pouvez crer des applications AIR de bureau, pour
tlvisions et priphriques mobiles en ActionScript 3.0 laide dAdobe Flex et dAdobe Flash (type SWF). Vous
pouvez galement crer des applications AIR de bureau par le biais de HTML, JavaScript et Ajax (type HTML).
Pour plus dinformations sur la prise en main et lutilisation dAdobe AIR, voir le site Adobe AIR Developer
Connection (http://www.adobe.com/devnet/air/).
AIR permet de travailler dans des environnements qui vous sont familiers, ainsi que dexploiter les outils et approches
qui vous conviennent. La prise en charge de Flex, HTML, JavaScript et Ajax assure la cration dune solution optimale
qui rpond vos besoins.
Vous pouvez par exemple dvelopper des applications qui font appel lune des technologies suivantes ou une
combinaison de celles-ci :
Flash / Flex / ActionScript
HTML / JavaScript / CSS / Ajax
Les utilisateurs manipulent les applications AIR comme toute application native. Le moteur dexcution est install
une seule fois sur lordinateur ou le priphrique de lutilisateur. Il est alors possible dinstaller et dexcuter les
applications AIR linstar de toute autre application de bureau. (Sous iOS, tant donn que chaque application AIR
est autonome, aucun moteur dexcution dAIR nest install.)
Quel que soit le systme dexploitation utilis, le moteur dexcution propose une plate-forme et une structure
uniformes de dploiement dapplications. La cohrence des fonctionnalits et interactions rend ainsi superflus les tests
dans plusieurs navigateurs. Au lieu de dvelopper une application pour un systme dexploitation dtermin, vous
ciblez le moteur dexcution. Cette approche offre les avantages suivants :
Les applications dveloppes pour AIR sexcutent sur divers systmes dexploitation sans ncessiter dintervention
supplmentaire de votre part. Le moteur dexcution assure une prsentation et des interactions cohrentes et
prvisibles sur tous les systmes dexploitation pris en charge par AIR.
Grce lexploitation de technologies Web et de modles de conception existants, la cration dapplications est plus
rapide. Vous pouvez assurer la migration des applications Web vers le bureau sans avoir apprendre les
technologies traditionnelles de dveloppement pour le bureau ou un code natif complexe.
Parce quil ne fait pas appel des langages de niveau infrieur tels que C et C++, le dveloppement dapplications
sen trouve simplifi. Il est ainsi inutile de grer les API complexes de bas niveau propres chaque systme
dexploitation.
Dvelopper des applications pour AIR vous permet dexploiter un riche ensemble de structures et dAPI :
API propres AIR proposes par le moteur dexcution et la structure AIR
API dActionScript utilises par les fichiers SWF et la structure Flex (ainsi que quautres bibliothques et structures
bases sur ActionScript)
HTML, CSS et JavaScript
La plupart des structures Ajax

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 2
A propos dAdobe AIR

Les extensions natives pour Adobe AIR fournissent des API ActionScript permettant daccder des
fonctionnalits propres la plate-forme programmes en code natif. Les extensions natives peuvent galement
permettre daccder au code natif hrit, ainsi quau code natif qui fournit de meilleures performances.
AIR a un impact considrable sur la cration, le dploiement et lutilisation des applications. Il vous assure un contrle
cratif accru et permet la migration des applications Flash, Flex, HTML et Ajax vers le bureau, les priphriques
mobiles et les tlvisions.
Pour plus dinformations sur le contenu de chaque nouvelle mise jour dAIR, voir les notes de mise jour sur Adobe
AIR (http://www.adobe.com/go/learn_air_relnotes_fr).

Dernire mise jour le 6/3/2017


3

Chapitre 2 : Installation dAdobe AIR


Le moteur dexcution dAdobe AIR permet dexcuter des applications AIR. Pour installer le moteur dexcution,
procdez comme suit, au choix :
Installez le moteur dexcution sparment (sans installer dapplication AIR).
Installez une application AIR pour la premire fois par le biais dun badge dinstallation de page Web (vous tes
galement invit installer le moteur dexcution).
Crez un programme dinstallation personnalis qui installe votre application et le moteur dexcution. Vous devez
demander lautorisation de distribuer le moteur dexcution AIR Adobe. Pour demander lautorisation, consulter
la page Distribution du moteur dexcution Adobe AIR. Notez quAdobe ne fournit aucun outil pour crer un tel
programme dinstallation. De nombreux kits doutils tiers sont nanmoins disponibles.
Installez une application AIR qui intgre AIR en tant que moteur dexcution captif. Un moteur dexcution natif
est utilis uniquement par lapplication de mise en paquet. Il nest pas utilis pour excuter dautres applications
AIR. Le regroupement du moteur dexcution est possible sur Mac et Windows. Sur iOS, toutes les applications
incluent un moteur dexcution intgr. A partir dAIR 3.7, les applications Android incluent un moteur
dexcution intgr par dfaut (mme si vous pouvez utiliser un moteur dexcution distinct).
Configurez un environnement de dveloppement AIR tel que le kit SDK AIR, Adobe Flash Builder ou le kit SDK
Adobe Flex (qui contient les outils de dveloppement de ligne de commande AIR). Le moteur dexcution intgr
au kit SDK est rserv au dbogage dapplications, et non lexcution dapplications AIR installes.
Vous trouverez la configuration requise pour linstallation dAIR et lexcution dapplications AIR dans le document :
Adobe AIR : Configuration requise (http://www.adobe.com/fr/products/air/systemreqs/).
Le programme dinstallation du moteur dexcution et celui de lapplication AIR crent des fichiers journaux lors de
linstallation, la mise jour ou la suppression de lapplication ou du moteur dexcution. Vous pouvez consulter ces
journaux pour dterminer la cause de tout problme dinstallation. Voir Installation logs.

Installation dAdobe AIR


Pour installer ou mettre jour le moteur dexcution, lutilisateur doit disposer de privilges dadministration sur
lordinateur.

Installation du moteur dexcution sur un ordinateur Windows


1 Tlchargez le fichier dinstallation du moteur dexcution partir de http://get.adobe.com/fr/air.
2 Double-cliquez sur le fichier dinstallation du moteur dexcution.
3 Dans la fentre dinstallation, suivez les invites pour achever linstallation.

Installation du moteur dexcution sur un ordinateur Mac


1 Tlchargez le fichier dinstallation du moteur dexcution partir de http://get.adobe.com/fr/air.
2 Double-cliquez sur le fichier dinstallation du moteur dexcution.
3 Dans la fentre dinstallation, suivez les invites pour achever linstallation.
4 Si le programme dinstallation affiche une fentre dauthentification, entrez votre nom dutilisateur et votre mot de
passe Mac OS.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 4
Installation dAdobe AIR

Installation du moteur dexcution sur un ordinateur Linux


Remarque : actuellement, AIR 2.7 et les versions ultrieures ne sont pas prises en charge sur Linux. Les applications AIR
dployes sur Linux doivent continuer dutiliser le kit SDK dAIR 2.6.
Utilisation du programme dinstallation binaire :
1 Accdez au fichier dinstallation binaire ladresse http://kb2.adobe.com/cps/853/cpsid_85304.html et tlchargez-
le.
2 Dfinissez les autorisations du fichier de sorte que le programme dinstallation puisse tre excut : Vous pouvez
dfinir les autorisations sur une ligne de commande, comme suit :
chmod +x AdobeAIRInstaller.bin

Certaines versions de Linux vous permettent de dfinir les autorisations des fichiers dans la bote de dialogue
Proprits, ouverte par lintermdiaire dun menu contextuel.
3 Excutez le programme dinstallation partir de la ligne de commande ou en double-cliquant sur le fichier
dinstallation du moteur dexcution.
4 Dans la fentre dinstallation, suivez les invites pour achever linstallation.
Adobe AIR est install sous forme de package natif. En dautres termes, en tant que rpm sur une distribution de type
rpm et en tant que deb sur une distribution Debian. AIR ne prend actuellement en charge aucun autre format de
package.
Utilisation des programmes dinstallation de package :
1 Accdez au fichier du package AIR ladresse http://kb2.adobe.com/cps/853/cpsid_85304.html. Tlchargez le
package rpm ou Debian, selon le format pris en charge par votre systme.
2 Si ncessaire, double-cliquez sur le fichier de package dAIR pour installer le package.
Vous pouvez galement effectuer linstallation partir la ligne de commande :
a Sur un systme Debian :
sudo dpkg -i <path to the package>/adobeair-2.0.0.xxxxx.deb

b Sur un systme rpm :


sudo rpm -i <path to the package>/adobeair-2.0.0-xxxxx.i386.rpm

Ou si vous mettez jour une version existante (AIR 1.5.3 ou ultrieur) :


sudo rpm -U <path to the package>/adobeair-2.0.0-xxxxx.i386.rpm

Pour installer AIR 2 et les applications AIR, vous devez disposer de privilges de niveau administrateur sur
lordinateur.
Adobe AIR est install lemplacement suivant : /opt/Adobe AIR/Versions/1.0
AIR enregistre le type mime application/vnd.adobe.air-application-installer-package+zip , ce qui signifie que les
fichiers .air correspondent ce type mime et sont donc associs au moteur dexcution dAIR.

Installation du moteur dexcution sur un priphrique Android


Vous pouvez installer la version la plus rcente du moteur dexcution dAIR partir dAndroid Market.
Vous pouvez installer des versions de dveloppement du moteur dexcution dAIR partir dun lien de page Web ou
laide de la commande ADT -installRuntime. Il est possible dinstaller une seule version du moteur dexcution
dAIR la fois. En dautres termes, une version valide ne peut pas cohabiter avec une version de dveloppement.
Pour plus dinformations, voir Commande ADT installRuntime la page 186.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 5
Installation dAdobe AIR

Installation du moteur dexcution sur un priphrique iOS


Le code du moteur dexcution dAIR requis est intgr chaque application pour priphriques iPhone, iTouch et
iPad. Il est inutile dinstaller un composant dexcution distinct.

Voir aussi
AIR for iOS la page 73

Dsinstallation dAdobe AIR


Aprs linstallation du moteur dexcution, les procdures suivantes permettent de le dsinstaller.

Dsinstallation du moteur dexcution sur un ordinateur Windows


1 Dans le menu Dmarrer de Windows, slectionnez Paramtres > Panneau de configuration.
2 Selon la version de Windows dont vous disposez, ouvrez llment du Panneau de configuration intitul
Programmes, Programmes et fonctionnalits ou Ajout ou suppression de programmes.
3 Pour dsinstaller le moteur dexcution, slectionnez Adobe AIR .
4 Cliquez sur le bouton Modifier/Supprimer.

Dsinstallation du moteur dexcution sur un ordinateur Mac


Double-cliquez sur le programme de dsinstallation dAdobe AIR, situ dans le dossier /Applications/Utilities.

Dsinstallation du moteur dexcution sur un ordinateur Linux


Effectuez lune des oprations suivantes :
Slectionnez la commande Programme de dsinstallation dAdobe AIR dans le menu Applications.
Excutez le programme dinstallation binaire dAIR avec loption -uninstall.
Supprimez les packages AIR (adobeair et adobecerts) avec le gestionnaire de package.

Suppression du moteur dexcution sur un priphrique Android


1 Ouvrez lapplication Rglages sur le priphrique.
2 Touchez lentre Adobe AIR sous Applications > Grer les applications.
3 Touchez le bouton Dsinstaller.
Vous disposez galement de la commande ADT -uninstallRuntime. Pour plus dinformations, voir Commande
ADT uninstallRuntime la page 188.

Suppression dun moteur dexcution intgr


Pour supprimer un programme dexcution captif intgr, vous devez supprimer lapplication avec laquelle il est
install. Notez que les moteurs dexcution captifs sont utiliss uniquement pour excuter lapplication dinstallation.

Installation et excution des exemples dapplication AIR


Pour installer ou mettre jour une application AIR, lutilisateur doit disposer de privilges dadministration sur
lordinateur.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 6
Installation dAdobe AIR

Certains exemples dapplication illustrent des fonctionnalits AIR. Procdez comme suit pour y accder et les
installer :
1 Tlchargez et excutez les exemples dapplication AIR. Les applications compiles et le code source sont
disponibles.
2 Pour tlcharger et excuter un exemple dapplication, cliquez sur le bouton Installer maintenant propos. Vous
tes invit installer et excuter lapplication.
3 Si vous dcidez de tlcharger des exemples dapplication et de les excuter ultrieurement, slectionnez les liens de
tlchargement. Vous pouvez tout moment excuter une application AIR en procdant comme suit :
Sous Windows, double-cliquez sur licne de lapplication sur le bureau ou slectionnez-la dans le menu
Dmarrer de Windows.
Sous Mac OS, double-cliquez sur licne de lapplication, qui est installe par dfaut dans le dossier Applications
de votre rpertoire utilisateur (tel que Macintosh HD/Users/Jean/Applications/).
Remarque : pour vrifier si ces instructions ont t mises jour, voir les Notes de parution dAIR, qui rsident ladresse
suivante : http://www.adobe.com/go/learn_air_relnotes_fr.

Mises jour dAdobe Air


Adobe met rgulirement Adobe AIR jour pour ajouter de nouvelles fonctionnalits ou corriger des problmes
mineurs. La fonction de notification et de mise jour automatiques permet Adobe davertir automatiquement les
utilisateurs de la disponibilit dune version mise jour dAdobe AIR.
Les mises jour dAdobe AIR garantissent que ce produit fonctionne correctement et contiennent souvent
dimportantes modifications lies la scurit. Adobe recommande deffectuer la mise jour vers toute nouvelle
version disponible dAdobe AIR, surtout lorsquelle affecte la scurit.
Au lancement dune application AIR, le moteur dexcution vrifie par dfaut la disponibilit dune mise jour. Il
effectue cette opration si la dernire vrification remonte plus de deux semaines. Si une mise jour est disponible,
AIR la tlcharge en arrire-plan.
Il est possible de dsactiver la fonction de mise jour automatique laide de lapplication AIR SettingsManager. Cette
application peut tre tlcharge partir de
http://airdownload.adobe.com/air/applications/SettingsManager/SettingsManager.air.
Le processus dinstallation standard dAdobe AIR se connecte http://airinstall.adobe.com pour envoyer des
informations de base sur lenvironnement dinstallation, notamment la version et la langue du systme dexploitation.
Ces informations sont transmises une seule fois par installation et permettent Adobe de confirmer que linstallation
a abouti. Aucune information personnelle identifiable nest collecte ou transmise.

Mise jour des moteurs dexcution captifs


Si vous distribuez votre application avec un paquet de moteur dexcution captif, le moteur dexcution captif nest pas
mis jour automatiquement. Pour assurer la scurit des utilisateurs, vous devez grer les mises jour publies par
Adobe et mettre jour votre application avec la nouvelle version du moteur dexcution lors de la publication dune
modification de scurit importante.

Dernire mise jour le 6/3/2017


7

Chapitre 3 : Utilisation des API AIR


Adobe AIR comprend des fonctionnalits dont ne dispose pas un contenu SWF qui sexcute dans Adobe Flash
Player.

Dveloppeurs ActionScript 3.0


Les API Adobe AIR sont dcrites dans les deux documents suivants :
Guide du dveloppeur ActionScript 3.0
Guide de rfrence ActionScript 3.0 pour la plate-forme Adobe Flash

Dveloppeurs HTML
Si vous crez des applications AIR de type HTML, les API disponibles en JavaScript via le fichier AIRAliases.js (voir
Accs aux classes de lAPI AIR partir de JavaScript) sont dcrites dans les deux documents suivants :
HTML Developers Guide for Adobe AIR
Adobe AIR API Reference for HTML Developers

Classes ActionScript 3.0 propres AIR


Le tableau suivant contient les classes dexcution propres Adobe AIR. Elles ne sont pas disponibles pour le contenu
SWF sexcutant dans Adobe Flash Player dans le navigateur.

Dveloppeurs HTML
Les classes disponibles en JavaScript via le fichier AIRAliases.js sont dcrites dans Adobe AIR API Reference for
HTML Developers (disponible en anglais uniquement).

Classe Package ActionScript 3.0 Ajoute la version AIR

ARecord flash.net.dns 2.0

AAAARecord flash.net.dns 2.0

ApplicationUpdater air.update 1.5

ApplicationUpdaterUI air.update 1.5

AudioPlaybackMode flash.media 3.0

AutoCapitalize flash.text 3.0

BrowserInvokeEvent flash.events 1.0

CameraPosition flash.media 3.0

CameraRoll flash.media 2.0

CameraRollBrowseOptions flash.media 3.0

CameraUI flash.media 2.5

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 8
Utilisation des API AIR

Classe Package ActionScript 3.0 Ajoute la version AIR

CertificateStatus flash.security 2.0

CompressionAlgorithm flash.utils 1.0

DatagramSocket flash.net 2.0

DatagramSocketDataEvent flash.events 2.0

DNSResolver flash.net.dns 2.0

DNSResolverEvent flash.events 2.0

DockIcon flash.desktop 1.0

DownloadErrorEvent air.update.events 1.5

DRMAuthenticateEvent flash.events 1.0

DRMDeviceGroup flash.net.drm 3.0

DRMDeviceGroupErrorEvent flash.net.drm 3.0

DRMDeviceGroupEvent flash.net.drm 3.0

DRMManagerError flash.errors 1.5

EncryptedLocalStore flash.data 1.0

ExtensionContext flash.external 2.5

File flash.filesystem 1.0

FileListEvent flash.events 1.0

FileMode flash.filesystem 1.0

FileStream flash.filesystem 1.0

FocusDirection flash.display 1.0

GameInput flash.ui 3.0

GameInputControl flash.ui 3.0

GameInputControlType flash.ui 3.6 et versions antrieures ;


abandonn partir de la
version 3.7

GameInputDevice flash.ui 3.0

GameInputEvent flash.ui 3.0

GameInputFinger flash.ui 3.6 et versions antrieures ;


abandonn partir de la
version 3.7

GameInputHand flash.ui 3.6 et versions antrieures ;


abandonn partir de la
version 3.7

Geolocation flash.sensors 2.0

GeolocationEvent flash.events 2.0

HTMLHistoryItem flash.html 1.0

HTMLHost flash.html 1.0

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 9
Utilisation des API AIR

Classe Package ActionScript 3.0 Ajoute la version AIR

HTMLLoader flash.html 1.0

HTMLPDFCapability flash.html 1.0

HTMLSWFCapabiltiy flash.html 2.0

HTMLUncaughtScriptExceptionEvent flash.events 1.0

HTMLWindowCreateOptions flash.html 1.0

Icon flash.desktop 1.0

IFilePromise flash.desktop 2.0

ImageDecodingPolicy flash.system 2.6

InteractiveIcon flash.desktop 1.0

InterfaceAddress flash.net 2.0

InvokeEvent flash.events 1.0

InvokeEventReason flash.desktop 1.5.1

IPVersion flash.net 2.0

IURIDereferencer flash.security 1.0

LocationChangeEvent flash.events 2.5

MediaEvent flash.events 2.5

MediaPromise flash.media 2.5

MediaType flash.media 2.5

MXRecord flash.net.dns 2.0

NativeApplication flash.desktop 1.0

NativeDragActions flash.desktop 1.0

NativeDragEvent flash.events 1.0

NativeDragManager flash.desktop 1.0

NativeDragOptions flash.desktop 1.0

NativeMenu flash.display 1.0

NativeMenuItem flash.display 1.0

NativeProcess flash.desktop 2.0

NativeProcessExitEvent flash.events 2.0

NativeProcessStartupInfo flash.desktop 2.0

NativeWindow flash.display 1.0

NativeWindowBoundsEvent flash.events 1.0

NativeWindowDisplayState flash.display 1.0

NativeWindowDisplayStateEvent flash.events 1.0

NativeWindowInitOptions flash.display 1.0

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 10
Utilisation des API AIR

Classe Package ActionScript 3.0 Ajoute la version AIR

NativeWindowRenderMode flash.display 3.0

NativeWindowResize flash.display 1.0

NativeWindowSystemChrome flash.display 1.0

NativeWindowType flash.display 1.0

NetworkInfo flash.net 2.0

NetworkInterface flash.net 2.0

NotificationType flash.desktop 1.0

OutputProgressEvent flash.events 1.0

PaperSize flash.printing 2.0

PrintMethod flash.printing 2.0

PrintUIOptions flash.printing 2.0

PTRRecord flash.net.dns 2.0

ReferencesValidationSetting flash.security 1.0

ResourceRecord flash.net.dns 2.0

RevocationCheckSettings flash.security 1.0

Screen flash.display 1.0

ScreenMouseEvent flash.events 1.0

SecureSocket flash.net 2.0

SecureSocketMonitor air.net 2.0

ServerSocket flash.net 2.0

ServerSocketConnectEvent flash.events 2.0

ServiceMonitor air.net 1.0

SignatureStatus flash.security 1.0

SignerTrustSettings flash.security 1.0

SocketMonitor air.net 1.0

SoftKeyboardType flash.text 3.0

SQLCollationType flash.data 1.0

SQLColumnNameStyle flash.data 1.0

SQLColumnSchema flash.data 1.0

SQLConnection flash.data 1.0

SQLError flash.errors 1.0

SQLErrorEvent flash.events 1.0

SQLErrorOperation flash.errors 1.0

SQLEvent flash.events 1.0

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 11
Utilisation des API AIR

Classe Package ActionScript 3.0 Ajoute la version AIR

SQLIndexSchema flash.data 1.0

SQLMode flash.data 1.0

SQLResult flash.data 1.0

SQLSchema flash.data 1.0

SQLSchemaResult flash.data 1.0

SQLStatement flash.data 1.0

SQLTableSchema flash.data 1.0

SQLTransactionLockType flash.data 1.0

SQLTriggerSchema flash.data 1.0

SQLUpdateEvent flash.events 1.0

SQLViewSchema flash.data 1.0

SRVRecord flash.net.dns 2.0

StageAspectRatio flash.display 2.0

StageOrientation flash.display 2.0

StageOrientationEvent flash.events 2.0

StageText flash.text 3.0

StageTextInitOptions flash.text 3.0

StageWebView flash.media 2.5

StatusFileUpdateErrorEvent air.update.events 1.5

StatusFileUpdateEvent air.update.events 1.5

StatusUpdateErrorEvent air.update.events 1.5

StatusUpdateEvent air.update.events 1.5

StorageVolume flash.filesystem 2.0

StorageVolumeChangeEvent flash.events 2.0

StorageVolumeInfo flash.filesystem 2.0

SystemIdleMode flash.desktop 2.0

SystemTrayIcon flash.desktop 1.0

TouchEventIntent flash.events 3.0

UpdateEvent air.update.events 1.5

Updater flash.desktop 1.0

URLFilePromise air.desktop 2.0

URLMonitor air.net 1.0

URLRequestDefaults flash.net 1.0

XMLSignatureValidator flash.security 1.0

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 12
Utilisation des API AIR

Classes Flash Player contenant des fonctionnalits


propres AIR
Les classes suivantes sont disponibles pour les contenus SWF excuts dans le navigateur, mais AIR offre des
proprits ou des mthodes supplmentaires :

Package Classe Proprit, mthode ou vnement Ajoute la version


AIR

flash.desktop Clipboard supportsFilePromise 2.0

ClipboardFormats BITMAP_FORMAT 1.0

FILE_LIST_FORMAT 1.0

FILE_PROMISE_LIST_FORMAT 2.0

URL_FORMAT 1.0

flash.display LoaderInfo childSandboxBridge 1.0

parentSandboxBridge 1.0

Stage assignFocus() 1.0

autoOrients 2.0

deviceOrientation 2.0

nativeWindow 1.0

orientation 2.0

vnement orientationChange 2.0

vnement orientationChanging 2.0

setAspectRatio 2.0

setOrientation 2.0

softKeyboardRect 2.6

supportedOrientations 2.6

supportsOrientationChange 2.0

NativeWindow owner 2.6

listOwnedWindows 2.6

NativeWindowInitOptions owner 2.6

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 13
Utilisation des API AIR

Package Classe Proprit, mthode ou vnement Ajoute la version


AIR

flash.events Event CLOSING 1.0

DISPLAYING 1.0

PREPARING 2.6

EXITING 1.0

HTML_BOUNDS_CHANGE 1.0

HTML_DOM_INITIALIZE 1.0

HTML_RENDER 1.0

LOCATION_CHANGE 1.0

NETWORK_CHANGE 1.0

STANDARD_ERROR_CLOSE 2.0

STANDARD_INPUT_CLOSE 2.0

STANDARD_OUTPUT_CLOSE 2.0

USER_IDLE 1.0

USER_PRESENT 1.0

HTTPStatusEvent HTTP_RESPONSE_STATUS 1.0

responseHeaders 1.0

responseURL 1.0

KeyboardEvent commandKey 1.0

controlKey 1.0

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 14
Utilisation des API AIR

Package Classe Proprit, mthode ou vnement Ajoute la version


AIR

flash.net FileReference extension 1.0

vnement httpResponseStatus 1.0

uploadUnencoded() 1.0

NetStream vnement drmAuthenticate 1.0

vnement onDRMContentData 1.5

preloadEmbeddedData() 1.5

resetDRMVouchers() 1.0

setDRMAuthenticationCredent 1.0
ials()

URLRequest authenticate 1.0

cacheResponse 1.0

followRedirects 1.0

idleTimeout 2.0

manageCookies 1.0

useCache 1.0

userAgent 1.0

URLStream vnement 1.0


httpResponseStatus

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 15
Utilisation des API AIR

Package Classe Proprit, mthode ou vnement Ajoute la version


AIR

flash.printing PrintJob active 2.0

copies 2.0

firstPage 2.0

isColor 2.0

jobName 2.0

lastPage 2.0

maxPixelsPerInch 2.0

paperArea 2.0

printableArea 2.0

printer 2.0

printers 2.0

selectPaperSize() 2.0

showPageSetupDialog() 2.0

start2() 2.0

supportsPageSetupDialog 2.0

terminate() 2.0

PrintJobOptions pixelsPerInch 2.0

printMethod 2.0

flash.system Capabilities languages 1.1

LoaderContext allowLoadBytesCodeExecution 1.0

Security APPLICATION 1.0

flash.ui KeyLocation D_PAD 2.5

La plupart de ces nouvelles proprits et mthodes sont uniquement disponibles pour le contenu situ dans le sandbox
de scurit de lapplication AIR. Toutefois, les nouveaux membres des classes URLRequest sont galement disponibles
pour le contenu excut dans dautres sandbox.
Les mthodes ByteArray.compress() et ByteArray.uncompress() comprennent chacune un nouveau paramtre
algorithm permettant de choisir entre les compressions deflate et zlib. Ce paramtre nest disponible que pour le
contenu sexcutant dans AIR.

Composants Flex propres AIR


Les composants MX dAdobe Flex suivants sont disponibles lors du dveloppement dun contenu pour Adobe AIR :
FileEvent
FileSystemComboBox
FileSystemDataGrid

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 16
Utilisation des API AIR

FileSystemEnumerationMode
FileSystemHistoryButton
FileSystemList
FileSystemSizeDisplayMode
FileSystemTree
FlexNativeMenu
HTML
Window
WindowedApplication
WindowedSystemManager
Par ailleurs, Flex 4 comprend les composants AIR spark suivants :
Window
WindowedApplication
Pour plus dinformations sur les composants AIR Flex, voir Utilisation des composants AIR de Flex.

Dernire mise jour le 6/3/2017


17

Chapitre 4 : Outils de la plate-forme Adobe


Flash pour le dveloppement AIR
Vous pouvez dvelopper des applications AIR laide des outils de dveloppement suivants de la plate-forme Adobe
Flash.
Dveloppeurs ActionScript 3.0 (Flash et Flex) :
Adobe Flash Professional (voir Publication pour AIR)
Kit SDK dAdobe Flex 3.x et 4.x (voir Configuration du kit SDK Flex la page 19 et Outil AIR Developer
(ADT) la page 174)
Adobe Flash Builder (voir Dveloppement dapplications AIR avec Flash Builder)
Dveloppeurs HTML et Ajax :
Kit de dveloppement SDK Adobe AIR (voir Installation du kit de dveloppement SDK AIR la page 17 et
Outil AIR Developer (ADT) la page 174)
Adobe Dreamweaver CS3, CS4, CS5 (voir Extension AIR pour Dreamweaver)

Installation du kit de dveloppement SDK AIR


Le kit de dveloppement SDK AIR contient les outils de ligne de commande suivants, qui permettent de lancer et de
mettre en package des applications :
Application de dbogage du lanceur AIR (ADL) Permet de lancer des applications AIR sans devoir dabord les installer.
Voir Application de dbogage du lanceur AIR (ADL) la page 168.
Outil AIR Developer (ADT) Met en package des applications AIR sous la forme de packages dinstallation distribuables.
Voir Outil AIR Developer (ADT) la page 174.
Les outils de ligne de commande dAIR ncessitent linstallation de Java sur lordinateur. Vous pouvez utiliser la
machine virtuelle Java partir des environnements JRE ou JDK (version 1.5 ou ultrieure). Vous pouvez tlcharger
ces environnements ladresse suivante : http://java.sun.com/.
Vous devez disposer dau moins 2 Go de mmoire pour excuter loutil ADT.
Remarque : lutilisateur final na pas besoin de Java pour excuter les applications AIR.
Pour consulter un aperu rapide de la cration dune application AIR laide du kit SDK dAIR, voir Cration dune
premire application AIR de type HTML laide du kit SDK dAIR la page 34.

Tlchargement et installation du kit SDK AIR


Pour tlcharger et installer le kit SDK AIR, procdez comme suit :

Installation du kit SDK AIR sous Windows


Tlchargez le fichier dinstallation du kit SDK AIR.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 18
Outils de la plate-forme Adobe Flash pour le dveloppement AIR

Il est distribu sous la forme dune archive de fichier standard. Pour installer AIR, extrayez le contenu du kit SDK
dans un dossier sur lordinateur (exemple : C:\Program Files\Adobe\AIRSDK ou C:\AIRSDK).
Les outils ADL et ADT figurent dans le dossier bin du kit SDK AIR. Ajoutez le chemin de ce dossier la variable
denvironnement PATH.

Installation du kit SDK AIR sous Mac OS X


Tlchargez le fichier dinstallation du kit SDK AIR.
Il est distribu sous la forme dune archive de fichier standard. Pour installer AIR, extrayez le contenu du kit SDK
dans un dossier sur lordinateur (exemple : /Users/<nomUtilisateur>/Applications/AIRSDK).
Les outils ADL et ADT figurent dans le dossier bin du kit SDK AIR. Ajoutez le chemin de ce dossier la variable
denvironnement PATH.

Installation du kit SDK AIR sous Linux


Le kit SDK est disponible au format tbz2.
Pour installer le kit SDK, crez un dossier pour le dcompresser, puis entrez la commande suivante : tar -jxvf
<chemin daccs AIR-SDK.tbz2>
Pour plus dinformations sur linitiation aux outils du kit SDK AIR, voir Cration dune application AIR laide des
outils de ligne de commande.

Contenu du kit SDK AIR


Le tableau suivant dcrit les fichiers que contient le kit SDK AIR :

Dossier du kit SDK Description des fichiers/outils

bin Lapplication de dbogage du lanceur AIR (ADL) permet dexcuter une application
AIR sans la mettre en package et linstaller au pralable. Pour plus dinformations sur
lutilisation de cette application, voir Application de dbogage du lanceur AIR
(ADL) la page 168.

Loutil AIR Developer (ADT) met en package une application sous la forme dun fichier
AIR distribuable. Pour plus dinformations sur lutilisation de cet outil, voir Outil AIR
Developer (ADT) la page 174.

frameworks Le rpertoire libs contient des bibliothques de code destines aux applications AIR.

Le rpertoire projects contient le code des bibliothques SWF et SWC compiles.

include Le rpertoire include contient un fichier den-tte de langage C pour lcriture


dextensions natives.

install Le rpertoire install contient les pilotes USB Windows associs aux priphriques
Android. (Ces pilotes sont fournis par Google dans le kit SDK dAndroid.)

lib Contient le code de prise en charge des outils du kit SDK dAIR.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 19
Outils de la plate-forme Adobe Flash pour le dveloppement AIR

Dossier du kit SDK Description des fichiers/outils

runtimes Moteurs dexcution dAIR destins au bureau et aux priphriques mobiles.

Lapplication de dbogage du lanceur AIR (ADL) utilise le moteur dexcution pour


lancer les applications AIR avant leur mise en package ou leur installation.

Vous pouvez installer les moteurs dexcution dAIR for Android (packages APK) sur
des mulateurs ou des priphriques Android des fins de dveloppement ou de
test. Utilisez un package APK distinct pour les priphriques et les mulateurs. (Vous
pouvez tlcharger le moteur dexcution dAIR for Android public partir dAndroid
Market.)

samples Ce dossier contient un exemple de fichier descripteur dapplication, un exemple de


fonction dinstallation transparente (badge.swf) et les icnes dapplication AIR par
dfaut.

templates descriptor-template.xml : modle du fichier descripteur dapplication, que requiert


chaque application AIR. Pour une description dtaille du fichier descripteur
dapplication, voir Fichiers descripteurs dapplications AIR la page 217.

Ce dossier contient galement les fichiers de schma associs la structure XML du


fichier descripteur dapplication de chaque version dAIR.

Configuration du kit SDK Flex


Pour dvelopper des applications Adobe AIR dans Adobe Flex, vous disposez des options suivantes :
Vous pouvez tlcharger et installer Adobe Flash Builder, qui intgre des outils permettant de crer des projets
Adobe AIR, ainsi que de tester, dboguer et mettre en package les applications AIR. Voir Cration dune premire
application de bureau AIR Flex dans Flash Builder la page 21.
Vous pouvez tlcharger le kit SDK dAdobe Flex et dvelopper des applications AIR Flex laide de votre diteur
de texte et de vos outils de ligne de commande favoris.
Pour consulter un aperu rapide de la cration dune application AIR laide du kit SDK de Flex, voir Cration dune
premire application de bureau AIR laide du kit SDK de Flex la page 38.

Installation du kit SDK Flex


Pour pouvoir crer des applications AIR laide des outils de ligne de commande, Java doit tre install sur
lordinateur. Vous pouvez utiliser la machine virtuelle Java partir des environnements JRE ou JDK (version 1.5 ou
ultrieure). Vous pouvez tlcharger ces environnements ladresse suivante : http://java.sun.com/.
Remarque : lutilisateur final na pas besoin de Java pour excuter les applications AIR.
Le kit SDK de Flex offre lAPI dAIR et les outils de ligne de commande ncessaires pour mettre en package, compiler
et dboguer les applications AIR.
1 Le cas chant, tlchargez le kit SDK Flex partir de
http://opensource.adobe.com/wiki/display/flexsdk/Downloads.
2 Placez le contenu du kit SDK dans un dossier (Flex SDK, par exemple).
3 Copiez le contenu du kit SDK dAIR sur les fichiers du kit SDK de Flex.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 20
Outils de la plate-forme Adobe Flash pour le dveloppement AIR

Remarque : sur un ordinateur Mac, veillez copier ou remplacer les fichiers des dossiers du kit SDK, plutt que des
rpertoires entiers. Par dfaut, copier un rpertoire sur un rpertoire du mme nom sur un ordinateur Mac supprime
les fichiers existants du rpertoire cible, plutt que de fusionner le contenu des deux rpertoires. Vous pouvez utiliser
la commande ditto dans une fentre de terminal pour fusionner le kit SDK dAIR et le kit SDK de Flex :ditto
air_sdk_folder flex_sdk_folder

4 Les outils de ligne de commande AIR figurent dans le dossier bin.

Configuration de kits SDK externes


Le dveloppement dapplications pour Android et iOS ncessite de tlcharger des fichiers de configuration, des kits
SDK et autres outils de dveloppement partir des diteurs de la plate-forme.
Pour plus dinformations sur le tlchargement et linstallation du kit SDK dAndroid, voir Android Developers :
Installing the SDK (disponible en anglais uniquement). Depuis AIR 2.6, il nest plus obligatoire de tlcharger le kit
SDK dAndroid. Le kit SDK dAIR comprend prsent les composants de base requis pour installer et lancer des
packages APK. Le kit SDK dAndroid savre toutefois utile pour diverses tches de dveloppement, notamment la
cration et lexcution dmulateurs logiciels, ainsi que la capture dcrans de priphrique.
Le dveloppement dapplication iOS ne requiert pas de kit SDK externe. Vous devez toutefois disposer de certificats et
fichiers de configuration spciaux. Pour plus dinformations, voir Obtention de fichiers de dveloppement auprs
dApple.

Dernire mise jour le 6/3/2017


21

Chapitre 5 : Cration dune premire


application AIR

Cration dune premire application de bureau AIR Flex


dans Flash Builder
Pour vous familiariser rapidement avec le fonctionnement dAdobe AIR, suivez les instructions ci-dessous, qui
permettent de crer et de mettre en package une application AIR SWF simple, appele Hello World , laide
dAdobe Flash Builder.
Le cas chant, tlchargez et installez Flash Builder. Tlchargez et installez galement la version la plus rcente
dAdobe AIR partir de ladresse suivante : www.adobe.com/go/air_fr.

Cration dun projet AIR


Flash Builder propose des outils de dveloppement et de mise en package dapplications AIR.
Pour crer une application AIR dans Flash Builder ou Flex Builder, vous commencez comme sil sagissait de tout autre
projet dapplication Flex, c--d. en dfinissant un nouveau projet.
1 Ouvrez Flash Builder.
2 Slectionnez Fichier > Nouveau > Projet Flex.
3 Attribuez au projet le nom AIRHelloWorld.
4 Dans Flex, les applications AIR sont considres comme un type dapplication. Vous disposez de deux options de
type :
Application Web qui sexcute dans Adobe Flash Player
Application de bureau qui sexcute dans Adobe AIR
Slectionnez le type dapplication de bureau.
5 Cliquez sur Terminer pour crer le projet.
Les projets AIR se composent initialement de deux fichiers : le fichier MXML principal et un fichier XML dapplication
(ou fichier descripteur dapplication). Le second fichier spcifie les proprits dune application.
Pour plus dinformations, voir Dveloppement dapplications AIR avec Flash Builder.

Ecriture du code de lapplication AIR


Pour crire le code de lapplication Hello World , vous modifiez le fichier MXML de lapplication, qui est ouvert
dans lditeur. (Le cas chant, ouvrez le fichier dans lexplorateur de projets.)
Les applications AIR Flex de bureau sont contenues dans la balise MXML WindowedApplication. Celle-ci cre une
fentre simple qui comprend des contrles de fentre de base, tels quune barre de titre et un bouton de fermeture.
1 Ajoutez un attribut title au composant WindowedApplication et affectez-lui la valeur "Hello World" :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 22
Cration dune premire application AIR

<?xml version="1.0" encoding="utf-8"?>


<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
title="Hello World">
</s:WindowedApplication>

2 Ajoutez un composant Label lapplication (en le plaant dans la balise WindowedApplication). Dfinissez la
proprit text du composant Label sur "Hello AIR" et stipulez quil doit tre centr, comme illustr ci-dessous :
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
title="Hello World">

<s:Label text="Hello AIR" horizontalCenter="0" verticalCenter="0"/>


</s:WindowedApplication>

3 Ajoutez le bloc de style suivant juste aprs la balise WindowedApplication douverture et avant la balise du
composant Label que vous venez dentrer :
<fx:Style>
@namespace s "library://ns.adobe.com/flex/spark";
s|WindowedApplication
{

skinClass:ClassReference("spark.skins.spark.SparkChromeWindowedApplicationSkin");
background-color:#999999;
background-alpha:"0.7";
}
</fx:Style>

Ces paramtres de style sappliquent lintgralit de lapplication et dfinissent un arrire-plan de fentre gris
lgrement transparent.
Le code de lapplication se prsente prsent comme suit :
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
title="Hello World">

<fx:Style>
@namespace s "library://ns.adobe.com/flex/spark";
s|WindowedApplication
{

skinClass:ClassReference("spark.skins.spark.SparkChromeWindowedApplicationSkin");
background-color:#999999;
background-alpha:"0.7";
}
</fx:Style>

<s:Label text="Hello AIR" horizontalCenter="0" verticalCenter="0"/>


</s:WindowedApplication>

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 23
Cration dune premire application AIR

Vous allez maintenant modifier certains paramtres dans le descripteur de lapplication pour que celle-ci soit
transparente :
1 Dans le panneau Navigation de Flex, recherchez le fichier descripteur dapplication dans le rpertoire source du
projet. Si vous avez nomm le projet AIRHelloWorld, ce fichier sappelle AIRHelloWorld-app.xml.
2 Double-cliquez sur le fichier descripteur dapplication pour le modifier dans Flash Builder.
3 Dans le code XML, recherchez les lignes de commentaire des proprits systemChrome et transparent (de la
proprit initialWindow). Supprimez les commentaires (autrement dit, supprimez les sparateurs <!-- et
--> ).

4 Dfinissez la valeur de texte de la proprit systemChrome sur none, comme indiqu ci-aprs :
<systemChrome>none</systemChrome>

5 Dfinissez la valeur de texte de la proprit transparent sur true, comme indiqu ci-aprs :
<transparent>true</transparent>

6 Enregistrez le fichier.

Test de lapplication AIR


Pour tester le code dapplication que vous venez dcrire, excutez-le en mode de dbogage.
1 Cliquez sur le bouton de dbogage dans la barre doutils principale.
Vous pouvez aussi slectionner la commande Run > Debug > AIRHelloWorld.
Lapplication AIR qui en rsulte sapparente lexemple suivant :

2 Grce aux proprits horizontalCenter et verticalCenter du contrle Label, le texte est plac au centre de la
fentre. Vous pouvez dplacer ou redimensionner la fentre comme pour toute autre application de bureau.
Remarque : si la compilation de lapplication choue, corrigez les erreurs de syntaxe ou les fautes dorthographe
introduites par inadvertance dans le code. Dans Flash Builder, les erreurs et les avertissements saffichent en mode
Problems.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 24
Cration dune premire application AIR

Mise en package, signature et excution de lapplication AIR


Vous pouvez maintenant mettre lapplication Hello World en package sous forme de fichier AIR pour la distribuer.
Un fichier AIR est un fichier darchives contenant les fichiers de lapplication ; autrement dit, tous les fichiers qui
figurent dans le dossier bin du projet. Dans cet exemple simple, il sagit des fichiers SWF et XML. Vous distribuez le
package AIR aux utilisateurs, qui sen servent pour installer lapplication. Dans le cadre de ce processus, il est impratif
de signer le package numriquement.
1 Assurez-vous que lapplication est exempte derreurs de compilation et sexcute comme il se doit.
2 Slectionnez Projet > Exporter vers une version valide.
3 Vrifiez que le projet correspond AIRHelloWorld et lapplication AIRHelloWorld.mxml.
4 Slectionnez loption dexportation en tant que package sign. Cliquez ensuite sur Suivant.
5 Si vous disposez dj dun certificat numrique, cliquez sur Parcourir pour y accder, puis slectionnez-le.
6 Si vous devez crer un certificat numrique auto-sign, slectionnez Crer.
7 Spcifiez les informations requises et cliquez sur OK.
8 Cliquez sur Terminer pour gnrer le package AIR, qui sappelle AIRHelloWorld.air.
Vous pouvez maintenant installer et excuter lapplication partir de lexplorateur de projets dans Flash Builder ou en
double-cliquant sur le fichier AIR dans le systme de fichiers.

Cration dune premire application de bureau AIR dans


Flash Professional
Cette rubrique propose une brve dmonstration pratique du fonctionnement dAdobe AIR en vous aidant crer
et mettre en package une application AIR simple nomme Hello World laide dAdobe Flash Professional.
Le cas chant, tlchargez et installez Adobe AIR, ladresse suivante : www.adobe.com/go/air_fr.

Cration de lapplication Hello World dans Flash


La cration dune application Adobe AIR dans Flash ressemble beaucoup la cration dun autre fichier FLA. La
procdure suivante vous guide tout au long du processus de cration de lapplication Hello World simple avec
Flash Professional.

Pour crer lapplication Hello World


1 Dmarrez Flash.
2 Dans lcran de bienvenue, cliquez sur AIR pour crer un fichier FLA vide avec les paramtres de publication
dAdobe AIR.
3 Slectionnez loutil Texte dans le panneau Outils et crez un champ de texte statique (par dfaut) au centre de la
scne. Choisissez une largeur pouvant contenir 15 20 caractres.
4 Entrez le texte Hello World dans le champ.
5 Enregistrez le fichier en lui donnant un nom (HelloAIR, par exemple).

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 25
Cration dune premire application AIR

Test de lapplication
1 Appuyez sur Ctrl + Entre ou slectionnez Contrle > Tester lanimation > Tester pour tester lapplication dans
Adobe AIR.
2 Pour utiliser la fonction Dboguer lanimation, ajoutez dabord du code ActionScript lapplication. Vous pouvez
le faire rapidement en ajoutant une instruction trace telle que :
trace("Running AIR application using Debug Movie");

3 Appuyez sur Ctrl + Maj + Entre ou slectionnez Dboguer > Dboguer lanimation > Dboguer pour excuter
lapplication avec Dboguer lanimation.
Lapplication Hello World ressemble lillustration suivante :

Mise en package de lapplication


1 Slectionnez Fichier > Publier.
2 Signez le package Adobe AIR laide dun certificat numrique existant ou crez un certificat auto-sign en
procdant comme suit :
a Cliquez sur le bouton Crer en regard du champ Certificat.
b Renseignez les entres Nom de lditeur, Unit dorganisation, Nom de lorganisation, E-mail, Pays, Mot de
passe et Confirmer le mot de passe.
c Spcifiez le type de certificat. Loption Type du certificat fait rfrence au niveau de scurit : 1024-RSA utilise
une cl 1 024 bits (moins scurise) et 2048-RSA une cl 2 048 bits (plus scurise).
d Enregistrez les informations dans un fichier de certificat en renseignant lentre Enregistrer sous ou en cliquant
sur le bouton Parcourir... pour localiser un dossier. (Par exemple, C:/Temp/mycert.pfx). Lorsque vous avez
termin, cliquez sur OK.
e Flash vous renvoie la bote de dialogue Signature numrique. Le chemin et le nom de fichier du certificat auto-
sign saffichent dans le champ de texte Certificat. Si ce nest pas le cas, entrez le chemin et le nom du fichier ou
cliquez sur le bouton Parcourir pour le localiser et le slectionner.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 26
Cration dune premire application AIR

f Entrez le mot de passe dfini ltape b dans le champ de texte Mot de passe de la bote de dialogue Signature
numrique. Pour plus dinformations sur la signature des applications Adobe AIR, voir Signature numrique
dun fichier AIR la page 200.
3 Pour crer le fichier de lapplication et du programme dinstallation, cliquez sur le bouton Publier. (Dans Flash CS4
et CS5, cliquez sur le bouton OK.) Pour crer les fichiers SWF et application.xml, vous devez tester ou dboguer
lanimation avant de crer le fichier AIR.
4 Pour installer lapplication, double-cliquez sur le fichier AIR (application.air) dans le dossier o vous avez
enregistr lapplication.
5 Dans la bote de dialogue Installation de lapplication, cliquez sur le bouton Installer.
6 Vrifiez les paramtres demplacement et de prfrences dinstallation et assurez-vous que la case cocher
Dmarrer lapplication la fin de linstallation est active. Cliquez sur Continuer.
7 Lorsque le message Installation termine apparat, cliquez sur Terminer.

Cration dune premire application AIR for Android


dans Flash Professional
Pour dvelopper des applications AIR for Android, vous devez tlcharger lextension Flash Professional CS5 pour
Android ladresse suivante : Adobe Labs.
Vous devez galement tlcharger et installer le kit SDK dAndroid partir du site Web dAndroid comme indiqu
dans : Android Developers : Installing the SDK (disponible en anglais uniquement).

Cration dun projet


1 Ouvrez Flash Professional CS5.
2 Crez un projet AIR for Android.
Lcran daccueil de Flash Professional contient un lien permettant de crer une application AIR for Android. Vous
pouvez galement slectionner Fichier > Nouveau, puis le modle AIR for Android.
3 Enregistrez le document sous le nom HelloWorld.fla.

Programmation du code
Etant donn que ce didacticiel nest pas consacr la programmation du code, contentez-vous de programmer Hello,
World! sur la scne laide de loutil Texte.

Dfinition des proprits de lapplication


1 Slectionnez Fichier > Paramtres dAIR for Android.
2 Sur longlet Gnral, dfinissez les paramtres suivants :
Fichier de sortie : HelloWorld.apk
Nom de lapplication : HelloWorld
ID de lapplication : HelloWorld
Version : 0.0.1
Format : Portrait

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 27
Cration dune premire application AIR

3 Sur longlet Dploiement, dfinissez les paramtres suivants :


Certificat : pointez vers un certificat de signature du code AIR valide. Vous pouvez cliquer sur le bouton Crer
pour crer un certificat. (Les applications Android dployes via Android Market doivent disposer de certificats
valides jusquen 2033 au moins.) Entrez le mot de passe associ au certificat dans le champ Mot de passe.
Type de dploiement Android : Dboguer
Aprs la publication : slectionnez les deux options.
Entrez le chemin daccs loutil ADB dans le sous-rpertoire tools du kit SDK dAndroid.
4 Cliquez sur OK pour fermer la bote de dialogue Paramtres AIR for Android.
A ce stade de son dveloppement, lapplication ne requiert ni icnes, ni autorisations. La plupart des applications
AIR for Android ncessitent certaines autorisations pour accder aux fonctionnalits protges. Contentez-vous de
dfinir les autorisations rellement requises par lapplication, car les utilisateurs risquent de la rejeter si elle
demande un nombre trop lev dautorisations.
5 Enregistrez le fichier.

Mise en package et installation de lapplication sur le priphrique Android


1 Veillez activer le dbogage USB sur le priphrique. Vous pouvez activer le dbogage USB dans lapplication
Rglages via Applications > Dveloppement.
2 Connectez le priphrique lordinateur via un cble USB.
3 Le cas chant, installez le moteur dexcution dAIR. Pour ce faire, accdez Android Market et tlchargez Adobe
AIR. (Vous pouvez galement installer AIR localement laide de la commande ADT Commande ADT
installRuntime la page 186. Le kit SDK dAndroid contient les packages Android destins aux mulateurs et
priphriques Android.)
4 Slectionnez Fichier > Publier.
Flash Professional cre le fichier APK, installe lapplication sur le priphrique Android connect et la lance.

Cration dune premire application AIR for iOS


AIR 2.6 ou ultrieur, iOS 4.2 ou ultrieur

Vous pouvez programmer le code des fonctionnalits dune application iOS, les crer et les tester par le biais doutils
Adobe uniquement. Toutefois, pour installer une application iOS sur un priphrique et la distribuer, vous devez
appartenir au programme iOS Developer dApple (service payant). Une fois membre du programme iOS Developer,
vous pouvez accder au portail iOS Provisioning Portal, o vous pouvez obtenir dApple les lments et fichiers
suivants, dont vous devez disposer pour installer une application sur un priphrique des fins de test et de
distribution ultrieure :
Certificats de dveloppement et de distribution
ID dapplication
Fichiers de configuration pour le dveloppement et la distribution dapplications

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 28
Cration dune premire application AIR

Cration du contenu de lapplication


Crez un fichier SWF qui affiche le texte Hello world! Vous disposez cet effet de Flash Professional, Flash Builder
ou dun autre IDE. Cet exemple fait simplement appel un diteur de texte et au compilateur SWF de ligne de
commande intgr au kit SDK de Flex.
1 Crez un rpertoire destin aux fichiers de lapplication un emplacement adquat. Crez le fichier HelloWorld.as
et modifiez-le dans lditeur de code de votre choix.
2 Ajoutez le code suivant :
package{

import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.text.TextFieldAutoSize;

public class HelloWorld extends Sprite


{
public function HelloWorld():void
{
var textField:TextField = new TextField();
textField.text = "Hello World!";
textField.autoSize = TextFieldAutoSize.LEFT;

var format:TextFormat = new TextFormat();


format.size = 48;

textField.setTextFormat ( format );
this.addChild( textField );
}
}
}

3 Compilez la classe laide du compilateur amxmlc :


amxmlc HelloWorld.as

Un fichier SWF, HelloWorld.swf, est cr dans le mme dossier.


Remarque : cet exemple considre comme acquis que vous avez dfini la variable denvironnement path de sorte
inclure le rpertoire dans lequel rside amxmlc. Pour plus dinformations sur la dfinition de la variable path, voir
Variables denvironnement path la page 321. Vous pouvez galement saisir le chemin daccs complet amxmlc
et aux autres outils de ligne de commande utiliss dans cet exemple.

Cration des icnes et des graphiques de lcran initial de lapplication


Toutes les applications iOS contiennent des icnes affiches dans linterface utilisateur de lapplication iTunes et sur
lcran du priphrique.
1 Crez un rpertoire au sein du rpertoire de projet et affectez-lui le nom icons .
2 Crez trois fichiers PNG dans le rpertoire icons, Nommez-les Icon_29.png, Icon_57.png et Icon_512.png.
3 Modifiez les fichiers PNG pour crer des graphiques adapts lapplication. Les fichiers doivent mesurer 29 pixels
sur 29 pixels, 57 pixels sur 57 pixels et 512 pixels sur 512 pixels. Dans le cadre de ce test, vous pouvez vous contenter
de carrs de couleur unie.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 29
Cration dune premire application AIR

Remarque : lorsque vous envoyez une application lApp Store dApple, vous utilisez une version JPG (et non PNG)
du fichier de 512 pixels. La version PNG est rserve au test des versions de dveloppement dune application.
Toute application iPhone affiche une image initiale lors de son chargement sur liPhone. Vous dfinissez cette image
initiale dans un fichier PNG, comme suit :
1 Dans le rpertoire de dveloppement principal, crez un fichier PNG appel Default.png. (Ne placez pas ce fichier
dans le sous-rpertoire icons et respectez la casse du nom du fichier.)
2 Modifiez le fichier de sorte que ses dimensions correspondent 320 pixels de large sur 480 pixels de haut. Pour le
moment, contentez-vous dun contenu compos dun rectangle blanc uni, que vous modifierez ultrieurement.
Pour plus dinformations sur ces graphiques, voir Icnes dune application la page 92.

Cration du fichier descripteur de lapplication


Crez un fichier descripteur de lapplication qui spcifie les proprits de base de cette dernire. Vous disposez cet
effet dun IDE tel que Flash Builder ou un diteur de texte.
1 Dans le dossier du projet qui contient HelloWorld.as, crez un fichier XML, HelloWorld-app.xml. Modifiez ce
fichier dans lditeur XML de votre choix.
2 Ajoutez le code XML suivant :
<?xml version="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/2.7" minimumPatchLevel="0">
<id>change_to_your_id</id>
<name>Hello World iOS</name>
<versionNumber>0.0.1</versionNumber>
<filename>HelloWorld</filename>
<supportedProfiles>mobileDevice</supportedProfiles>
<initialWindow>
<content>HelloWorld.swf</content>
<title>Hello World!</title>
</initialWindow>
<icon>
<image29x29>icons/AIRApp_29.png</image29x29>
<image57x57>icons/AIRApp_57.png</image57x57>
<image512x512>icons/AIRApp_512.png</image512x512>
</icon>
</application>

Par souci de simplicit, cet exemple ne dfinit que quelques-unes des proprits disponibles.
Remarque : Si vous utilisez AIR 2 ou une version antrieure, vous devez utiliser llment <version> et non llment
<versionNumber>.

3 Remplacez lID de lapplication par lID spcifi dans le portail iOS Provisioning Portal. (Nincluez pas de prfixe
au dbut de lID dapplication.)
4 Testez lapplication avec lapplication ADL :
adl HelloWorld-app.xml -screensize iPhone

Lapplication ADL devrait ouvrir une fentre sur le bureau dans laquelle figure le texte Hello World!. Si tel nest pas
le cas, vrifiez si le code source et le fichier descripteur dapplication contiennent des erreurs.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 30
Cration dune premire application AIR

Compilation du fichier IPA


Vous pouvez maintenant compiler le fichier dinstallation IPA laide de loutil ADT, comme suit : Vous devez
disposer de la cl prive et du certificat de dveloppement Apple au format P12, ainsi que du profil de configuration
pour le dveloppement Apple.
Excutez loutil ADT en spcifiant les options suivantes (remplacez les valeurs keystore, storepass et provisioning-
profile par vos propres valeurs) :
adt -package -target ipa-debug
-keystore iosPrivateKey.p12 -storetype pkcs12 -storepass qwerty12
-provisioning-profile ios.mobileprovision
HelloWorld.ipa
HelloWorld-app.xml
HelloWorld.swf icons Default.png

(Utilisez une ligne de commande unique. Les sauts de ligne qui figurent dans cet exemple ont pour unique objet de
faciliter la lecture du code.)
Loutil ADT gnre le fichier dinstallation de lapplication iOS, HelloWorld.ipa, dans le rpertoire du projet. La
compilation du fichier IPA prend parfois quelques minutes.

Installation de lapplication sur un priphrique


Pour installer lapplication iOS des fins de test :
1 Ouvrez lapplication iTunes.
2 Le cas chant, ajoutez iTunes le profil de configuration associ lapplication. Dans iTunes, slectionnez Fichier
> Ajouter le fichier la bibliothque. Slectionnez ensuite le fichier du profil de configuration (dont le type de
fichier correspond mobileprovision).
Utilisez prsent le profil de configuration pour le dveloppement afin de tester lapplication sur le priphrique
de dveloppement.
Lors de la distribution ultrieure de lapplication sur liTunes Store, vous utiliserez le profil de distribution. Pour
procder une distribution ad hoc de lapplication (en dautres termes, pour la distribuer sur plusieurs
priphriques sans passer par liTunes Store), utilisez le profil de configuration ad hoc.
Pour plus dinformations sur les profils de configuration, voir Configuration diOS la page 69.
3 Certaines versions diTunes ne remplacent pas lapplication si une version identique de lapplication est dj
installe. Dans ce cas de figure, supprimez lapplication du priphrique et de la liste dapplications dans iTunes.
4 Double-cliquez sur le fichier IPA associ lapplication. Elle devrait apparatre dans la liste dapplications diTunes.
5 Connectez le priphrique au port USB de lordinateur.
6 Dans iTunes, vrifiez sur longlet Application associ au priphrique que lapplication est slectionne dans la liste
dapplications installer.
7 Slectionnez le priphrique dans la liste de gauche dapplications. Cliquez ensuite sur le bouton Synchroniser. Une
fois la synchronisation termine, lapplication Hello World apparat sur liPhone.
Si la nouvelle version nest pas installe, supprimez-la du priphrique et de la liste dapplications dans iTunes, puis
rptez la procdure. Ce cas de figure se produit parfois si la version actuellement installe utilise le mme ID et le
mme numro.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 31
Cration dune premire application AIR

Modification des graphiques de lcran initial


Avant de compiler lapplication, vous avez cr le fichier Default.png (voir Cration des icnes et des graphiques de
lcran initial de lapplication la page 28). Ce fichier PNG contient limage de dmarrage affiche lors du
chargement de lapplication. Lorsque vous avez test lapplication sur liPhone, peut-tre avez-vous remarqu lcran
vide au dmarrage.
Remplacez cette image par lcran de dmarrage de lapplication ( Hello World! ) en procdant comme suit :
1 Ouvrez lapplication sur le priphrique. Lorsque la premire occurrence du texte Hello World apparat,
appuyez sur le bouton principal (figurant sous lcran) et maintenez-le enfonc. Tout en maintenant appuy le
bouton principal, appuyez sur le bouton Marche/Veille figurant dans la partie suprieure de liPhone. Vous
effectuez ainsi une capture dcran, qui est envoye Pellicule.
2 Transfrez limage sur lordinateur de dveloppement via iPhoto ou toute autre application adapte. (Sous Mac OS,
vous disposez galement de lapplication Transfert dimages.)
Vous pouvez aussi envoyer la photo par E-mail lordinateur de dveloppement, comme suit :
Ouvrez lapplication Photos.
Ouvrez Pellicule.
Ouvrez la capture dcran que vous avez effectue.
Touchez limage, puis le bouton flch figurant dans langle infrieur gauche. Cliquez ensuite sur le bouton
Envoyer par courrier et envoyez limage votre propre adresse lectronique.
3 Remplacez le fichier Default.png, qui rside dans le rpertoire de dveloppement, par une version PNG de la
capture dcran effectue.
4 Recompilez lapplication (voir Compilation du fichier IPA la page 30) et installez-la nouveau sur le
priphrique.
Lapplication utilise prsent le nouvel cran de dmarrage au chargement.
Remarque : sous rserve de respecter les dimensions requises (320 x 480 pixels), libre vous de crer nimporte quel
graphique pour le fichier Default.png. Il est toutefois prfrable que limage issue du fichier Default.png corresponde
ltat initial de lapplication.

Cration dune premire application AIR de type HTML


dans Dreamweaver
Pour vous familiariser rapidement avec le fonctionnement dAdobe AIR, suivez les instructions ci-dessous, qui
permettent de crer et de mettre en package une application AIR HTML simple, appele Hello World laide de
lextension Adobe AIR pour Dreamweaver.
Le cas chant, tlchargez et installez Adobe AIR, ladresse suivante : www.adobe.com/go/air_fr.
Pour plus dinformations sur linstallation de lextension Adobe AIR pour Dreamweaver, voir Installation de
lextension Adobe AIR pour Dreamweaver.
Pour une prsentation de lextension, y compris la configuration systme requise, voir Extension AIR pour
Dreamweaver.
Remarque : vous ne pouvez dvelopper des applications AIR de type HTML que pour les profils desktop et
extendedDesktop. Le profil mobile nest pas pris en charge.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 32
Cration dune premire application AIR

Prparation des fichiers de lapplication


La premire page et toutes les pages connexes de lapplication Adobe AIR doivent tre dfinies dans un site
Dreamweaver, comme suit :
1 Dmarrez Dreamweaver et assurez-vous quun site est dfini.
2 Pour ouvrir une nouvelle page HTML, slectionnez Fichier > Nouveau, choisissez HTML dans la colonne Type de
page et Sans dans la colonne Mise en forme, puis cliquez sur Crer.
3 Dans la nouvelle page, tapez Hello World!
Cet exemple est extrmement simple, mais vous avez tout loisir dappliquer un style au texte, dajouter du contenu
supplmentaire la page, de lier dautres pages cette premire page, etc.
4 Enregistrez la page (Fichier > Enregistrer) sous le nom hello_world.html. Veillez enregistrer la page dans un site
Dreamweaver.
Pour plus dinformations sur les sites Dreamweaver, voir laide de Dreamweaver.

Cration de lapplication Adobe AIR


1 Assurez-vous que la page hello_world.html est ouverte dans la fentre de document Dreamweaver (voir la section
prcdente pour plus dinformations sur la procdure de cration de cette page).
2 Slectionnez Site > Paramtres de lapplication AIR.
La plupart des paramtres obligatoires de la bote de dialogue Paramtres de lapplication AIR et du programme
dinstallation sont automatiquement renseigns. Vous devez cependant slectionner le contenu initial (premire
page) de votre application.
3 Cliquez sur le bouton Parcourir en regard de loption Contenu initial, recherchez la page hello_world.html et
slectionnez-la.
4 En regard de loption Signature numrique, cliquez sur le bouton Dfinir.
Une signature numrique garantit que le code dune application na pas t altr ni endommag depuis sa cration
par le dveloppeur, et il est obligatoire den dfinir une pour toutes les applications Adobe AIR.
5 Dans la bote de dialogue Signature numrique, slectionnez loption Signer le package AIR avec un certificat
numrique et cliquez sur le bouton Crer (si vous avez dj accs un certificat numrique, vous pouvez cliquer
sur le bouton Parcourir pour le slectionner).
6 Renseignez les champs obligatoires de la bote de dialogue Certificat numrique auto-sign. Vous devez indiquer
votre nom, entrez et confirmez un mot de passe et attribuez un nom au fichier de certificat numrique.
Dreamweaver enregistre le certificat numrique dans la racine de votre site.
7 Cliquez sur OK pour revenir bote de dialogue Signature numrique.
8 Dans la bote de dialogue Signature numrique, entrez le mot de passe spcifi pour le certificat numrique et
cliquez sur OK.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 33
Cration dune premire application AIR

La bote de dialogue Paramtres de lapplication AIR et du programme dinstallation se prsente maintenant


comme suit, par exemple :

Pour plus dinformations sur toutes les options de la bote de dialogue et leur modification, voir Cration dune
application AIR dans Dreamweaver.
9 Cliquez sur le bouton Crer un fichier AIR.
Dreamweaver cre le fichier de lapplication Adobe AIR et lenregistre dans le dossier racine du site. Il cre
galement le fichier application.xml au mme emplacement. Ce fichier sert de manifeste et dfinit diffrentes
proprits de lapplication.

Installation de lapplication sur un bureau


Maintenant que vous avez cr le fichier de lapplication, vous pouvez linstaller sur un bureau.
1 Transfrez le fichier de lapplication Adobe AIR du site Dreamweaver vers votre bureau ou tout autre bureau.
Cette tape est facultative. Si vous le souhaitez, vous pouvez installer la nouvelle application sur lordinateur partir
du rpertoire du site Dreamweaver.
2 Double-cliquez sur le fichier excutable de lapplication (fichier .air) pour installer celle-ci.

Aperu de lapplication Adobe AIR


Vous pouvez afficher un aperu des pages constituant une application AIR tout moment. Vous ntes donc pas oblig
de mettre lapplication en package pour voir comment elle se prsentera une fois installe.
1 Le cas chant, ouvrez la page hello_world.html dans la fentre de document Dreamweaver.
2 Sur la barre doutils Document, cliquez sur le bouton Aperu/Dbogage dans le navigateur, puis slectionnez
Aperu dans AIR.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 34
Cration dune premire application AIR

Vous pouvez aussi appuyer sur Ctrl+Maj+F12 (Windows) ou Cmd+Maj+F12 (Macintosh).


Lorsque vous affichez un aperu de cette page, son apparence est identique ce que voit lutilisateur une fois quil
a install lapplication sur un bureau.

Cration dune premire application AIR de type HTML


laide du kit SDK dAIR
Pour vous familiariser rapidement avec le fonctionnement dAdobe AIR, suivez les instructions ci-dessous, qui
permettent de crer et de mettre en package une application AIR HTML simple, appele Hello World .
Avant de commencer, vous devez installer le moteur dexcution et configurer le kit SDK AIR. Dans ce didacticiel, vous
allez utiliser lapplication de dbogage du lanceur AIR et loutil AIR Developer (ADT). Les outils ADL et ADT sont des
programmes de ligne de commande et rsident dans le rpertoire bin du kit SDK AIR (voir Installation du kit de
dveloppement SDK AIR la page 17). Dans ce didacticiel, il est considr comme acquis que vous savez excuter
des programmes partir de la ligne de commande et configurer les variables denvironnement path requises par le
systme dexploitation.
Remarque : si vous utilisez Adobe Dreamweaver, voir Cration dune premire application AIR de type HTML dans
Dreamweaver la page 31.
Remarque : vous ne pouvez dvelopper des applications AIR de type HTML que pour les profils desktop et
extendedDesktop. Le profil mobile nest pas pris en charge.

Cration des fichiers du projet


Chaque projet AIR HTML doit contenir les deux fichiers suivants : un fichier descripteur dapplication, qui dfinit les
mtadonnes de lapplication, et une page HTML de niveau suprieur. Outre ces fichiers obligatoires, le projet
comprend galement un fichier de code JavaScript, AIRAliases.js, qui dfinit des variables dalias pratiques pour les
classes des API AIR.
1 Crez le rpertoire HelloWorld qui contiendra les fichiers du projet.
2 Crez le fichier XML HelloWorld-app.xml.
3 Crez le fichier HTML HelloWorld.html.
4 Copiez AIRAliases.js du dossier frameworks du kit SDK AIR vers le rpertoire du projet.

Cration du fichier descripteur dapplication AIR


Pour commencer programmer lapplication AIR, crez un fichier descripteur dapplication XML contenant la
structure suivante :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 35
Cration dune premire application AIR

<application xmlns="...">
<id></id>
<versionNumber></versionNumber>
<filename></filename>
<initialWindow>
<content></content>
<visible></visible>
<width></width>
<height></height>
</initialWindow>
</application>

1 Ouvrez le fichier HelloWorld-app.xml en vue de le modifier.


2 Ajoutez llment <application> racine avec pour attribut lespace de noms AIR :
<application xmlns="http://ns.adobe.com/air/application/2.7"> Le dernier segment de lespace de noms, 2.7 ,
indique la version du moteur dexcution requis par lapplication.
3 Ajoutez llment <id> :
<id>examples.html.HelloWorld</id> LID identifie lapplication de manire unique, en conjonction avec lID
dditeur (driv par AIR du certificat de signature du package dapplication). LID dapplication assure
linstallation, laccs au rpertoire de stockage du systme de fichiers de lapplication priv, laccs aux
emplacements de stockage chiffrs privs et la communication entre les applications.
4 Ajoutez llment <versionNumber> :
<versionNumber>0.1</versionNumber> Permet lutilisateur de dterminer la version de lapplication quil
installe.
Remarque : si vous utilisez AIR 2 ou une version antrieure, vous devez utiliser llment <version> et non llment
<versionNumber>.

5 Ajoutez llment <filename> :


<filename>HelloWorld</filename> Nom utilis pour le fichier excutable et le rpertoire dinstallation de
lapplication, ainsi que pour les autres rfrences cette dernire dans le systme dexploitation.
6 Ajoutez llment <initialWindow>, qui contient les lments enfants suivants, afin de spcifier les proprits de
la fentre initiale de lapplication :
<content>HelloWorld.html</content> Identifie le fichier HTML racine que doit charger AIR.
<visible>true</visible> Indique que la fentre est immdiatement visible.
<width>400</width> Dfinit la largeur de la fentre (en pixels).
<height>200</height> Dfinit la hauteur de la fentre.
7 Enregistrez le fichier. Le fichier descripteur dapplication termin se prsente comme suit :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 36
Cration dune premire application AIR

<?xml version="1.0" encoding="UTF-8"?>


<application xmlns="http://ns.adobe.com/air/application/2.7">
<id>examples.html.HelloWorld</id>
<versionNumber>0.1</versionNumber>
<filename>HelloWorld</filename>
<initialWindow>
<content>HelloWorld.html</content>
<visible>true</visible>
<width>400</width>
<height>200</height>
</initialWindow>
</application>

Cet exemple se contente de dfinir quelques-unes des proprits dapplication disponibles. Voir Fichiers descripteurs
dapplications AIR la page 217 pour consulter la liste complte des proprits de lapplication, qui permettent de
dfinir des paramtres tels que le chrome, la taille et la transparence des fentres, le rpertoire dinstallation par dfaut,
les types de fichier associs et les icnes de lapplication.

Cration de la page HTML de lapplication


Vous devez prsent crer une page HTML simple qui constituera le fichier principal de lapplication AIR.
1 Ouvrez le fichier HelloWorld.html en vue de le modifier. Ajoutez le code HTML suivant :
<html>
<head>
<title>Hello World</title>
</head>
<body onLoad="appLoad()">
<h1>Hello World</h1>
</body>
</html>

2 Dans la section <head> du code HTML, importez le fichier AIRAliases.js :


<script src="AIRAliases.js" type="text/javascript"></script>

AIR dfinit une proprit appele runtime sur lobjet de fentre HTML. Cette proprit permet daccder aux
classes AIR intgres, laide du nom de package complet de la classe. Pour crer un objet File AIR, par exemple,
vous pourriez ajouter linstruction suivante en JavaScript :
var textFile = new runtime.flash.filesystem.File("app:/textfile.txt");

Le fichier AIRAliases.js dfinit des alias pratiques pour les API AIR les plus utiles. Grce lui, vous pouvez par
exemple raccourcir la rfrence la classe File comme suit :
var textFile = new air.File("app:/textfile.txt");

3 Sous la balise script dAIRAliases, ajoutez une autre balise script contenant une fonction JavaScript pour grer
lvnement onLoad :
<script type="text/javascript">
function appLoad(){
air.trace("Hello World");
}
</script>

La fonction appLoad() appelle simplement la fonction air.trace(). Lorsque vous excutez lapplication laide
dADL, le message de trace simprime sur la console de commande. Les instructions de trace peuvent tre trs utiles
pour le dbogage.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 37
Cration dune premire application AIR

4 Enregistrez le fichier.
Le fichier HelloWorld.html doit maintenant se prsenter comme suit :
<html>
<head>
<title>Hello World</title>
<script type="text/javascript" src="AIRAliases.js"></script>
<script type="text/javascript">
function appLoad(){
air.trace("Hello World");
}
</script>
</head>
<body onLoad="appLoad()">
<h1>Hello World</h1>
</body>
</html>

Test de lapplication
Pour excuter et tester lapplication partir de la ligne de commande, faites appel lapplication de dbogage du
lanceur AIR (ADL). Le fichier excutable ADL se trouve dans le rpertoire bin du kit SDK AIR. Si vous navez pas
encore install le kit SDK AIR, voir Installation du kit de dveloppement SDK AIR la page 17.
1 Ouvrez une console ou un shell de commande. Passez dans le rpertoire cr pour ce projet.
2 Excutez la commande suivante :
adl HelloWorld-app.xml

Une fentre AIR contenant lapplication saffiche. La fentre de la console prsente galement le message rsultant
de lappel air.trace().
Pour plus dinformations, voir Fichiers descripteurs dapplications AIR la page 217.

Cration du fichier dinstallation AIR


Lorsque lapplication sexcute correctement, vous pouvez, laide de loutil ADT, la mettre en package sous forme de
fichier dinstallation AIR, c--d. un fichier darchives contenant tous les fichiers de lapplication, que vous pouvez
distribuer vos utilisateurs. Pour pouvoir installer un fichier AIR mis en package, vous devez installer Adobe AIR.
Pour garantir la scurit des applications, tous les fichiers dinstallation AIR doivent tre signs numriquement. A des
fins de dveloppement, vous pouvez gnrer un certificat auto-sign de base laide de loutil ADT ou dun autre outil
de gnration de certificats. Libre vous galement dacheter un certificat de signature de code commercial auprs
dune autorit de certification telle que VeriSign ou Thawte. Lorsque les utilisateurs installent un fichier AIR auto-
sign, lditeur porte la mention Inconnu pendant le processus dinstallation. En effet, un certificat auto-sign
garantit uniquement que le fichier AIR na pas t modifi depuis sa cration. Rien nempche une tierce personne de
prsenter un faux fichier AIR auto-sign comme tant votre application. Il est fortement recommand de signer les
fichiers AIR que vous publiez au moyen dun certificat commercial vrifiable. Pour une prsentation de la scurit AIR,
voir Scurit AIR (dveloppeurs ActionScript) ou Scurit AIR (dveloppeurs HTML).

Gnration dun certificat auto-sign et dune paire de cls


A linvite de commande, entrez la commande suivante (le fichier excutable ADT se trouve dans le rpertoire bin
du kit SDK AIR) :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 38
Cration dune premire application AIR

adt -certificate -cn SelfSigned 1024-RSA sampleCert.pfx samplePassword

Loutil ADT gnre le fichier de magasin de cls sampleCert.pfx, qui contient un certificat et la cl prive
correspondante.
Cet exemple utilise le nombre minimal dattributs quil est possible de dfinir pour un certificat. Le type de cl doit
correspondre 1024-RSA ou 2048-RSA (voir Signature dapplications AIR la page 200).

Cration du fichier dinstallation AIR


A linvite de commande, entrez la commande suivante (sur une mme ligne) :
adt -package -storetype pkcs12 -keystore sampleCert.pfx HelloWorld.air
HelloWorld-app.xml HelloWorld.html AIRAliases.js

Vous tes invit entrer le mot de passe du fichier de magasin de cls.


Largument HelloWorld.air correspond au fichier AIR gnr par loutil ADT. HelloWorld-app.xml est le fichier
descripteur dapplication. Les autres arguments reprsentent les fichiers utiliss par lapplication. Cet exemple
nutilise que deux fichiers, mais vous pouvez inclure tout nombre de fichiers et de rpertoires. Loutil ADT vrifie
que le fichier de contenu principal, HelloWorld.html, figure dans le package, mais si vous omettez le fichier
AIRAliases.js, lapplication ne fonctionne pas.
Une fois le package AIR cr, vous pouvez double-cliquer dessus pour installer et excuter lapplication. Libre
vous galement dentrer le nom de fichier AIR en tant que commande dans une fentre de shell ou de commande.

Etapes suivantes
Dans AIR, le code HTML et JavaScript se comporte gnralement comme sil se trouvait dans un navigateur Web
ordinaire. (De fait, AIR utilise le mme moteur de rendu WebKit que le navigateur Web Safari.) Cependant, vous devez
connatre quelques diffrences notoires lorsque vous dveloppez des applications HTML dans AIR. Pour plus
dinformations sur ces diffrences et dautres sujets importants, voir Programming HTML and JavaScript (disponible
en anglais uniquement).

Cration dune premire application de bureau AIR


laide du kit SDK de Flex
A titre dillustration rapide et pratique du fonctionnement dAdobe AIR, suivez ces instructions pour crer une
application AIR simple base sur SWF, Hello World , par le biais du kit SDK Flex. Ce didacticiel illustre la
compilation, le test et la mise en package dune application AIR laide des outils de ligne de commande intgrs au
kit SDK de Flex (ce dernier contient le kit SDK dAIR).
Avant de commencer, vous devez installer le moteur dexcution et configurer Adobe Flex. Ce didacticiel fait appel
au compilateur AMXMLC, lapplication de dbogage du lanceur AIR (ADL) et loutil AIR Developer (ADT). Ces
programmes rsident dans le rpertoire bin du kit SDK Flex (voir Configuration du kit SDK Flex la page 19).

Cration du fichier descripteur dapplication AIR


Cette section est consacre la cration du fichier descripteur dapplication, savoir un fichier XML dont la structure
est la suivante :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 39
Cration dune premire application AIR

<application xmlns="...">
<id>...</id>
<versionNumber>...</versionNumber>
<filename></filename>
<initialWindow>
<content></content>
<visible></visible>
<width></width>
<height></height>
</initialWindow>
</application>

1 Crez un fichier XML appel HelloWorld-app.xml et enregistrez-le dans le rpertoire du projet.


2 Ajoutez llment <application> avec pour attribut lespace de noms AIR :
<application xmlns="http://ns.adobe.com/air/application/2.7"> Le dernier segment de lespace de noms, 2.7 ,
indique la version du moteur dexcution requis par lapplication.
3 Ajoutez llment <id> :
<id>samples.flex.HelloWorld</id> LID identifie lapplication de manire unique, en conjonction avec lID
dditeur (driv par AIR du certificat de signature du package dapplication). Le format recommand correspond
une chane de style DNS invers dont les lments sont spars par un point, telle que
com.company.AppName . LID dapplication assure linstallation, laccs au rpertoire de stockage du systme
de fichiers de lapplication priv, laccs aux emplacements de stockage chiffrs privs et la communication entre
les applications.
4 Ajoutez llment <versionNumber> :
<versionNumber>1.0</versionNumber> Permet lutilisateur de dterminer la version de lapplication quil
installe.
Remarque : si vous utilisez AIR 2 ou une version antrieure, vous devez utiliser llment <version> et non llment
<versionNumber>.

5 Ajoutez llment <filename> :


<filename>HelloWorld</filename> Nom du fichier excutable et du rpertoire dinstallation de lapplication,
ainsi que des autres rfrences cette dernire dans le systme dexploitation.
6 Ajoutez llment <initialWindow>, qui contient les lments enfants suivants, afin de spcifier les proprits de
la fentre initiale de lapplication :
<content>HelloWorld.swf</content> Identifie le fichier SWF racine que doit charger AIR.
<visible>true</visible> Indique que la fentre est immdiatement visible.
<width>400</width> Dfinit la largeur de la fentre (en pixels).
<height>200</height> Dfinit la hauteur de la fentre.
7 Enregistrez le fichier. Le format du fichier descripteur dapplication complet est le suivant :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 40
Cration dune premire application AIR

<?xml version="1.0" encoding="UTF-8"?>


<application xmlns="http://ns.adobe.com/air/application/2.7">
<id>samples.flex.HelloWorld</id>
<versionNumber>0.1</versionNumber>
<filename>HelloWorld</filename>
<initialWindow>
<content>HelloWorld.swf</content>
<visible>true</visible>
<width>400</width>
<height>200</height>
</initialWindow>
</application>

Cet exemple se contente de dfinir quelques-unes des proprits dapplication disponibles. Voir Fichiers descripteurs
dapplications AIR la page 217 pour consulter la liste complte des proprits de lapplication, qui permettent de
dfinir des paramtres tels que le chrome, la taille et la transparence des fentres, le rpertoire dinstallation par dfaut,
les types de fichier associs et les icnes de lapplication.

Programmation du code de lapplication


Remarque : les applications AIR bases sur SWF peuvent utiliser une classe principale dfinie avec MXML ou Adobe
ActionScript 3.0. Cet exemple dfinit sa classe principale par le biais dun fichier MXML. Le processus de cration dune
application AIR avec une classe ActionScript principale est similaire. Au lieu de compiler un fichier MXML pour obtenir
le fichier SWF, vous compilez le fichier de classe ActionScript. Si vous utilisez ActionScript, la classe principale doit
tendre flash.display.Sprite.
A linstar de toutes les applications Flex, les applications AIR bases sur la structure Flex contiennent un fichier MXML
principal. Les applications de bureau AIR font appel au composant WindowedApplication en tant qulment racine
au lieu du composant Application. Le composant WindowedApplication fournit les proprits, les mthodes et les
vnements de contrle de lapplication et de sa fentre initiale. Pour les plates-formes et profils pour lesquels AIR ne
prend pas en charge les fentres multiples, continuez utiliser le composant Application. Dans les applications mobiles
Flex, vous disposez galement des composants View ou TabbedViewNavigatorApplication.
La procdure suivante permet de crer lapplication Hello World :
1 Crez un fichier appel HelloWorld.mxml dans un diteur de texte et ajoutez le code MXML suivant :
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
title="Hello World">
</s:WindowedApplication>

2 Ajoutez ensuite un composant Label lapplication (placez-le dans la balise WindowedApplication).


3 Dfinissez la proprit text du composant Label sur Hello AIR .
4 Dfinissez les contraintes de mise en forme de sorte quil reste centr.
Lexemple suivant illustre le code dans son tat actuel :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 41
Cration dune premire application AIR

<?xml version="1.0" encoding="utf-8"?>


<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
title="Hello World">

<s:Label text="Hello AIR" horizontalCenter="0" verticalCenter="0"/>


</s:WindowedApplication>

Compilation de lapplication
Avant dexcuter et de dboguer lapplication, compilez le code MXML dans un fichier SWF par le biais du
compilateur amxmlc. Le compilateur amxmlc rside dans le rpertoire bin du kit SDK Flex. Le cas chant, vous
pouvez dfinir la variable denvironnement path de lordinateur de sorte inclure le rpertoire bin du kit SDK Flex.
Dfinir cette variable denvironnement simplifie lexcution des utilitaires de ligne de commande.
1 Ouvrez une interface de commande ou un terminal et accdez au dossier de projet de lapplication AIR.
2 Entrez la commande suivante :
amxmlc HelloWorld.mxml

Lexcution de amxmlc produit HelloWorld.swf, qui contient le code compil de lapplication.


Remarque : sil est impossible de compiler lapplication, corrigez les fautes dorthographe ou les erreurs de syntaxe. Les
erreurs et les avertissements sont affichs dans la fentre de console dexcution du compilateur amxmlc.
Pour plus dinformations, voir Compilation de fichiers sources MXML et ActionScript pour AIR la page 164.

Test de lapplication
Pour excuter et tester lapplication partir de la ligne de commande, faites appel lapplication de dbogage du
lanceur AIR (ADL) afin de lancer lapplication par le biais du fichier descripteur correspondant. (Lapplication ADL
rside dans le rpertoire bin du kit SDK Flex.)
A linvite de commande, entrez la commande suivante :
adl HelloWorld-app.xml

Lapplication AIR rsultante ressemble lillustration suivante :

Grce aux proprits horizontalCenter et verticalCenter du contrle Label, le texte est plac au centre de la fentre.
Vous pouvez dplacer ou redimensionner la fentre comme pour toute autre application de bureau.
Pour plus dinformations, voir Application de dbogage du lanceur AIR (ADL) la page 168.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 42
Cration dune premire application AIR

Cration du fichier dinstallation AIR


Lorsque lapplication sexcute correctement, vous pouvez, laide de loutil ADT, la mettre en package sous forme de
fichier dinstallation AIR, c--d. un fichier darchives contenant tous les fichiers de lapplication, que vous pouvez
distribuer vos utilisateurs. Pour pouvoir installer un fichier AIR mis en package, vous devez installer Adobe AIR.
Pour garantir la scurit des applications, tous les fichiers dinstallation AIR doivent tre signs numriquement. A des
fins de dveloppement, vous pouvez gnrer un certificat auto-sign de base laide de loutil ADT ou dun autre outil
de gnration de certificats. Vous pouvez galement acheter un certificat dveloppeur auprs dune autorit de
certification commerciale. Lorsque les utilisateurs installent un fichier AIR auto-sign, lditeur porte la mention
Inconnu pendant le processus dinstallation. En effet, un certificat auto-sign garantit uniquement que le fichier
AIR na pas t modifi depuis sa cration. Rien nempche une tierce personne de prsenter un faux fichier AIR auto-
sign comme tant votre application. Il est fortement recommand de signer les fichiers AIR que vous publiez au
moyen dun certificat commercial vrifiable. Pour une prsentation de la scurit AIR, voir Scurit AIR (dveloppeurs
ActionScript) ou Scurit AIR (dveloppeurs HTML).

Gnration dun certificat auto-sign et dune paire de cls


A linvite de commande, entrez la commande suivante (le fichier excutable ADT rside dans le rpertoire bin du
kit SDK Flex) :
adt -certificate -cn SelfSigned 1024-RSA sampleCert.pfx samplePassword

Cet exemple utilise le nombre minimal dattributs quil est possible de dfinir pour un certificat. Le type de cl doit
correspondre 1024-RSA ou 2048-RSA (voir Signature dapplications AIR la page 200).

Cration dun package AIR


A linvite de commande, entrez la commande suivante (sur une mme ligne) :
adt -package -storetype pkcs12 -keystore sampleCert.pfx HelloWorld.air
HelloWorld-app.xml HelloWorld.swf

Vous tes invit entrer le mot de passe du fichier de magasin de cls. Saisissez le mot de passe et appuyez sur
Entre. Les caractres saisis ne sont pas affichs par mesure de scurit.
Largument HelloWorld.air correspond au fichier AIR gnr par loutil ADT. HelloWorld-app.xml est le fichier
descripteur dapplication. Les autres arguments reprsentent les fichiers utiliss par lapplication. Cet exemple
nutilise que trois fichiers, mais vous pouvez inclure un nombre illimit de fichiers et de rpertoires.
Une fois le package AIR cr, vous pouvez double-cliquer dessus pour installer et excuter lapplication. Libre
vous galement dentrer le nom de fichier AIR en tant que commande dans une fentre de shell ou de commande.
Pour plus dinformations, voir Mise en package dun fichier dinstallation AIR de bureau la page 55.

Cration dune premire application AIR for Android


laide du kit SDK de Flex
Installez et configurez au pralable les kits SDK dAIR et de Flex. Ce didacticiel fait appel au compilateur AMXMLC
du kit SDK de Flex, ainsi qu lapplication de dbogage du lanceur AIR (ADL) et loutil AIR Developer (ADT) du kit
SDK dAIR. Voir Configuration du kit SDK Flex la page 19.
Vous devez galement tlcharger et installer le kit SDK dAndroid partir du site Web dAndroid comme indiqu
dans : Android Developers : Installing the SDK (disponible en anglais uniquement).

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 43
Cration dune premire application AIR

Remarque : pour plus dinformations sur le dveloppement dapplications iPhone, voir Cration dune application
iPhone Hello World dans Flash Professional CS5.

Cration du fichier descripteur dapplication AIR


Cette section est consacre la cration du fichier descripteur dapplication, savoir un fichier XML dont la structure
est la suivante :
<application xmlns="...">
<id>...</id>
<versionNumber>...</versionNumber>
<filename></filename>
<initialWindow>
<content></content>
</initialWindow>
<supportedProfiles>...</supportedProfiles>
</application>

1 Crez un fichier XML appel HelloWorld-app.xml et enregistrez-le dans le rpertoire du projet.


2 Ajoutez llment <application> avec pour attribut lespace de noms AIR :
<application xmlns="http://ns.adobe.com/air/application/2.7"> Le dernier segment de lespace de noms, 2.7 ,
indique la version du moteur dexcution requis par lapplication.
3 Ajoutez llment <id> :
<id>samples.android.HelloWorld</id> LID identifie lapplication de manire unique, en conjonction avec lID
dditeur (extrait par AIR du certificat de signature du package dapplication). Le format recommand est une
chane de type DNS invers, dont les valeurs sont spares par un point, telle que com.socit.NomApp .
4 Ajoutez llment <versionNumber> :
<versionNumber>0.0.1</versionNumber> Permet lutilisateur de dterminer la version de lapplication quil
installe.
5 Ajoutez llment <filename> :
<filename>HelloWorld</filename> Nom du fichier excutable et du rpertoire dinstallation de lapplication,
ainsi que des autres rfrences cette dernire dans le systme dexploitation.
6 Ajoutez llment <initialWindow>, qui contient les lments enfants suivants, afin de spcifier les proprits de
la fentre initiale de lapplication :
<content>HelloWorld.swf</content> Identifie le fichier HTML racine que doit charger AIR.
7 Ajoutez llment <supportedProfiles>.
<supportedProfiles>mobileDevice</supportedProfiles> Indique que lapplication sexcute dans le profil mobile
uniquement.
8 Enregistrez le fichier. Le format du fichier descripteur dapplication complet est le suivant :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 44
Cration dune premire application AIR

<?xml version="1.0" encoding="UTF-8"?>


<application xmlns="http://ns.adobe.com/air/application/2.7">
<id>samples.android.HelloWorld</id>
<versionNumber>0.0.1</versionNumber>
<filename>HelloWorld</filename>
<initialWindow>
<content>HelloWorld.swf</content>
</initialWindow>
<supportedProfiles>mobileDevice</supportedProfiles>
</application>

Cet exemple se contente de dfinir quelques-unes des proprits dapplication disponibles. Vous disposez dautres
paramtres dans le fichier descripteur de lapplication. Vous pouvez, par exemple, ajouter
<fullScreen>true</fullScreen> llment initialWindow pour crer une application en plein cran. Pour activer le
dbogage distance et les fonctionnalits accs contrl sous Android, vous devez galement ajouter des
autorisations Android sur le fichier descripteur de lapplication. Etant donn que cette application simple ne requiert
aucune autorisation, il est inutile den ajouter maintenant.
Pour plus dinformations, voir Dfinition des proprits dune application mobile la page 74.

Programmation du code de lapplication


Crez le fichier HelloWorld.as et ajoutez le code suivant laide dun diteur de texte :
package
{
import flash.display.Sprite;
import flash.text.TextField;

public class HelloWorld extends Sprite


{
public function HelloWorld()
{
var textField:TextField = new TextField();
textField.text = "Hello, World!";
stage.addChild( textField );
}
}
}

Compilation de lapplication
Avant dexcuter et de dboguer lapplication, compilez le code MXML dans un fichier SWF par le biais du
compilateur amxmlc. Le compilateur amxmlc rside dans le rpertoire bin du kit SDK Flex. Le cas chant, vous
pouvez dfinir la variable denvironnement path de lordinateur de sorte inclure le rpertoire bin du kit SDK Flex.
Dfinir cette variable denvironnement simplifie lexcution des utilitaires de ligne de commande.
1 Ouvrez une interface de commande ou un terminal et accdez au dossier de projet de lapplication AIR.
2 Entrez la commande suivante :
amxmlc HelloWorld.as

Lexcution de amxmlc produit HelloWorld.swf, qui contient le code compil de lapplication.


Remarque : sil est impossible de compiler lapplication, corrigez les fautes dorthographe ou les erreurs de syntaxe. Les
erreurs et les avertissements sont affichs dans la fentre de console dexcution du compilateur amxmlc.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 45
Cration dune premire application AIR

Pour plus dinformations, voir Compilation de fichiers sources MXML et ActionScript pour AIR la page 164.

Test de lapplication
Pour excuter et tester lapplication partir de la ligne de commande, faites appel lapplication de dbogage du
lanceur AIR (ADL) afin de lancer lapplication par le biais du fichier descripteur correspondant. (Lapplication ADL
rside dans le rpertoire bin des kits SDK dAIR et de Flex.)
A linvite de commande, entrez la commande suivante :
adl HelloWorld-app.xml

Pour plus dinformations, voir Simulation de priphrique laide de lapplication ADL la page 106.

Cration du fichier de package APK


Lorsque lapplication sexcute correctement, vous pouvez la mettre en package sous forme de fichier APK laide de
loutil ADT. Un fichier de package APK correspond au format de fichier dapplication Android natif, que vous pouvez
distribuer aux utilisateurs.
Toutes les applications Android doivent tre signes. A lencontre des fichiers AIR, une application Android est
gnralement signe laide dun certificat auto-sign. Le systme dexploitation Android ne tente pas didentifier le
dveloppeur de lapplication. Vous pouvez signer un package Android laide dun certificat gnr par loutil ADT.
Les certificats associs aux applications destines au march Android doivent tre valides pendant 25 ans au moins.

Gnration dun certificat auto-sign et dune paire de cls


A linvite de commande, entrez la commande suivante (le fichier excutable ADT rside dans le rpertoire bin du
kit SDK Flex) :
adt -certificate -validityPeriod 25 -cn SelfSigned 1024-RSA sampleCert.pfx samplePassword

Cet exemple utilise le nombre minimal dattributs quil est possible de dfinir pour un certificat. Le type de cl doit
tre soit 1024-RSA, soit 2048-RSA (voir Commande ADT certificate la page 183).

Cration dun package AIR


A linvite de commande, entrez la commande suivante (sur une mme ligne) :
adt -package -target apk -storetype pkcs12 -keystore sampleCert.p12 HelloWorld.apk
HelloWorld-app.xml HelloWorld.swf

Vous tes invit entrer le mot de passe du fichier de magasin de cls. Saisissez le mot de passe et appuyez sur
Entre.
Pour plus dinformations, voir Mise en package dune application AIR mobile la page 98.

Installation du moteur dexcution dAIR


Vous pouvez installer la version la plus rcente du moteur dexcution dAIR sur le priphrique partir dAndroid
Market. Vous pouvez galement installer le moteur dexcution intgr au kit SDK sur un priphrique ou un
mulateur Android.
A linvite de commande, entrez la commande suivante (sur une mme ligne) :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 46
Cration dune premire application AIR

adt -installRuntime -platform android -platformsdk

Dfinissez lindicateur -platformsdk sur le rpertoire qui stocke le kit SDK dAndroid (indiquez le parent du
dossier tools).
Loutil ADT installe le fichier Runtime.apk intgr au kit SDK.
Pour plus dinformations, voir Installation du moteur dexcution et des applications AIR des fins de
dveloppement la page 115.

Installation de lapplication AIR


A linvite de commande, entrez la commande suivante (sur une mme ligne) :
adt -installApp -platform android -platformsdk path-to-android-sdk -package path-to-app

Dfinissez lindicateur -platformsdk sur le rpertoire qui stocke le kit SDK dAndroid (indiquez le parent du
dossier tools).
Pour plus dinformations, voir Installation du moteur dexcution et des applications AIR des fins de
dveloppement la page 115.
Vous pouvez lancer lapplication en touchant licne correspondante sur lcran du priphrique ou de lmulateur.

Dernire mise jour le 6/3/2017


47

Chapitre 6 : Dveloppement
dapplications de bureau AIR

Flux de travail de dveloppement dune application de


bureau AIR
Le flux de travail de base de dveloppement dune application AIR sapparente la plupart des modles de
dveloppement : code, compilation, test, puis, en fin de cycle, mise en package dans un fichier de programme
dinstallation.
Vous pouvez programmer le code de lapplication en Flash, Flex, ou ActionScript et le compiler dans Flash
Professional, Flash Builder ou les compilateurs de ligne de commande mxmlc et compc. Vous pouvez galement
programmer le code de lapplication en HTML et JavaScript et sauter ltape de compilation.
Vous pouvez tester des applications de bureau AIR par le biais de lapplication ADL, qui excute une application sans
mise en package et installation pralables. Flash Professional, Flash Builder, Dreamweaver et lIDE Aptana sintgrent
tous au dbogueur Flash. Vous pouvez galement lancer manuellement loutil de dbogage, FDB, lorsque vous utilisez
lapplication ADL partir de la ligne de commande. Lapplication ADL affiche quant elle des messages derreur et
des instructions trace.
Toute application AIR doit tre mise en package dans un fichier dinstallation. Le format du fichier AIR
multiplateformes est recommand, sauf dans les cas suivants :
Vous devez accder des API qui dpendent de la plate-forme, telles que la classe NativeProcess.
Votre application fait appel des extensions natives.
Dans ce cas de figure, vous pouvez mettre en package une application AIR en tant que fichier de programme
dinstallation natif propre une plate-forme donne.

Applications de type SWF


1 Programmez le code MXML ou ActionScript.
2 Crez les actifs requis, tels que les fichiers de bitmap dicne.
3 Crez le fichier descripteur de lapplication.
4 Compilez le code ActionScript.
5 Testez lapplication.
6 Mettez en package lapplication et signez-la en tant que fichier AIR laide de la cible air.

Applications de type HTML


1 Programmez le code HTML et JavaScript.
2 Crez les actifs requis, tels que les fichiers de bitmap dicne.
3 Crez le fichier descripteur de lapplication.
4 Testez lapplication.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 48
Dveloppement dapplications de bureau AIR

5 Mettez en package lapplication et signez-la en tant que fichier AIR laide de la cible air.

Cration de programmes dinstallation natifs destins aux applications AIR


1 Programmez le code (ActionScript ou HTML et JavaScript).
2 Crez les actifs requis, tels que les fichiers de bitmap dicne.
3 Crez le descripteur de lapplication en spcifiant le profil extendedDesktop.
4 Compilez tout code ActionScript.
5 Testez lapplication.
6 Mettez en package lapplication sur chaque plate-forme cible laide de la cible native.
Remarque : le programme dinstallation natif correspondant une plate-forme cible doit tre cr sur cette plate-forme.
Vous ne pouvez pas, par exemple, crer un programme dinstallation Windows sur un ordinateur Mac. Vous pouvez
utiliser une machine virtuelle, telle que VMWare, pour excuter plusieurs plates-formes sur le mme ordinateur.

Cration dapplications AIR laide dun paquet de moteur dexcution captif


1 Programmez le code (ActionScript ou HTML et JavaScript).
2 Crez les actifs requis, tels que les fichiers de bitmap dicne.
3 Crez le descripteur de lapplication en spcifiant le profil extendedDesktop.
4 Compilez tout code ActionScript.
5 Testez lapplication.
6 Mettez en package lapplication sur chaque plate-forme cible laide de la cible bundle.
7 Crez un programme dinstallation laide des fichiers du paquet. (Le kit SDK dAIR ne fournit aucun outil pour
crer un tel programme dinstallation, mais de nombreux kits doutils tiers sont disponibles.)
Remarque : le paquet correspondant une plate-forme cible doit tre cr sur cette plate-forme. Vous ne pouvez pas, par
exemple, crer un paquet Windows sur un ordinateur Mac. Vous pouvez utiliser une machine virtuelle, telle que
VMWare, pour excuter plusieurs plates-formes sur le mme ordinateur.

Dfinition des proprits dune application de bureau


Dfinissez les proprits de base de lapplication dans le fichier descripteur correspondant. Cette section est consacre
aux proprits des applications de bureau AIR. Les lments du fichier descripteur dapplication font lobjet dune
description dtaille dans Fichiers descripteurs dapplications AIR la page 217.

Version du moteur dexcution dAIR requise


Indiquez la version du moteur dexcution dAIR requise par lapplication laide de lespace de noms du fichier
descripteur de lapplication.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 49
Dveloppement dapplications de bureau AIR

Assign dans llment application, lespace de noms dtermine globalement les fonctionnalits dont dispose
lapplication. Ainsi, si lapplication utilise lespace de noms dAIR 1.5 et quAIR 3.0 est install sur lordinateur ou le
priphrique de lutilisateur, elle assimile le comportement dAIR celui de la version 1.5, mme sil a t modifi dans
AIR 3.0. Pour que lapplication accde au nouveau comportement et aux nouvelles fonctionnalits, vous devez au
pralable modifier lespace de noms et publier une mise jour. Les modifications associes la scurit et WebKit
constituent les principales exceptions la rgle.
Spcifiez lespace de noms laide de lattribut xmlns de llment racine application :
<application xmlns="http://ns.adobe.com/air/application/3.0">

Voir aussi
application la page 222

Identit dune application


Plusieurs paramtres devraient tre propres chaque application publie, savoir lID, le nom et le nom de fichier.
<id>com.example.MyApplication</id>
<name>My Application</name>
<filename>MyApplication</filename>

Voir aussi
id la page 239
filename la page 234
name la page 247

Version dune application


Dans les versions dAIR antrieures 2.5, spcifiez lapplication dans llment version. Vous pouvez utiliser
nimporte quelle chane. Le moteur dexcution dAIR ninterprte pas la chane. En dautres termes, 2.0 nest pas
considr comme une version ultrieure 1.0 .
<!-- AIR 2 or earlier -->
<version>1.23 Beta 7</version>

Dans AIR 2.5 et ultrieur, spcifiez la version de lapplication dans llment versionNumber. Llment version est
prsent obsolte. Si vous dfinissez une valeur dans versionNumber, vous devez utiliser une squence de trois
nombres au plus, spars par un point ( 0.1.2 , par exemple). Chaque segment du numro de la version se compose
de trois chiffres au plus. (En dautres termes, la version la plus longue autorise correspond 999.999.999 .) Vous
ne devez pas obligatoirement inclure trois segments dans le nombre. Les numros de version 1 et 1.0 sont
galement valides.
Vous pouvez aussi dfinir le libell de la version laide de llment versionLabel. Si vous ajoutez un libell de
version, il remplace le numro de version dans les botes de dialogue du programme dinstallation de lapplication AIR,
par exemple.
<!-- AIR 2.5 and later -->
<versionNumber>1.23.7<versionNumber>
<versionLabel>1.23 Beta 7</versionLabel>

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 50
Dveloppement dapplications de bureau AIR

Voir aussi
version la page 255
versionLabel la page 255
versionNumber la page 256

Proprits de la fentre principale


LorsquAIR dmarre une application partir du bureau, il cre une fentre et charge dans celle-ci la page HTML ou le
fichier SWF principal. AIR fait appel aux lments enfants de llment initialWindow pour contrler laspect et le
comportement initiaux de la fentre initiale de lapplication.
content : fichier SWF principal de lapplication dans llment enfant content de llment initalWindow. Si vous
ciblez des priphriques dans le profil de bureau, vous pouvez utiliser un fichier SWF ou HTML.
<initialWindow>
<content>MyApplication.swf</content>
</initialWindow>

Vous devez inclure ce fichier dans le package AIR ( laide de loutil ADT ou de lIDE). Se contenter de faire
rfrence au nom dans le descripteur dapplication nentrane pas linclusion automatique du fichier dans le
package.
depthAndStencil : indique sil est ncessaire dutiliser le tampon de profondeur ou le tampon de modle. Ces
tampons sutilisent normalement avec du contenu 3D.
<depthAndStencil>true</depthAndStencil>

height : hauteur de la fentre initiale.


maximizable : indique si le chrome systme dagrandissement de la fentre est affich.
maxSize : taille maximale autorise.
minimizable : indique si le chrome systme de rduction de la fentre en icne est affich.
minSize : taille minimale autorise.
renderMode : dans AIR 3 ou les versions ultrieures, le mode de rendu peut tre dfini sur auto, cpu, direct ou gpu
pour les applications de bureau. Dans les versions antrieures dAIR, ce paramtre est ignor sur les plates-formes
de bureau. Il est impossible de modifier le paramtre renderMode au moment de lexcution.
auto : pratiquement identique au mode cpu.
cpu : les objets daffichage sont rendus et copis pour afficher la mmoire dans le logiciel. StageVideo est
disponible uniquement lorsquune fentre est en mode plein cran. Stage3D fait appel au moteur de rendu du
logiciel.
direct : les objets daffichage sont rendus par le logiciel du moteur dexcution, mais la copie de limage rendue
pour afficher la mmoire (blitting) est effectue par acclration matrielle. StageVideo est disponible. Stage3D
fait appel lacclration matrielle, lorsque cela est possible. Si la transparence de la fentre est dfinie sur true,
la fentre revient au rendu logiciel et au blitting.
Remarque : pour tirer profit de lacclration par processeur graphique du contenu Flash sur les plates-formes AIR
mobiles, Adobe recommande dutiliser renderMode="direct" (cest--dire, Stage3D) plutt que
renderMode="gpu". Adobe prend officiellement en charge les structures dapplication bases sur Stage3D suivantes
et recommande leur utilisation : Starling (2D) et Away3D (3D). Pour plus dinformations sur Stage3D et
Starling/Away3D, voir http://gaming.adobe.com/getstarted/.
gpu : lacclration matrielle est utilise, le cas chant.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 51
Dveloppement dapplications de bureau AIR

requestedDisplayResolution : indique si lapplication doit utiliser le mode de rsolution standard ou high (lev)
sur les ordinateurs MacBook Pro dots dcrans haute rsolution. Sur toutes les autres plates-formes, cette valeur
est ignore. Si sa valeur est standard, chaque pixel de la scne est rendu par quatre pixels lcran. Si la valeur est
high, chaque pixel correspond un seul pixel physique lcran. La valeur spcifie est utilise pour toutes les
fentres dapplication. Lutilisation de llment requestedDisplayResolution pour les applications de bureau
AIR (en tant quenfant de llment intialWindow) est disponible dans AIR 3.6 et ultrieur.
resizable : indique si le chrome systme de redimensionnement de la fentre est affich.
systemChrome : indique si les caractristiques standard du systme dexploitation sont utilises. Il est impossible
de modifier le paramtre systemChrome dune fentre lexcution.
title : titre de la fentre.
transparent : indique si la fentre est semi-transparente par rapport larrire-plan. Si la transparence est active,
la fentre ne peut pas utiliser le chrome systme. Il est impossible de modifier le paramtre transparent dune
fentre lexcution.
visible : indique si la fentre est visible ds sa cration. La fentre est initialement invisible par dfaut, afin que
lapplication puisse dessiner son contenu avant dactiver elle-mme sa visibilit.
width : largeur de la fentre.
x : position horizontale de la fentre.
y : position verticale de la fentre.

Voir aussi
content la page 227
depthAndStencil la page 229
height la page 238
maximizable la page 245
maxSize la page 246
minimizable la page 246
minimizable la page 246
minSize la page 246
renderMode la page 249
requestedDisplayResolution la page 250
resizable la page 251
systemChrome la page 253
title la page 254
transparent la page 255
visible la page 256
width la page 257
x la page 257
y la page 257

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 52
Dveloppement dapplications de bureau AIR

Fonctionnalits associes au bureau


Les lments suivants contrlent les fonctionnalits dinstallation sur le bureau et de mise jour.
customUpdateUI : permet dutiliser vos propres botes de dialogue lors de la mise jour dune application. Si cet
lment est dfini sur false (valeur par dfaut), les botes de dialogue AIR standard sont utilises.
fileTypes : indique les types de fichiers ouverts par dfaut dans lapplication. Si une autre application est dj
associe par dfaut un type de fichier, AIR ne remplace pas lenregistrement existant. Lapplication peut toutefois
remplacer lenregistrement lexcution par le biais de la mthode setAsDefaultApplication() de lobjet
NativeApplication. Il est recommand de demander lutilisateur sil autorise le remplacement dassociations de
types de fichiers existantes.
Remarque : lenregistrement du type de fichier est ignor lors de la mise en package dune application en tant que
paquet de moteur dexcution captif ( laide de la cible -bundle). Pour enregistrer un type de fichier donn, vous
devez crer un programme dinstallation qui effectue lui-mme lenregistrement.
installFolder : indique un chemin relatif au dossier dinstallation standard de lapplication. Ce paramtre permet de
dfinir un nom de dossier personnalis, ainsi que de grouper plusieurs applications dans un dossier commun.
programMenuFolder : indique larborescence de menus associe au menu Tous les programmes de Windows. Ce
paramtre permet de grouper plusieurs applications au sein dun menu commun. Si vous ne spcifiez pas de dossier
de menus, le raccourci associ lapplication est directement ajout au menu principal.

Voir aussi
customUpdateUI la page 229
fileTypes la page 235
installFolder la page 242
programMenuFolder la page 248

Profils pris en charge


Si lapplication ne peut sexcuter que sur le bureau, vous pouvez interdire son installation sur des priphriques issus
dun autre profil en excluant celui-ci de la liste des profils pris en charge. Si lapplication utilise la classe NativeProcess
ou des extensions natives, vous devez prendre en charge le profil extendedDesktop.
Si llment supportedProfile ne figure pas dans le descripteur dapplication, il est considr comme acquis que
lapplication prend en charge tous les profils dfinis. Pour restreindre lapplication une liste dtermine de profils,
recensez ces derniers en sparant chaque profil par un espace blanc :
<supportedProfiles>desktop extendedDesktop</supportedProfiles>

Pour consulter la liste des classes ActionScript prises en charge par les profils desktop et extendedDesktop, voir
Fonctionnalits des diffrents profils la page 260.

Voir aussi
supportedProfiles la page 252

Extensions natives requises


Les applications qui prennent en charge le profil extendedDesktop peuvent recourir aux extensions natives.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 53
Dveloppement dapplications de bureau AIR

Dclarez toutes les extensions natives auxquelles fait appel lapplication AIR dans le descripteur de lapplication.
Lexemple suivant illustre la syntaxe permettant de spcifier deux extensions natives requises :
<extensions>
<extensionID> com.example.extendedFeature</extensionID>
<extensionID> com.example.anotherFeature</extensionID>
</extensions>

La valeur de llment extensionID est identique celle de llment id dans le fichier descripteur de lextension. Le
fichier descripteur de lextension est un fichier XML appel extension.xml. Il est mis en package dans le fichier ANE
fourni par le dveloppeur de lextension native.

Icnes dune application


Les icnes spcifies dans le descripteur dapplication sont associes sur le bureau au fichier dapplication, au raccourci
et au menu du programme. Licne de lapplication doit tre fournie sous la forme dun ensemble dimages PNG de
16x16, 32x32, 48x48 et 128x128 pixels. Spcifiez le chemin daccs aux fichiers dicne dans llment icon du fichier
descripteur de lapplication :
<icon>
<image16x16>assets/icon16.png</image16x16>
<image32x32>assets/icon32.png</image32x32>
<image48x48>assets/icon48.png</image48x48>
<image128x128>assets/icon128.png</image128x128>
</icon>

Si vous ne fournissez pas dicne de la taille indique, la taille suivante est utilise et limage est mise lchelle en
consquence. Si vous ne fournissez pas dicne, une icne systme par dfaut est utilise.

Voir aussi
icon la page 238
imageNxN la page 239

Paramtres ignors
Les applications installes sur le bureau ignorent les paramtres dapplication qui sappliquent aux fonctionnalits dun
profil mobile. Les paramtres ignors sont les suivants :
android
aspectRatio
autoOrients
fullScreen
iPhone
renderMode (versions antrieures AIR 3)
requestedDisplayResolution
softKeyboardBehavior

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 54
Dveloppement dapplications de bureau AIR

Dbogage dune application de bureau AIR


Si vous dveloppez une application par le biais dun IDE tel que Flash Builder, Flash Professional ou Dreamweaver, les
outils de dbogage sont gnralement intgrs. Pour dboguer une application, il suffit de la lancer en mode de
dbogage. Si vous nutilisez pas dIDE qui prend en charge le dbogage direct, vous disposez de lapplication de
dbogage du lanceur AIR (ADL) et du programme Flash Debugger (FDB) pour dboguer lapplication.

Voir aussi
De Monsters: Monster Debugger (disponible en anglais uniquement)
Dbogage laide de loutil AIR HTML Introspector la page 298

Excution dune application laide de lapplication ADL


Lutilisation dADL permet dexcuter une application AIR sans la mettre en package et linstaller. Transmettez le
fichier descripteur de lapplication lapplication ADL sous forme de paramtre, comme illustr par lexemple suivant
(compilez au pralable le code ActionScript de lapplication) :
adl myApplication-app.xml

ADL imprime les instructions trace, les exceptions dexcution et les erreurs danalyse HTML dans la fentre du
terminal. Si un processus FDB attend une connexion entrante, lapplication ADL se connecte au dbogueur.
Vous pouvez galement utiliser ADL pour dboguer une application AIR faisant appel des extensions natives.
Exemple :
adl -extdir extensionDirs myApplication-app.xml

Voir aussi
Application de dbogage du lanceur AIR (ADL) la page 168

Impression dinstructions trace


Pour imprimer des instructions trace sur la console utilise pour excuter ADL, ajoutez des instructions trace au code
laide de la fonction trace() :
Remarque : si vos instructions trace() ne saffichent pas sur la console, assurez-vous de ne pas avoir spcifi
ErrorReportingEnable ou TraceOutputFileEnable dans le fichier mm.cfg. Pour plus dinformations sur
lemplacement propre la plate-forme de ce fichier, voir Modification du fichier mm.cfg.
Exemple ActionScript :
//ActionScript
trace("debug message");

Exemple JavaScript :
//JavaScript
air.trace("debug message");

Dans le code JavaScript, vous pouvez utiliser les fonctions alert() et confirm() afin dafficher les messages de
dbogage provenant de lapplication. En outre, les numros de ligne correspondant aux erreurs de syntaxe, de mme
que toutes les exceptions JavaScript non interceptes sont imprimes sur la console.
Remarque : pour pouvoir utiliser le prfixe air illustr dans lexemple JavaScript, vous devez importer le fichier
AIRAliases.js dans la page. Ce fichier rside dans le rpertoire frameworks du kit SDK dAIR.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 55
Dveloppement dapplications de bureau AIR

Connexion au programme Flash Debugger (FDB)


Pour dboguer une application AIR laide de Flash Debugger, ouvrez une session FDB, puis lancez lapplication
laide dADL.
Remarque : dans les applications AIR de type SWF, il est ncessaire de compiler les fichiers sources ActionScript laide
de lindicateur -debug. (Dans Flash Professional, cochez loption Autoriser le dbogage dans la bote de dialogue
Paramtres de publication.)
1 Lancez le programme FDB. Le programme FDB est disponible dans le rpertoire bin du kit SDK Flex.
La console affiche linvite de FDB : <fdb>
2 Excutez la commande run : <fdb>run [Entre].
3 Dans une console de shell ou de commande diffrente, lancez une version de dbogage de lapplication :
adl myApp.xml

4 A laide des commandes de FDB, dfinissez les points darrt souhaits.


5 Saisissez : continue [Entre]
Si lapplication AIR est de type SWF, le dbogueur ne contrle que lexcution du code ActionScript. Si
lapplication AIR est de type HTML, le dbogueur ne contrle que lexcution du code JavaScript.
Pour excuter ADL sans vous connecter au dbogueur, ajoutez loption -nodebug :
adl myApp.xml -nodebug

Pour obtenir des informations de base sur les commandes FDB, excutez la commande help :
<fdb>help [Enter]

Pour plus dinformations sur les commandes FDB, voir Utilisation des commandes du dbogueur de ligne de
commande dans la documentation Flex.

Mise en package dun fichier dinstallation AIR de


bureau
Chaque application AIR doit disposer dau moins un fichier descripteur dapplication et dun fichier SWF ou HTML
principal. Il est galement impratif de mettre en package dans le fichier AIR tout autre actif installer avec
lapplication.
Cet article est consacr la mise en package dune application AIR laide des outils de ligne de commande intgrs
au kit SDK. Pour plus dinformations sur la mise en package dune application par le biais de lun des outils de cration
dAdobe, voir :
Adobe Flex Builder, voir Packaging AIR applications with Flex Builder (disponible en anglais uniquement)
Adobe Flash Builder, voir Cration de packages dapplication AIR avec Flash Builder
Adobe Flash Professional, voir Publication pour Adobe AIR
Adobe Dreamweaver, voir Cration dune application AIR dans Dreamweaver
Tous les fichiers du programme dinstallation AIR doivent tre signs laide dun certificat numrique. Le
programme dinstallation AIR fait appel la signature pour vrifier que le fichier de lapplication na pas t modifi
depuis que vous y avez appos votre signature. Vous pouvez utiliser un certificat de signature de code provenant dune
autorit de certification ou un certificat auto-sign.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 56
Dveloppement dapplications de bureau AIR

Un certificat mis par une autorit de certification approuve offre aux utilisateurs de lapplication une certaine
garantie de votre identit en tant quditeur. La bote de dialogue dinstallation reflte le fait que votre identit est
vrifie par une autorit de certification :

Bote de dialogue de confirmation de linstallation dune application signe par un certificat approuv

Lorsque vous utilisez un certificat auto-sign, les utilisateurs nont aucun moyen de vrifier que vous tes
vritablement le signataire. Par ailleurs, un tel certificat ne garantit en aucune faon que le package na pas t modifi
(il se peut en effet quun faux soit substitu au fichier dinstallation lgitime avant que lutilisateur ne lait en sa
possession). La bote de dialogue dinstallation reflte le fait que lidentit de lditeur ne peut tre avre. Les risques
scuritaires lis linstallation de lapplication sont donc plus importants :

Bote de dialogue de confirmation de linstallation dune application signe par un certificat auto-sign

Vous pouvez crer et signer un package de fichier AIR au cours de la mme opration grce la commande -package
dADT. Vous avez galement la possibilit de crer un package non sign intermdiaire laide de la commande -
prepare. Vous pouvez ensuite signer ce package intermdiaire au cours dune tape distincte en utilisant la
commande -sign.
Remarque : la version 1.5 et les versions ultrieures de Java ne prennent pas en charge les caractres ASCII tendus dans
les mots de passe de protection des fichiers de certificats PKCS12. Lorsque vous crez ou exportez le fichier de certificat de
signature du code, utilisez uniquement des caractres ASCII ordinaires dans le mot de passe.
Lors de la signature du package dinstallation, loutil ADT contacte automatiquement un serveur dautorit
dhorodatage charg de vrifier lheure. Les informations dhorodatage sont incluses dans le fichier AIR. Un
fichier AIR comprenant un horodatage vrifi peut tre install tout moment par la suite. Si loutil ADT ne parvient
pas se connecter au serveur dhorodatage, la cration du package est annule. Vous pouvez ignorer loption
dhorodatage, mais sans horodatage, il devient impossible dinstaller une application AIR une fois que le certificat
utilis pour signer le fichier dinstallation est arriv expiration.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 57
Dveloppement dapplications de bureau AIR

Vous devez utiliser le certificat dorigine pour signer un package cr pour mettre jour une application AIR existante.
Si vous avez renouvel ce certificat, quil a expir au cours des 180 derniers jours ou que vous souhaitez le remplacer,
vous pouvez apposer une signature de migration. Dans ce cas, le fichier AIR est sign laide des deux certificats,
lancien et le nouveau. La commande -migrate permet dappliquer la signature de migration, comme indiqu la
section Commande ADT migrate la page 182.
Important : vous disposez dun dlai de 180 jours au maximum pour apposer la signature de migration une fois le
certificat dorigine prim. Sans cette signature, les utilisateurs existants doivent dsinstaller leur application existante
pour pouvoir installer la nouvelle version. Le dlai ne sapplique quaux applications pour lesquelles lespace de noms
stipule AIR 1.5.3 ou une version ultrieure dans le fichier descripteur. Lorsque vous ciblez des versions antrieures du
moteur dexcution dAIR, vous ne disposez daucun dlai.
Les signatures de migration ntaient pas prises en charge pralablement AIR 1.1. Pour apposer une signature de
migration, vous devez mettre en package une application laide dun kit de dveloppement SDK version 1.1 ou
ultrieure.
Les applications dployes laide de fichiers AIR font partie du profil de bureau. Il est impossible dutiliser loutil ADT
pour mettre en package un programme dinstallation natif destin une application AIR si le fichier descripteur
correspondant ne prend pas en charge le profil de bureau. Vous pouvez restreindre lutilisation de ce profil laide de
llment supportedProfiles dans le fichier descripteur de lapplication. Voir Profils de priphrique la
page 259 et supportedProfiles la page 252.
Remarque : les paramtres du fichier descripteur dapplication dterminent lidentit dune application AIR et son
chemin dinstallation par dfaut. Voir Fichiers descripteurs dapplications AIR la page 217.

Identifiants dditeur
Depuis AIR 1.5.3, les identifiants dditeur sont obsoltes. Les nouvelles applications (publies lorigine avec
AIR 1.5.3 ou version ultrieure) ne requirent pas didentifiant dditeur et ne doivent pas en spcifier.
Lors de la mise jour dapplications publies laide des versions antrieures dAIR, vous devez spcifier lidentifiant
dditeur dorigine dans le fichier descripteur dapplication, sans quoi la version installe de lapplication et la version
mise jour sont traites comme des applications diffrentes. Si vous utilisez un autre identifiant dditeur ou omettez
la balise publisherID, lutilisateur est contraint de dsinstaller la version antrieure pour pouvoir installer la nouvelle.
Pour dterminer lidentifiant dditeur original, recherchez le fichier publisherid dans le sous-rpertoire META-
INF/AIR du rpertoire dinstallation de lapplication originale. La chane que contient ce fichier correspond
lidentifiant dditeur. Le fichier descripteur de lapplication doit stipuler le moteur dexcution dAIR 1.5.3 (ou version
ultrieure) dans la dclaration despace de noms pour que vous puissiez stipuler manuellement lidentifiant dditeur.
Dans le cas des applications publies avant AIR 1.5.3 (ou de celles publies laide du kit SDK AIR 1.5.3, mais dont
lespace de noms du descripteur spcifie une version antrieure dAIR), un identifiant dditeur est calcul partir du
certificat de signature. Alli lidentifiant dapplication, lidentifiant dditeur permet de dterminer lidentit dune
application. Sil existe, lidentifiant dditeur est utilis comme suit :
Pour vrifier que le fichier AIR est une mise jour et non une nouvelle application installer
Dans la cl de chiffrement destine au magasin local chiffr
Dans le chemin du rpertoire de stockage dapplication
Dans la chane de connexion associe aux connexions locales
Dans la chane didentit destine appeler une application par le biais de lAPI intgre au navigateur dAIR
Dans lOSID (dfinition dinterface de service ouverte) utilise lors de la cration de programmes dinstallation/de
dsinstallation personnaliss

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 58
Dveloppement dapplications de bureau AIR

Pralablement AIR 1.5.3, lidentifiant dditeur dune application pouvait changer si vous aviez sign la mise jour
de celle-ci par le biais dune signature de migration utilisant un certificat nouveau ou renouvel. Toute modification
de lidentifiant dditeur entrane un changement de comportement de toute fonctionnalit AIR base sur celui-ci. Il
devient, par exemple, impossible daccder aux donnes stockes dans le magasin local chiffr et la chane de
connexion associe toute occurrence de Flash ou dAIR qui cre une connexion locale lapplication doit contenir le
nouvel identifiant.
Dans AIR 1.5.3 ou ultrieur, lidentifiant dditeur nest pas fond sur le certificat de signature et est uniquement
affect si la balise publisherID figure dans le descripteur dapplication. Il est impossible de mettre jour une
application si lidentifiant dditeur spcifi pour le package AIR de mise jour ne correspond pas lidentifiant
dditeur actif.

Mise en package avec loutil ADT


Loutil de ligne de commande ADT dAIR permet de mettre en package une application AIR. Avant la mise en package,
il est ncessaire de compiler tout code ActionScript, MXML et code dextension ventuel. Vous devez galement
disposer dun certificat de signature du code.
Pour consulter des informations de rfrence dtailles sur les commandes et options de loutil ADT, voir Outil AIR
Developer (ADT) la page 174.

Cration dun package AIR


Pour crer un package AIR, utilisez la commande ADT package et dfinissez le type de cible sur air pour les versions
valides.
adt -package -target air -storetype pkcs12 -keystore ../codesign.p12 myApp.air myApp-app.xml
myApp.swf icons

Lexemple part du principe que le chemin daccs loutil ADT figure dans la dfinition path de linterface de
commande de ligne de commande. (Pour plus dinformations, voir Variables denvironnement path la page 321.)
Vous devez excuter la commande partir du rpertoire qui contient les fichiers de lapplication. Dans lexemple
illustr, les fichiers de lapplication sont myApp-app.xml (fichier descripteur de lapplication), myApp.swf et un
rpertoire dicnes.
Si vous excutez la commande comme indiqu, loutil ADT vous invite entrer le mot de passe associ au keystore.
(Les caractres du mot de passe saisis ne sont pas toujours affichs. Appuyez simplement sur Entre une fois la saisie
termine.)

Cration dun package AIR partir dun fichier AIRI


Crer et signer un fichier AIRI permet de crer un package AIR installer :
adt -sign -storetype pkcs12 -keystore ../codesign.p12 myApp.airi myApp.air

Mise en package dun programme dinstallation natif de


bureau
Depuis AIR 2, vous pouvez crer, laide de loutil ADT, des programmes dinstallation dapplication natifs destins
distribuer des applications AIR. Vous pouvez, par exemple, crer un fichier dinstallation EXE pour distribuer une
application AIR sous Windows, un fichier dinstallation DMG pour distribuer une application AIR sur Mac OS et,
dans AIR 2.5 et AIR 2.6, un fichier dinstallation DEB ou RPM pour distribuer une application AIR sous Linux.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 59
Dveloppement dapplications de bureau AIR

Les applications installes par le biais dun programme dinstallation natif font partie du profil de bureau tendu. Il est
impossible dutiliser loutil ADT pour mettre en package un programme dinstallation natif destin une application
AIR si le fichier descripteur correspondant ne prend pas en charge le profil tendu de bureau. Vous pouvez restreindre
lutilisation de ce profil laide de llment supportedProfiles dans le fichier descripteur de lapplication. Voir
Profils de priphrique la page 259 et supportedProfiles la page 252.
Vous disposez de deux techniques de base pour crer une version du programme dinstallation natif de lapplication AIR :
Vous pouvez crer le programme dinstallation natif partir du fichier descripteur de lapplication et dautres
fichiers sources ( savoir, des fichiers SWF, des fichiers HTML et dautres actifs).
Vous pouvez fonder le programme dinstallation natif sur un fichier AIR ou un fichier AIRI.
Vous devez utiliser loutil ADT sur le mme systme dexploitation que celui du programme dinstallation crer. Par
consquent, pour crer un fichier EXE pour Windows, excutez loutil ADT sous Windows. Pour crer un fichier
DMG pour Mac OS, excutez loutil ADT sur Mac OS. Pour crer un fichier DEB ou RPG pour Linux, excutez loutil
ADT partir du kit SDK dAIR 2.6 sous Linux.
Lorsque vous crez un programme dinstallation natif pour distribuer une application AIR, celle-ci possde les
fonctionnalits suivantes :
Elle peut lancer des processus natifs et communiquer avec eux, par le biais de la classe NativeProcess. Pour plus
dinformations, voir :
Communication avec les processus natifs dans AIR (dveloppeurs ActionScript)
Communication avec les processus natifs dans AIR (dveloppeurs HTML)
Elle peut faire appel des extensions natives.
Elle peut ouvrir tout fichier dans lapplication systme dfinie par dfaut cet effet laide de la mthode
File.openWithDefaultApplication(), quel que soit le type du fichier. (Les applications qui ne sont pas
installes laide dun programme dinstallation natif sont soumises des restrictions. Pour plus dinformations,
voir lentre File.openWithDefaultApplication() dans la rfrence du langage.)
La mise en package sous forme de programme dinstallation natif entrane toutefois la perte de certains avantages qui
caractrisent le format de fichier AIR. Il est alors impossible de distribuer un fichier unique sur tous les ordinateurs de
bureau. La fonction de mise jour intgre (ainsi que la structure du programme de mise jour) ne fonctionnent pas.
Lorsque lutilisateur double-clique sur le fichier du programme dinstallation natif, lapplication AIR est installe. Si la
version requise dAdobe AIR nest pas dj installe sur la machine, le programme dinstallation la tlcharge du rseau
et linstalle. En labsence dune connexion rseau permettant dobtenir la version approprie dAdobe AIR (si
ncessaire), linstallation choue. Linstallation choue galement si le systme dexploitation nest pas pris en charge
dans Adobe AIR 2.
Remarque : si vous souhaitez quun fichier puisse tre excut dans lapplication installe, assurez-vous quil est
excutable sur le systme de fichiers lors de la mise en package de lapplication. (Sous Mac et Linux, vous disposez de
chmod pour dfinir lindicateur excutable, le cas chant.)

Cration dun programme dinstallation natif partir des fichiers sources de lapplication
Pour crer un programme dinstallation natif partir des fichiers sources de lapplication, utilisez la commande -
package en respectant la syntaxe suivante (sur une mme ligne de commande) :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 60
Dveloppement dapplications de bureau AIR

adt -package AIR_SIGNING_OPTIONS


-target native
[WINDOWS_INSTALLER_SIGNING_OPTIONS]
installer_file
app_xml
[file_or_dir | -C dir file_or_dir | -e file dir ...] ...

La syntaxe est identique celle permettant de mettre en package un fichier AIR (sans programme dinstallation natif),
quelques exceptions prs :
Vous ajoutez loption -target native la commande. (Si vous spcifiez -target air, loutil ADT gnre un
fichier AIR plutt quun fichier dinstallation natif.)
Vous spcifiez le fichier DMG ou EXE cible en tant que fichier de programme dinstallation (installer_file).
Sous Windows, vous pouvez ajouter un deuxime jeu doptions de signature, indiques sous la forme
[WINDOWS_INSTALLER_SIGNING_OPTIONS] dans la syntaxe. Cette tape est facultative. Sous Windows, outre la
signature du fichier AIR, vous pouvez signer le fichier dinstallation. Utilisez la mme syntaxe pour dfinir le type
de certificat et loption de signature que pour signer le fichier AIR (voir Options de signature du code de loutil
ADT la page 189). Vous pouvez signer le fichier AIR et le fichier dinstallation laide dun mme certificat ou
de certificats diffrents. Lorsque lutilisateur tlcharge un fichier dinstallation Windows sign du Web, Windows
se fonde sur le certificat pour identifier la source du fichier.
Pour plus dinformations sur les options ADT autres que -target, voir Outil AIR Developer (ADT) la page 174.
Lexemple suivant cre un fichier DMG (fichier dinstallation natif rserv Mac OS) :
adt -package
-storetype pkcs12
-keystore myCert.pfx
-target native
myApp.dmg
application.xml
index.html resources

Lexemple suivant cre un fichier EXE (fichier dinstallation natif rserv Windows) :
adt -package
-storetype pkcs12
-keystore myCert.pfx
-target native
myApp.exe
application.xml
index.html resources

Lexemple suivant cre un fichier EXE et le signe :


adt -package
-storetype pkcs12
-keystore myCert.pfx
-target native
-storetype pkcs12
-keystore myCert.pfx
myApp.exe
application.xml
index.html resources

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 61
Dveloppement dapplications de bureau AIR

Cration dun programme dinstallation natif pour une application faisant appel des extensions natives
Vous pouvez crer un programme dinstallation natif partir des fichiers sources de lapplication et des packages
dextensions natives dont lapplication a besoin. Utilisez la commande -package en respectant la syntaxe suivante (sur
une seule ligne de commande) :
adt -package AIR_SIGNING_OPTIONS
-migrate MIGRATION_SIGNING_OPTIONS
-target native
[WINDOWS_INSTALLER_SIGNING_OPTIONS]
installer_file
app_xml
-extdir extension-directory
[file_or_dir | -C dir file_or_dir | -e file dir ...] ...

Cette syntaxe est identique celle utilise pour la mise en package dun programme dinstallation natif, avec deux
options supplmentaires. Utilisez loption -extdir extension-directory en vue de spcifier le rpertoire
contenant les fichiers ANE (extensions natives) quutilise lapplication. Utilisez lindicateur facultatif -migrate avec
les paramtres MIGRATION_SIGNING_OPTIONS en vue de signer la mise jour dune application avec une signature de
migration lorsque le certificat principal de signature de code est diffrent de celui utilis par la version prcdente.
Pour plus dinformations, voir Signature dune version mise jour dune application AIR la page 211.
Pour plus dinformations sur les options dADT, voir Outil AIR Developer (ADT) la page 174.
Lexemple suivant cre un fichier DMG (fichier de programme dinstallation pour Mac OS) pour une application
faisant appel des extensions natives :
adt -package
-storetype pkcs12
-keystore myCert.pfx
-target native
myApp.dmg
application.xml
-extdir extensionsDir
index.html resources

Cration dun programme dinstallation natif partir dun fichier AIR ou AIRI
Loutil ADT permet de gnrer un fichier dinstallation natif partir dun fichier AIR ou AIRI. Pour crer un fichier
dinstallation natif partir dun fichier AIR, utilisez la commande -package de loutil ADT en respectant la syntaxe
suivante (sur une mme ligne de commande) :
adt -package
-target native
[WINDOWS_INSTALLER_SIGNING_OPTIONS]
installer_file
air_file

Cette syntaxe est identique celle permettant de crer un fichier dinstallation natif partir des fichiers sources de
lapplication AIR, quelques exceptions prs :
Comme source, vous spcifiez un fichier AIR, et non un fichier descripteur dapplication et dautres fichiers sources
de lapplication AIR.
Ne spcifiez pas doptions de signature du fichier AIR car il est dj sign.
Pour crer un fichier dinstallation natif partir dun fichier AIRI, utilisez la commande -package de loutil ADT en
respectant la syntaxe suivante (sur une mme ligne de commande) :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 62
Dveloppement dapplications de bureau AIR

adt AIR_SIGNING_OPTIONS
-package
-target native
[WINDOWS_INSTALLER_SIGNING_OPTIONS]
installer_file
airi_file

Cette syntaxe est identique celle permettant de crer un fichier dinstallation natif partir dun fichier AIR, quelques
exceptions prs :
Vous spcifiez un fichier AIRI comme source.
Vous spcifiez des options de signature pour lapplication AIR cible.
Lexemple suivant cre un fichier DMG (fichier dinstallation natif sur Mac OS) partir dun fichier AIR :
adt -package -target native myApp.dmg myApp.air

Lexemple suivant cre un fichier EXE (fichier dinstallation natif sous Windows) partir dun fichier AIR :
adt -package -target native myApp.exe myApp.air

Lexemple suivant cre un fichier EXE ( partir dun fichier AIR) et le signe :
adt -package -target native -storetype pkcs12 -keystore myCert.pfx myApp.exe myApp.air

Lexemple suivant cre un fichier DMG (fichier dinstallation natif sur Mac OS) partir dun fichier AIRI :
adt -storetype pkcs12 -keystore myCert.pfx -package -target native myApp.dmg myApp.airi

Lexemple suivant cre un fichier EXE (fichier dinstallation natif sous Windows) partir dun fichier AIRI :
adt -storetype pkcs12 -keystore myCert.pfx -package -target native myApp.exe myApp.airi

Lexemple suivant cre un fichier EXE (bas sur un fichier AIRI) et applique une signature AIR et une signature
Windows native :
adt -package -storetype pkcs12 -keystore myCert.pfx -target native -storetype pkcs12 -keystore
myCert.pfx myApp.exe myApp.airi

Mise en package dun paquet de moteur dexcution


captif pour des ordinateurs de bureau
Un paquet de moteur dexcution captif est un package qui inclut le code de votre application, ainsi quune version
ddie du moteur dexcution. Une application mise en package de cette manire fait appel au moteur dexcution du
paquet et non au moteur dexcution partag install sur lordinateur dun utilisateur.
Le paquet produit est un dossier autonome de fichiers dapplication sur Windows et un paquet .app sur Mac OS. Vous
devez produire le paquet correspondant un systme dexploitation cible lors de lexcution de ce systme
dexploitation. (Il est possible dutiliser une machine virtuelle, telle que VMWare, pour excuter plusieurs systmes
dexploitation sur un mme ordinateur.)
Vous pouvez excuter lapplication partir de ce dossier ou paquet sans installation.

Avantages
Cration dune application autonome
Aucun accs Internet requis pour linstallation

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 63
Dveloppement dapplications de bureau AIR

Indpendance de lapplication par rapport aux mises jour du moteur dexcution


Possibilit aux entreprises de certifier lapplication spcifique et lassociation de moteurs dexcution
Prise en charge du modle traditionnel de dploiement de logiciels
Aucune redistribution individuelle du moteur dexcution requise
Possibilit dutiliser lAPI NativeProcess
Possibilit dutiliser des extensions natives
Possibilit dutiliser la fonction File.openWithDefaultApplication() sans aucune restriction
Possibilit dexcution partir dun priphrique USB ou dun disque optique sans aucune installation

Inconvnients
Principaux correctifs de scurit publis par Adobe non automatiquement disponibles aux utilisateurs
Impossibilit dutiliser le format de fichier .air
Cration ncessaire dun programme dinstallation propre, le cas chant
API et structure de mise jour AIR non prises en charge
API propre au navigateur AIR permettant dinstaller et de lancer une application AIR partir dune page Web non
prise en charge
Sous Windows, lenregistrement du fichier doit tre gr par le programme dinstallation de lutilisateur
Plus grande empreinte disque de lapplication

Cration dun paquet de moteur dexcution captif sous Windows


Pour crer un paquet de moteur dexcution captif sous Windows, vous devez mettre en package lapplication lors de
lexcution du systme dexploitation Windows. Mettez en package lapplication laide de la cible bundle de loutil ADT :
adt -package
-keystore ..\cert.p12 -storetype pkcs12
-target bundle
myApp
myApp-app.xml
myApp.swf icons resources

Cette commande cre le paquet dans un rpertoire appel myApp. Ce rpertoire contient les fichiers pour votre
application, ainsi que les fichiers du moteur dexcution. Vous pouvez excuter le programme directement partir du
dossier. Nanmoins, pour crer une entre de menu de programme, ou enregistrer les types de fichiers ou les
gestionnaires de modles dURI, vous devez crer un programme dinstallation qui dfinit les entres de registre
requises. Le kit SDK dAIR ninclut aucun outil permettant de crer ces programmes dinstallation, mais diverses
options tierces sont disponibles, notamment des kits doutils de programmes dinstallation Open Source gratuits.
Vous pouvez signer lexcutable natif sous Windows en spcifiant un deuxime ensemble doptions de signature aprs
lentre -target bundle sur la ligne de commande. Ces options de signature identifient la cl prive et le certificat
associ utiliser lors de lapplication de la signature Windows native. (Il est possible dutiliser un certificat de signature
de code AIR.) Seul lexcutable principal est sign. Tout excutable supplmentaire mis en package avec votre
application nest pas sign par ce processus.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 64
Dveloppement dapplications de bureau AIR

Association de types de fichiers


Pour associer votre application des types de fichiers publics ou personnaliss sous Windows, votre programme
dinstallation doit dfinir les entres de registre appropries. Les types de fichiers doivent galement tre rpertoris
dans llment fileTypes du fichier descripteur de lapplication.
Pour plus dinformations sur les types de fichiers Windows, voir MSDN Library: File Types and File Associations
(disponible en anglais uniquement).

Enregistrement du gestionnaire dURI


Afin que votre application puisse prendre en charge le lancement dune URL via un modle dURI donn, votre
programme dinstallation doit dfinir les entres de registre requises.
Pour plus dinformations sur lenregistrement dune application en vue de grer un modle dURI, voir MSDN Library:
Registering an Application to a URL Protocol (disponible en anglais uniquement).

Cration dun paquet de moteur dexcution captif sous Mac OS X


Pour crer un paquet de moteur dexcution captif sous Mac OS X, vous devez mettre en package lapplication lors de
lexcution du systme dexploitation Macintosh. Mettez en package lapplication laide de la cible bundle de loutil ADT :
adt -package
-keystore ../cert.p12 -storetype pkcs12
-target bundle
myApp.app
myApp-app.xml
myApp.swf icons resources

Cette commande cre le paquet dapplication appel myApp.app. Ce paquet contient les fichiers pour votre
application, ainsi que les fichiers du moteur dexcution. Vous pouvez excuter lapplication en cliquant deux fois sur
licne myApp.app, puis linstaller en la faisant glisser vers lemplacement appropri, par exemple vers le dossier
Applications. Nanmoins, pour enregistrer les types de fichiers ou les gestionnaires de modles dURI, vous devez
modifier le fichier de liste de proprits lintrieur du package dapplication.
Pour la distribution, vous pouvez crer un fichier dimage de disque (.dmg). Le kit SDK dAdobe AIR ne fournit aucun
outil permettant de crer un fichier dmg pour un paquet de moteur dexcution captif.

Association de types de fichiers


Pour associer votre application des types de fichiers publics ou personnaliss sous Mac OS X, vous devez modifier le
fichier info.plist dans le paquet afin de dfinir la proprit CFBundleDocumentTypes. Voir Mac OS X Developer
Library: Information Property List Key Reference, CFBundleURLTypes (disponible en anglais uniquement).

Enregistrement du gestionnaire dURI


Afin que votre application puisse prendre en charge le lancement dune URL via un modle dURI donn, vous devez
modifier le fichier info.plist file dans le paquet en vue de dfinir la proprit CFBundleURLTypes. Voir Mac OS X
Developer Library: Information Property List Key Reference, CFBundleDocumentTypes (disponible en anglais
uniquement).

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 65
Dveloppement dapplications de bureau AIR

Distribution dun package AIR pour ordinateur de


bureau
Vous pouvez distribuer une application AIR sous forme de package AIR contenant le code de lapplication et tous ses
actifs. Vous pouvez distribuer ce package via les mthodes standard : tlchargement, courrier lectronique ou support
physique comme le CD-ROM. Les utilisateurs peuvent installer lapplication en double-cliquant sur le fichier AIR.
LAPI dAIR intgre au navigateur (bibliothque ActionScript Web) permet aux utilisateurs dinstaller lapplication
AIR (ainsi quAdobe AIR, le cas chant) par le biais dun lien unique sur une page Web.
Il est galement possible de mettre en package et distribuer une application AIR sous forme de programme
dinstallation natif (en dautres termes, fichier EXE sous Windows, fichier DMG sous Mac et fichier DEB ou RPM sous
Linux). Vous pouvez distribuer et installer les packages dinstallation natifs conformment aux conventions
appropries de la plate-forme. En distribuant lapplication sous forme de package natif, vous perdez toutefois certains
avantages du format de fichier AIR. Il devient ainsi impossible de faire appel la structure de mise jour dAIR et
lAPI intgre au navigateur ou dutiliser un fichier dinstallation unique sur la plupart des plates-formes.

Installation et excution dune application AIR partir du bureau


Il vous suffit denvoyer le fichier AIR au destinataire. Vous pouvez par exemple lenvoyer sous forme de pice jointe
dans un courrier lectronique, ou sous forme de lien dans une page Web.
Une fois que lutilisateur a tlcharg lapplication AIR, il suit les instructions suivantes pour linstaller :
1 Double-cliquez sur le fichier AIR.
Le logiciel Adobe AIR doit tre dj install sur lordinateur.
2 Dans la fentre dinstallation, conservez les paramtres par dfaut slectionns, puis cliquez sur Continuer.
Sous Windows, AIR effectue automatiquement les oprations suivantes :
Installation de lapplication dans le rpertoire Program Files
Cration dun raccourci sur le bureau pour ouvrir lapplication
Cration dun raccourci dans le menu Dmarrer
Ajout dune entre dans lapplication Ajout/Suppression de programmes du Panneau de configuration
Sous Mac OS, lapplication est automatiquement ajoute dans le rpertoire Applications.
Si lapplication existe dj, le programme dinstallation donne lutilisateur le choix douvrir la version existante de
lapplication ou de mettre celle-ci jour grce au fichier AIR tlcharg. Le programme dinstallation identifie
lapplication au moyen de lID dapplication et de lID dditeur qui sont contenus dans le fichier AIR.
3 Une fois que vous avez termin linstallation, cliquez sur Terminer.
Sil utilise Mac OS, lutilisateur a besoin des privilges systme appropris pour installer une version de mise jour
dune application dans le rpertoire de lapplication. Sil utilise Windows ou Linux, lutilisateur doit disposer de
privilges dadministrateur.
Une application peut galement installer une nouvelle version via ActionScript ou JavaScript. Pour plus
dinformations, voir Mise jour des applications AIR la page 273.
Une fois lapplication AIR installe, lutilisateur se contente de double-cliquer sur licne de lapplication pour
lexcuter, linstar de nimporte quelle application de bureau.
Sous Windows, double-cliquez sur licne de lapplication (installe sur le Bureau ou dans un dossier) ou
slectionnez lapplication partir du menu Dmarrer.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 66
Dveloppement dapplications de bureau AIR

Sous Linux, double-cliquez sur licne de lapplication (installe sur le Bureau ou dans un dossier) ou slectionnez
lapplication dans le menu.
Sous Mac OS, double-cliquez sur lapplication dans le dossier o elle a t installe. Le rpertoire dinstallation par
dfaut est /Applications.
Remarque : Seules les applications AIR dveloppes pour AIR 2.6 ou les versions antrieures peuvent tre installes sous
Linux.
La fonctionnalit dinstallation transparente dAIR permet un utilisateur dinstaller une application AIR en cliquant
sur un lien dans une page Web. La fonctionnalit dappel du navigateur dAIR permet un utilisateur dexcuter une
application AIR installe en cliquant sur un lien dans une page Web. Ces fonctionnalits sont dcrites dans la section
suivante.

Installation et excution dune application de bureau AIR partir dune page


Web
LAPI AIR intgre au navigateur permet dinstaller et dexcuter une application AIR partir dune page Web. Elle
rside dans une bibliothque SWF, air.swf, qui est hberge par Adobe. Le kit SDK dAIR contient un exemple
dapplication badge qui utilise cette bibliothque pour installer, mettre jour ou lancer une application AIR (ainsi
que le moteur dexcution, le cas chant). Vous pouvez modifier cet exemple dapplication ou crer une application
Web badge qui utilise directement la bibliothque en ligne air.swf.
Il est possible dinstaller toute application AIR par le biais dun badge de page Web. Toutefois, seules les applications
dont le fichier descripteur contient llment <allowBrowserInvocation>true</allowBrowserInvocation>
peuvent tre lances par un badge Web.

Voir aussi
API intgre au navigateur et stocke dans le fichier AIR.SWF la page 264

Dploiement en entreprise sur des ordinateurs de bureau


Les administrateurs peuvent installer le moteur dexcution dAdobe AIR et les applications AIR en toute transparence
laide doutils de dploiement de postes de travail standard. Ces administrateurs peuvent excuter les tches
suivantes :
Installation en mode silencieux du moteur dexcution dAdobe AIR laide doutils tels que Microsoft SMS, Tivoli
dIBM ou de tout autre outil de dploiement permettant des installations automatiques au moyen dun programme
damorage
Installation en mode silencieux de lapplication AIR laide des mmes outils utiliss pour dployer le moteur
dexcution
Pour plus dinformations, voir le Guide de ladministrateur Adobe AIR
(http://www.adobe.com/go/learn_air_admin_guide_fr).

Journaux dinstallation sur des ordinateurs de bureau


Des journaux dinstallation sont enregistrs lors de linstallation du moteur dexcution dAIR ou dune application
AIR. Vous pouvez les consulter pour dterminer la cause de tout problme dinstallation ou de mise jour.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 67
Dveloppement dapplications de bureau AIR

Les fichiers journaux sont crs aux emplacements suivants :


Mac : journal systme standard (/private/var/log/system.log)
Pour afficher le journal systme Mac, ouvrez lapplication Console (qui rside gnralement dans le dossier
Utilitaires).
Windows XP : C:\Documents and Settings\<nom d'utilisateur>\Local Settings\Application
Data\Adobe\AIR\logs\Install.log

Windows Vista, Windows 7 : C:\Users\<nom


d'utilisateur>\AppData\Local\Adobe\AIR\logs\Install.log

Linux : /home/<nom d'utilisateur>/.appdata/Adobe/AIR/Logs/Install.log

Remarque : ces fichiers ntaient pas crs dans les versions dAIR antrieures AIR 2.

Dernire mise jour le 6/3/2017


68

Chapitre 7 : Dveloppement
dapplications AIR pour priphriques
mobiles
Les applications AIR pour priphriques mobiles sont dployes en tant quapplications natives. Elles utilisent le
format applicatif du priphrique, plutt que le format AIR. AIR prend actuellement en charge les packages APK
dAndroid et IPA diOS. Une fois la version commerciale du package de lapplication cre, vous pouvez distribuer
lapplication par le biais du mcanisme standard de la plate-forme. Pour Android, il sagit gnralement dAndroid
Market, pour iOS, de lApp Store dApple.
Vous disposez du kit SDK dAIR et de Flash Professional, Flash Builder ou dun autre outil de dveloppement
ActionScript pour crer des applications AIR pour priphriques mobiles. Les applications AIR de type HTML ne sont
actuellement pas prises en charge.
Remarque : la tablette Research In Motion (RIM) BlackBerry Playbook fournit son propre kit SDK pour le
dveloppement dAIR. Pour plus dinformations sur le dveloppement de Playbook, voir RIM: BlackBerry Tablet OS
Development (disponible en anglais uniquement).
Remarque : Ce document dcrit la procdure de dveloppement dapplications iOS par le biais du kit SDK dAIR 2.6 ou
dune version ultrieure. Il est possible dinstaller les applications cres avec AIR 2.6 et les versions ultrieures sur les
dispositifs iPhone 3G, iPhone 4 et iPad excutant iOS 4 ou une version ultrieure. Pour dvelopper une application AIR
destine aux versions antrieures diOS, vous devez utiliser loutil Packager for iPhone AIR 2, comme dcrit dans le
manuel Cration dapplications iPhone.
Pour plus dinformations sur les meilleures pratiques en matire de confidentialit, voir Guide de confidentialit du
SDK Adobe AIR.
Pour plus dinformations sur la configuration systme requise pour excuter les applications AIR, voir Configuration
requise.

Configuration de lenvironnement de dveloppement


Paralllement la configuration de lenvironnement de dveloppement AIR, Flex et Flash standard, il est ncessaire de
configurer les plates-formes mobiles. (Pour plus dinformations sur la configuration de lenvironnement de
dveloppement AIR de base, voir Outils de la plate-forme Adobe Flash pour le dveloppement AIR la page 17.)

Configuration dAndroid
Aucune configuration spciale nest normalement requise pour Android dans AIR 2.6+. Loutil ADB dAndroid est
inclus dans le kit SDK dAIR (dans le dossier lib/android/bin). Le kit SDK dAIR fait appel loutil ADB pour installer,
dsinstaller et excuter un package dapplication sur un priphrique. Loutil ADB permet galement dafficher les
journaux systme. Pour crer et excuter un mulateur Android, vous devez tlcharger le kit SDK dAndroid distinct.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 69
Dveloppement dapplications AIR pour priphriques mobiles

Si votre application ajoute des lments llment <manifestAdditions> dans le descripteur dapplication que la
version actuelle dAIR ne reconnat pas comme valides, vous devez installer une version plus rcente du SDK
dAndroid. Dfinissez la variable denvironnement AIR_ANDROID_SDK_HOME ou le paramtre de la ligne de
commande -platformsdk sur le chemin de fichier du kit SDK. Loutil de mise en package dAIR, ADT, fait appel ce
kit SDK pour valider les entres dans llment <manifestAdditions>.
Dans AIR 2.5, vous devez tlcharger un exemplaire distinct du kit SDK dAndroid partir de Google. Vous pouvez
dfinir la variable denvironnement AIR_ANDROID_SDK_HOME de sorte rfrencer le dossier du kit SDK
dAndroid. Si vous ne dfinissez pas cette variable denvironnement, vous devez spcifier le chemin daccs au kit SDK
dAndroid dans largument -platformsdk sur la ligne de commande ADT.

Voir aussi
Variables denvironnement ADT la page 198
Variables denvironnement path la page 321

Configuration diOS
Pour installer et tester une application iOS sur un priphrique et la distribuer, vous devez appartenir au programme
iOS Developer dApple (service payant). Une fois membre du programme iOS Developer, vous pouvez accder au
portail iOS Provisioning Portal, o vous pouvez obtenir dApple les lments et fichiers suivants, dont vous devez
disposer pour installer une application sur un priphrique des fins de test et de distribution ultrieure :
Certificats de dveloppement et de distribution
ID dapplication
Fichiers de configuration pour le dveloppement et la distribution dapplications

Considrations lies la conception dapplications


mobiles
Le contexte dexploitation et les caractristiques physiques des priphriques mobiles ncessitent de porter une
attention toute particulire au codage et la conception. Il est, par exemple, dterminant de rationaliser le code pour
assurer une excution aussi rapide que possible. Il est bien vident que loptimisation du code a ses limites. Une
conception intelligente qui prend en compte les restrictions du priphrique permet galement dviter que la
prsentation visuelle ne sollicite trop le systme de rendu.
Code
Bien quune excution plus rapide du code constitue toujours un avantage, la vitesse rduite du processeur de la
plupart des priphriques mobiles rationalise linvestissement en temps que reprsente lcriture de code minimaliste.
Par ailleurs, les priphriques mobiles sont quasiment toujours aliments par batterie. Obtenir un rsultat identique
en rduisant la puissance de traitement requise utilise moins de batterie.
Cration
La taille dcran rduite, le mode dinteraction par cran tactile, voire lenvironnement en volution constante dun
utilisateur mobile sont autant de facteurs prendre en compte lors de la conception de lexprience utilisateur de
lapplication.
Code et cration conjoints

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 70
Dveloppement dapplications AIR pour priphriques mobiles

Si lapplication fait appel lanimation, loptimisation du rendu joue un rle dterminant. Dans certains cas,
loptimisation du code nest toutefois pas suffisante. Vous devez concevoir les aspects visuels de lapplication de sorte
assurer un rendu performant par le code.
Dimportantes techniques doptimisation sont passes en revue dans le manuel Optimisation de contenu mobile pour
la plate-forme Adobe Flash. Les techniques dcrites dans ce manuel sappliquent tout contenu Flash et AIR, mais
jouent un rle dterminant dans le dveloppement dapplications pour priphriques mobiles performantes.
Paul Trani : Tips and Tricks for Mobile Flash Development (disponible en anglais uniquement)
roguish : GPU Test App AIR for Mobile (disponible en anglais uniquement)
Jonathan Campos : Optimization Techniques for AIR for Android apps (disponible en anglais uniquement)
Charles Schulze : AIR 2.6 Game Development: iOS included (disponible en anglais uniquement)

Cycle de vie dune application


Lorsque la cible daction passe dune application une autre, AIR fait passer la cadence 4 images/s et dsactive le
rendu des graphiques. Une cadence infrieure se traduit souvent par linterruption des connexions socket et du rseau
de diffusion en continu. Si lapplication nutilise pas ces types de connexion, vous pouvez rduire plus encore la
cadence.
Au moment opportun, vous devez arrter la lecture de laudio et supprimer les couteurs associs aux capteurs de
golocalisation et de lacclromtre. Lobjet NativeApplication AIR distribue des vnements dactivation et de
dsactivation. Ces vnements permettent de grer la transition entre ltat actif et ltat darrire-plan.
La plupart des systmes dexploitation mobiles arrtent les applications qui sexcutent en arrire-plan sans
avertissement. Grce lenregistrement rgulier de ltat dune application, celle-ci devrait pouvoir restaurer elle-
mme un tat satisfaisant, quil sagisse de la ractivation de ltat actif partir dune excution en arrire-plan ou dun
nouveau lancement.

Densit des informations


En dpit dune densit (nombre de pixels par pouce) suprieure, la taille physique de lcran des priphriques mobiles
est infrieure celle dun ordinateur de bureau. Une mme taille de police produit des lettres de taille physique
infrieure sur un cran de priphrique mobile que sur un ordinateur de bureau. Par souci de lisibilit, il est souvent
ncessaire dutiliser une taille de police suprieure. En rgle gnrale, 14 points est la plus petite taille de police quun
utilisateur puisse facilement lire.
Les priphriques mobiles sont souvent utiliss en cours de dplacement et dans des environnements mal clairs.
Faites preuve de ralisme pour valuer le volume dinformations quil est possible dafficher sans perte de lisibilit.
Cette valeur est probablement infrieure celle dun cran dordinateur de bureau aux dimensions identiques en
pixels.
Gardez galement lesprit le fait que lorsquun utilisateur touche lcran, il masque du doigt ou de la main une partie
de ce dernier. Placez les lments interactifs sur les cts et au bas de lcran si lutilisateur ne se contente pas de les
toucher momentanment.

Saisie de texte
La plupart des priphriques grent la saisie de texte par le biais dun clavier virtuel. Souvent peu pratiques utiliser,
les claviers virtuels masquent une partie de lcran. A lexception des touches programmables, vitez de faire appel aux
vnements de clavier.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 71
Dveloppement dapplications AIR pour priphriques mobiles

Envisagez de substituer dautres solutions aux champs de texte de saisie. Il est, par exemple, inutile dinviter lutilisateur
entrer une valeur numrique dans un champ de texte. Proposez deux boutons pour augmenter ou rduire la valeur.

Touches programmables
Les priphriques mobiles comportent un nombre divers de touches programmables, cest--dire des boutons que
vous pouvez programmer pour leur affecter diffrentes fonctions. Respectez les conventions de la plate-forme lorsque
vous programmez ces touches dans lapplication.

Changements dorientation de lcran


Un contenu mobile peut tre visualis en mode portrait ou paysage. Considrez comment lapplication gre les
changements dorientation de lcran. Pour plus dinformations, voir Orientation de la scne.

Baisse de la luminosit de lcran


AIR ne dsactive pas automatiquement la baisse de la luminosit de lcran en cours de lecture vido. Vous disposez
de la proprit systemIdleMode de lobjet NativeApplication AIR pour contrler lactivation du mode dconomie
dnergie du priphrique. (Sur certaines plates-formes, vous devez demander les autorisations appropries pour que
cette fonctionnalit fonctionne.)

Appels tlphoniques entrants


Le moteur dexcution dAIR coupe automatiquement le son lorsque lutilisateur effectue ou reoit un appel
tlphonique. Sous Android, dfinissez lautorisation Android READ_PHONE_STATE dans le descripteur de
lapplication si celle-ci lit laudio lorsquelle sexcute en arrire-plan. Android interdit sinon au moteur dexcution
de dtecter les appels tlphoniques et de couper le son automatiquement. Voir Autorisations Android la page 80.

Cibles tactiles
Tenez compte de la taille des cibles tactiles lorsque vous concevez les boutons et autres lments de linterface
utilisateur touchs par lutilisateur. Assurez-vous que la taille de ces lments est suffisamment leve pour que
lutilisateur puisse facilement les activer du doigt sur un cran tactile. Veillez galement mnager un espace suffisant
entre cibles tactiles. Pour un cran de tlphone rsolution leve standard, la superficie dune cible tactile doit
mesurer environ 44 pixels sur 57 pixels.

Taille dinstallation dun package dapplication


Les priphriques mobiles disposent gnralement dun espace de stockage considrablement plus rduit que les
ordinateurs de bureau pour installer applications et donnes. Rduisez la taille dun package en supprimant les actifs
et bibliothques inutiliss.
Sous Android, le package dune application nest pas extrait dans des fichiers distincts lors de linstallation de cette
dernire. Les actifs sont dcompresss dans un espace de stockage temporaire lorsquil est ncessaire dy accder. Pour
rduire lencombrement mmoire des actifs dcompresss, fermez les flux dURL et de fichier, une fois le chargement
des actifs termin.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 72
Dveloppement dapplications AIR pour priphriques mobiles

Accs au systme de fichiers


Les restrictions relatives au systme de fichiers varient selon le systme dexploitation mobile. Elles diffrent souvent
des restrictions imposes par les systmes dexploitation de bureau. Lemplacement denregistrement des fichiers et
donnes risque par consquent de varier selon la plate-forme.
Les variations en matire de systme de fichiers ont pour consquence que les raccourcis associs aux rpertoires
communs fournis par la classe File dAIR ne sont pas toujours disponibles. Le tableau suivant indique les raccourcis
disponibles sous Android et iOS :

Android iOS

File.applicationDirectory Lecture seule via une URL (et non le Lecture seule
chemin natif)

File.applicationStorageDirectory Disponible Disponible

File.cacheDirectory Disponible Disponible

File.desktopDirectory Racine de la carte SD Non disponible

File.documentsDirectory Racine de la carte SD Disponible

File.userDirectory Racine de la carte SD Non disponible

File.createTempDirectory() Disponible Disponible

File.createTempFile() Disponible Disponible

Les directives dApple concernant les applications iOS dfinissent des rgles spcifiques concernant les emplacements
de stockage utiliser pour les fichiers dans diffrentes situations. Par exemple, lune des directives est que seuls les
fichiers contenant des donnes saisies par lutilisateur ou des donnes qui ne peuvent pas tre gnres ou tlcharges
nouveau doivent tre stockes dans le rpertoire dsign pour la sauvegarde distance. Pour plus dinformations sur
la conformit aux directives dApple sur la sauvegarde des fichiers et la mise en cache, voir Contrle de la sauvegarde
et de la mise en cache des fichiers.

Composants de linterface utilisateur


Adobe a dvelopp une version de la structure dapplication Flex optimise pour les plates-formes mobiles. Pour plus
dinformations, voir Dveloppement dapplications mobiles avec Flex et Flash Builder.
Des projets de composants usage communautaire adapts aux applications mobiles sont galement disponibles.
Parmi ces API figurent :
Josh Tynjala : Feathers UI controls for Starling (en anglais uniquement)
Skinnable version of Minimal Comps (Derrick Grigg) (disponible en anglais uniquement)
as3flobile components (Todd Anderson) (disponible en anglais uniquement)

Rendu des graphiques par acclration matrielle via lAPI Stage3D


A partir dAIR 3.2, AIR for Mobile prend en charge le rendu des graphiques par acclration matrielle via lAPI Stage
3D. Les API ActionScript Stage3D sont un ensemble dAPI acclration matrielle par GPU permettant dutiliser des
fonctionnalits 2D et 3D avances. Ces API de bas niveau permettent aux dveloppeurs de tirer profit de lacclration
matrielle par GPU pour augmenter les performances de faon significative. Il est galement possible dutiliser des
moteurs de jeu prenant en charge les API ActionScript Stage3D.
Pour plus dinformations, voir Moteurs de jeu, 3D et Stage 3D.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 73
Dveloppement dapplications AIR pour priphriques mobiles

Lissage vido
Afin damliorer les performances, le lissage vido est dsactiv sur AIR.

Fonctions natives
AIR 3.0+

De nombreuses plates-formes mobiles proposent des fonctions qui ne sont pas encore accessibles via lAPI AIR
standard. A partir dAIR 3, vous pouvez tendre AIR avec vos propres bibliothques de code natives. Ces bibliothques
dextensions natives peuvent accder aux fonctions disponibles sur le systme dexploitation, voire mme aux
fonctions propres un priphrique donn. Il est possible dcrire les extensions natives en langage C sur iOS, et en
langage Java ou C sur Android. Pour plus dinformations sur le dveloppement dextensions natives, voir Prsentation
des extensions natives pour Adobe AIR.

Flux de travail de cration dune application AIR pour


priphriques mobiles
Le flux de travail de cration dune application AIR pour priphriques mobiles (ou autres types de priphriques)
sapparente gnralement au flux de travail de cration dapplications de bureau. Les principales diffrences sont lies
aux phases de mise en package, de dbogage et dinstallation dune application. Les applications AIR for Android
utilisent, par exemple, le format de package APK natif dAndroid au lieu du format de package dAIR. Par consquent,
elles font galement appel aux mcanismes dinstallation et de mise jour standard dAndroid.

AIR for Android


Les tapes ci-dessous dcrivent une procdure de dveloppement typique dune application AIR for Android :
Programmez le code en ActionScript ou MXML.
Crez un fichier descripteur dapplication AIR (utilisez lespace de noms 2.5 ou ultrieur).
Compilez lapplication.
Mettez en package lapplication au format Android (.apk).
Installez le moteur dexcution AIR sur le priphrique ou lmulateur Android (si vous utilisez un moteur
dexcution externe ; le moteur dexcution captif est la valeur par dfaut dans AIR 3.7 et versions ultrieures).
Installez lapplication sur le priphrique (ou lmulateur Android).
Lancez lapplication sur le priphrique.
Pour excuter cette procdure, vous disposez dAdobe Flash Builder, dAdobe Flash Professional CS5 ou des outils de
ligne de commande.
Une fois lapplication AIR termine et mise en package au format APK, vous pouvez la proposer Android Market ou
la distribuer par un autre moyen.

AIR for iOS


Les tapes ci-dessous dcrivent une procdure de dveloppement typique dune application AIR for iOS :
Installez iTunes.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 74
Dveloppement dapplications AIR pour priphriques mobiles

Gnrez les ID et fichiers de dveloppement requis sur le portail iOS Provisioning Portal dApple, savoir :
Certificat de dveloppement
ID dapplication
Profil de configuration
Vous devez recenser lID de tous les priphriques de test sur lesquels vous envisagez dinstaller lapplication lors
de la cration du profil de configuration.
Convertissez le certificat de dveloppement et la cl prive en fichier de keystore P12.
Programmez le code de lapplication en ActionScript ou MXML.
Compilez lapplication par le biais dun compilateur ActionScript ou MXML.
Crez les icnes et graphiques de lcran initial de lapplication.
Crez le fichier descripteur de lapplication (utilisez lespace de noms 2.6 ou ultrieur).
Mettez en package le fichier IPA laide de loutil ADT.
Placez le profil de configuration sur le priphrique de test via iTunes.
Installez et testez lapplication sur le priphrique iOS. Vous pouvez installer le fichier IPA avec iTunes ou loutil
ADT via USB (prise en charge dUSB sur AIR 3.4 et les versions ultrieures).
Une fois lapplication AIR termine, vous pouvez la mettre nouveau en package avec un certificat de distribution et
un profil de configuration. Vous pouvez alors lenvoyer lApp Store dApple.

Dfinition des proprits dune application mobile


A linstar des autres applications AIR, vous dfinissez les proprits de base dune application dans le fichier
descripteur correspondant. Les applications mobiles ignorent certaines proprits propres au bureau, telles que la
transparence et la taille des fentres. Elles peuvent galement utiliser les proprits propres leur plate-forme. Vous
pouvez, par exemple, inclure un lment android pour les applications Android et un lment iPhone pour les
applications iOS.

Paramtres standard
Divers paramtres de descripteur dapplication jouent un rle important dans toutes les applications pour
priphriques mobiles.

Version du moteur dexcution dAIR requise


Indiquez la version du moteur dexcution dAIR requise par lapplication laide de lespace de noms du fichier
descripteur de lapplication.
Assign dans llment application, lespace de noms dtermine globalement les fonctionnalits dont dispose
lapplication. Si, par exemple, lapplication utilise lespace de noms AIR 2.7 et que lutilisateur a install une version
ultrieure, elle continue assimiler le comportement dAIR celui de la version 2.7, mme si celui-ci a t modifi dans
la version ultrieure. Pour que lapplication accde au nouveau comportement et aux nouvelles fonctionnalits, vous
devez au pralable modifier lespace de noms et publier une mise jour. Les correctifs de scurit constituent une
exception notable la rgle.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 75
Dveloppement dapplications AIR pour priphriques mobiles

Sur les priphriques qui utilisent un moteur dexcution distinct de lapplication, tel Android sur AIR 3.6 et versions
antrieures, lutilisateur est invit installer ou mettre niveau AIR sil ne dispose pas de la version requise. Sur les
priphriques qui intgrent le moteur dexcution, tel iPhone, ce cas de figure ne se produit pas, tant donn que la
version requise est mise en package avec lapplication.
Remarque : (AIR 3.7 et versions ultrieures) Par dfaut, ADT compresse le moteur dexcution pour les applications
Android.
Spcifiez lespace de noms laide de lattribut xmlns de llment racine application. Les espaces de noms suivants
sont adapts aux applications mobiles (selon la plate-forme mobile cible) :
iOS 4+ and iPhone 3Gs+ or Android:
<application xmlns="http://ns.adobe.com/air/application/2.7">
iOS only:
<application xmlns="http://ns.adobe.com/air/application/2.0">

Remarque : la prise en charge des priphriques iOS 3 est assure par le kit SDK de Packager for iPhone, bas sur le kit
SDK dAIR 2.0. Pour plus dinformations sur la cration dapplications AIR pour iOS 3, voir Cration dapplications
iPhone. Le kit SDK dAIR 2.6 (et versions ultrieures) prend en charge iOS 4 et les versions ultrieures sur les dispositifs
iPhone 3G, iPhone 4 et iPad.

Voir aussi
application la page 222

Identit dune application


Plusieurs paramtres devraient tre propres chaque application publie, savoir lID, le nom et le nom de fichier.

ID dune application Android


Sous Android, lID est converti en nom de package AIR en ajoutant le prfixe air lID AIR. Par consquent, si
lAID AIR est com.exemple.MonApp, le nom du package Android correspond air.com.exemple.MonApp.
<id>com.example.MyApp</id>
<name>My Application</name>
<filename>MyApplication</filename>

En outre, si lID nest pas un nom de package gr par le systme dexploitation Android, il est converti en nom valide.
Les tirets sont remplacs par des traits de soulignement et les chiffres de dbut de tout composant ID sont prcds
dun A majuscule. Exemple : lID 3-goats.1-boat est converti comme suit : air.A3_goats.A1_boat.
Remarque : le prfixe ajout lID dapplication permet didentifier les applications AIR dans Android Market. Si vous
ne souhaitez pas que lapplication soit identifie comme une application AIR en raison du prfixe, vous devez extraire du
package le fichier APK, modifier lID de lapplication, puis remettre celle-ci en package comme indiqu dans Opt-out of
AIR application analytics for Android (disponible en anglais uniquement).

ID dune application iOS


Dfinissez lID de lapplication AIR sur lID dapplication cre dans le portail iOS Provisioning Portal dApple.
Les ID dapplication iOS contiennent un identifiant dapplication (prfixe), suivi dun identifiant dapplication
(suffixe). Lidentifiant dapplication (prfixe) est une chane de caractres, telle que 5RM86Z4DJM, affecte par Apple
lID dapplication. Lidentifiant dapplication (suffixe) contient un nom de type domaine invers que vous
slectionnez. Il se termine parfois par un astrisque (*), qui reprsente un ID dapplication caractre gnrique. Sil
se termine par un caractre gnrique, vous pouvez remplacer ce dernier par toute chane valide.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 76
Dveloppement dapplications AIR pour priphriques mobiles

Exemple :
Si lID de lapplication Apple est 5RM86Z4DJM.com.example.helloWorld, vous devez utiliser
com.example.helloWorld dans le descripteur dapplication.

Si lID dapplication Apple est 96LPVWEASL.com.example.* (ID dapplication caractre gnrique), vous
pourriez utiliser com.example.helloWorld, com.example.anotherApp ou tout autre ID qui commence par
com.example.

Enfin, si lID de lapplication Apple ne contient quun identifiant dapplication (prfixe) et un caractre gnrique,
tel que : 38JE93KJL.*, vous pouvez utiliser tout ID dapplication dans AIR.
Lorsque vous spcifiez lID de lapplication, ignorez la partie identifiant dapplication (prfixe) de lID dapplication.

Voir aussi
id la page 239
filename la page 234
name la page 247

Version dune application


Dans AIR 2.5 et ultrieur, spcifiez la version de lapplication dans llment versionNumber. Llment version est
prsent obsolte. Si vous dfinissez une valeur dans versionNumber, vous devez utiliser une squence de trois
nombres au plus, spars par un point ( 0.1.2 , par exemple). Chaque segment du numro de la version se compose
de trois chiffres au plus. (En dautres termes, la version la plus longue autorise correspond 999.999.999 .) Vous
ne devez pas obligatoirement inclure trois segments dans le nombre. Les numros de version 1 et 1.0 sont
galement valides.
Vous pouvez aussi dfinir le libell de la version laide de llment versionLabel. Si vous ajoutez un libell de
version, il remplace le numro de version dans lcran dinformation de lapplication Android, par exemple. Vous
devez stipuler un libell de version si une application est distribue via Android Market. Si vous ne spcifiez pas de
valeur versionLabel dans le descripteur de lapplication AIR, la valeur versionNumber est affecte au champ du
libell de version Android.
<!-- AIR 2.5 and later -->
<versionNumber>1.23.7<versionNumber>
<versionLabel>1.23 Beta 7</versionLabel>

Sous Android, llment versionNumber AIR est converti en entier Android versionCode laide de la formule :
a*1000000 + b*1000 + c, o a, b et c correspondent aux composants du numro de version AIR : a.b.c.

Voir aussi
version la page 255
versionLabel la page 255
versionNumber la page 256

Fichier SWF principal dune application


Spcifiez le fichier SWF principal de lapplication dans llment enfant content de llment initalWindow. Si vous
ciblez des priphriques associs au profil mobile, vous devez utiliser un fichier SWF (les applications de type HTML
ntant pas prises en charge).

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 77
Dveloppement dapplications AIR pour priphriques mobiles

<initialWindow>
<content>MyApplication.swf</content>
</initialWindow>

Vous devez inclure ce fichier dans le package AIR ( laide de loutil ADT ou de lIDE). Se contenter de faire rfrence
au nom dans le descripteur dapplication nentrane pas linclusion automatique du fichier dans le package.

Proprits de lcran principal


Plusieurs lments enfants de llment initialWindow contrlent le comportement et laspect initiaux du principal
cran de lapplication.
aspectRatio : indique si lapplication doit initialement safficher au format portrait (hauteur suprieure la
largeur), au format landscape (hauteur infrieure la largeur) ou au format any (la scne soriente
automatiquement dans toutes les orientations).
<aspectRatio>landscape</aspectRatio>

autoOrients : indique si la scne doit changer automatiquement dorientation lorsque lutilisateur fait pivoter le
priphrique ou effectue un autre geste dorientation tel que louverture ou la fermeture dun clavier coulissant. Si
cet lment est dfini sur false (valeur par dfaut), la scne ne change pas dorientation en conjonction avec le
priphrique.
<autoOrients>true</autoOrients>

depthAndStencil : indique sil est ncessaire dutiliser le tampon de profondeur ou le tampon de modle. Ces
tampons sutilisent normalement avec du contenu 3D.
<depthAndStencil>true</depthAndStencil>

fullScreen : indique si lapplication doit occuper la totalit de lcran du priphrique ou le partager avec le chrome
standard du systme dexploitation, tel quune barre dtat systme.
<fullScreen>true</fullScreen>

renderMode : indique si le moteur dexcution doit effectuer le rendu de lapplication via le processeur graphique
(GPU) ou lunit centrale principale (UC). En rgle gnrale, le rendu sur GPU augmente la vitesse de rendu, mais
diverses fonctionnalits, telles que certains modes de fusion et filtres PixelBender, ne sont pas disponibles en mode
GPU. Par ailleurs, les fonctionnalits et restrictions du processeur graphique varient selon le priphrique et le
pilote de priphrique. Veillez tester lapplication sur un ventail aussi large que possible de priphriques, en
particulier en mode GPU.
Vous pouvez dfinir le mode de rendu sur gpu, cpu, direct ou auto. La valeur par dfaut est auto, qui active
actuellement le mode UC.
Remarque : pour tirer profit de lacclration par processeur graphique du contenu Flash sur les plates-formes AIR
mobiles, Adobe recommande dutiliser renderMode="direct" (cest--dire, Stage3D) plutt que renderMode="gpu".
Adobe prend officiellement en charge les structures dapplication bases sur Stage3D suivantes et recommande leur
utilisation : Starling (2D) et Away3D (3D). Pour plus dinformations sur Stage3D et Starling/Away3D, voir
http://gaming.adobe.com/getstarted/.
<renderMode>direct</renderMode>

Remarque : vous ne pouvez pas utiliser renderMode=direct pour les applications qui sexcutent en arrire-plan.
Le mode de rendu sur GPU est soumis aux restrictions suivantes :
La structure dapplication de Flex ne prend pas en charge le mode de rendu sur GPU.
Les filtres ne sont pas pris en charge.
Les remplissages et fusions PixelBender ne sont pas pris en charge.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 78
Dveloppement dapplications AIR pour priphriques mobiles

Les modes de fusion suivants ne sont pas pris en charge : Calque, Alpha, Effacement, Superposition, Lumire
crue, Eclaircir et Obscurcir.
Il nest pas recommand dactiver le mode de rendu sur GPU dans une application qui lit la vido.
En mode de rendu sur GPU, les champs de texte ne sont pas correctement dplacs vers un emplacement visible
lors de louverture du clavier virtuel. Pour assurer la visibilit du champ de texte lorsque lutilisateur saisit du
texte, dplacez-le vers la zone visible par le biais de la proprit softKeyboardRect de la scne et des vnements
de clavier logiciel.
Sil est impossible deffectuer le rendu dun objet daffichage sur le GPU, il nest pas affich du tout. Ainsi, si un
filtre est appliqu un objet daffichage, ce dernier nest pas affich.
Remarque : limplmentation GPU pour iOS dans AIR 2.6 et les versions ultrieure est trs diffrente de
limplmentation utilise dans la version prcdente, AIR 2.0. Des considrations doptimisation diffrentes sont prises
en compte.

Voir aussi
aspectRatio la page 225
autoOrients la page 226
depthAndStencil la page 229
fullScreen la page 237
renderMode la page 249

Profils pris en charge


Vous pouvez ajouter llment supportedProfiles pour stipuler les profils de priphrique pris en charge par
lapplication. Rservez le profil mobileDevice aux priphriques mobiles. Lorsque vous excutez lapplication avec
lapplication de dbogage du lanceur AIR (ADL), celle-ci active le premier profil de la liste. Vous disposez galement
de lindicateur -profile lorsque vous excutez lapplication ADL pour slectionner un profil donn dans la liste de
profils pris en charge. Si lapplication sexcute sous tous les profils, vous pouvez omettre compltement llment
supportedProfiles. Dans ce cas de figure, le profil actif par dfaut de lapplication ADL correspond au profil de
bureau.
Pour spcifier que lapplication prend en charge le profil de priphrique mobile et le profil de bureau et que vous
souhaitez normalement tester lapplication avec le profil mobile, ajoutez llment suivant :
<supportedProfiles>mobileDevice desktop</supportedProfiles>

Voir aussi
supportedProfiles la page 252
Profils de priphrique la page 259
Application de dbogage du lanceur AIR (ADL) la page 168

Extensions natives requises


Les applications qui prennent en charge le profil mobileDevice peuvent recourir aux extensions natives.
Dclarez toutes les extensions natives auxquelles fait appel lapplication AIR dans le descripteur de lapplication.
Lexemple suivant illustre la syntaxe permettant de spcifier deux extensions natives requises :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 79
Dveloppement dapplications AIR pour priphriques mobiles

<extensions>
<extensionID> com.example.extendedFeature</extensionID>
<extensionID> com.example.anotherFeature</extensionID>
</extensions>

La valeur de llment extensionID est identique celle de llment id dans le fichier descripteur de lextension. Le
fichier descripteur de lextension est un fichier XML appel extension.xml. Il est mis en package dans le fichier ANE
fourni par le dveloppeur de lextension native.

Comportement du clavier virtuel


Dfinissez llment softKeyboardBehavior sur none pour dsactiver le comportement dexcution dun
panoramique et de redimensionnement automatique utilis par le moteur dexcution pour sassurer que le champ de
texte de saisie correspondant la cible daction est visible aprs laffichage du clavier virtuel. Si vous dsactivez le
comportement automatique, il incombe lapplication de sassurer que la zone de texte de saisie ou tout autre contenu
appropri est visible une fois le clavier affich. Vous pouvez utiliser la proprit softKeyboardRect de la scne en
conjonction avec llment SoftKeyboardEvent pour dtecter louverture du clavier et dterminer la zone masque par
ce dernier.
Pour activer le comportement automatique, dfinissez la valeur de llment sur pan :
<softKeyboardBehavior>pan</softKeyboardBehavior>

Etant donn que pan est la valeur par dfaut, omettre llment softKeyboardBehavior active galement le
comportement automatique du clavier.
Remarque : si le mode de rendu sur GPU est galement activ, le comportement dexcution du panoramique nest pas
pris en charge.

Voir aussi
softKeyboardBehavior la page 251
Stage.softKeyboardRect
SoftKeyboardEvent

Paramtres Android
Sur la plate-forme Android, vous disposez de llment android du descripteur dapplication pour ajouter des
informations au manifeste dapplication Android (fichier de proprits dapplication utilis par le systme
dexploitation Android). Loutil ADT gnre automatiquement le fichier Manifest.xml Android lorsque vous crez le
package APK. AIR dfinit quelques proprits sur les valeurs requises pour assurer le fonctionnement de diverses
fonctionnalits. Toute autre proprit dfinie dans la section android du descripteur dapplication AIR est ajoute la
section correspondante du fichier Manifest.xml.
Remarque : pour la plupart des applications AIR, vous devez dfinir les autorisations Android requises par lapplication
dans llment android, mais il est gnralement inutile de dfinir dautres proprits.
Vous ne pouvez dfinir que les attributs qui grent les valeurs de type chane, entier ou boolen. La dfinition de
rfrences sur des ressources du package dapplication nest pas prise en charge.
Remarque : Le moteur dexcution ncessite linstallation dune version du kit SDK gale ou ultrieure la version 14. Si
vous souhaitez crer une application uniquement pour les versions ultrieures, vous devez vous assurer que le fichier
manifeste inclut <uses-sdk android:minSdkVersion=""></uses-sdk> avec la version correcte approprie.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 80
Dveloppement dapplications AIR pour priphriques mobiles

Paramtres rservs du manifeste Android


AIR dfinit plusieurs entres manifeste dans le document manifeste Android gnr pour sassurer que les
fonctionnalits de lapplication et du moteur dexcution fonctionnent correctement. Il est impossible de dfinir les
paramtres suivants :

lment manifest
Il est impossible de dfinir les attributs suivants de llment manifest :
package
android:versionCode
android:versionName
xmlns:android

lment activity
Il est impossible de dfinir les attributs suivants de llment activity principal :
android:label
android:icon

lment application
Il est impossible de dfinir les attributs suivants de llment application :
android:theme
android:name
android:label
android:windowSoftInputMode
android:configChanges
android:screenOrientation
android:launchMode

Autorisations Android
Le modle de scurit Android requiert que chaque application demande lautorisation dutiliser les fonctionnalits
dotes dimplications dordre scuritaire ou confidentiel. Vous spcifiez ces autorisations lors de la mise en package de
lapplication et il est impossible de les modifier lexcution. Le systme dexploitation Android avertit lutilisateur des
autorisations demandes par une application lors de linstallation de cette dernire. Si lapplication ne demande pas
une autorisation associe une fonctionnalit, le systme dexploitation risque de renvoyer une exception lorsque
lapplication accde la fonctionnalit. Le renvoi de lexception nest toutefois pas garanti. Le moteur dexcution
transmet les exceptions lapplication. En cas dchec silencieux, un message dchec de lautorisation est insr dans
le journal systme dAndroid.
Dans AIR, vous spcifiez les autorisations Android dans llment android du descripteur dapplication. Lajout
dautorisations fait appel au format suivant (PERMISSION_NAME correspondant au nom dune autorisation
Android) :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 81
Dveloppement dapplications AIR pour priphriques mobiles

<android>
<manifestAdditions>
<![CDATA[
<manifest>
<uses-permission
android:name="android.permission.PERMISSION_NAME" />
</manifest>
]]>
</manifestAdditions>
</android>

Les instructions uses-permissions intgres llment manifest sont directement ajoutes au document manifeste
Android.
Les autorisations suivantes sont obligatoires pour utiliser diverses fonctionnalits AIR :
ACCESS_COARSE_LOCATION Permet lapplication daccder aux donnes de localisation du rseau Wi-Fi ou
cellulaire via la classe Geolocation.
ACCESS_FINE_LOCATION Permet lapplication daccder aux donnes GPS via la classe Geolocation.

ACCESS_NETWORK_STATE et ACCESS_WIFI_STATE Permet lapplication daccder aux informations du rseau via la


classe NetworkInfo.
CAMERA Permet lapplication daccder la camra.

Remarque : lorsque vous demandez lautorisation dutiliser la fonctionnalit camra, Android part du principe que
lapplication requiert galement la camra. Si la camra est une fonctionnalit facultative de lapplication, ajoutez un
lment uses-feature relatif la camra au manifeste en dfinissant lattribut requis sur false. Voir Filtrage de la
compatibilit Android la page 83.
INTERNET Permet lapplication deffectuer des requtes rseau. Permet galement de procder au dbogage
distance.
READ_PHONE_STATE Permet au moteur dexcution dAIR de couper le son lors dappels tlphoniques. Dfinissez
cette autorisation si lapplication lit laudio lorsquelle sexcute en arrire-plan.
RECORD_AUDIO Permet lapplication daccder au microphone.

WAKE_LOCK et DISABLE_KEYGUARD Permet lapplication dempcher le priphrique dentrer en mode de veille


laide des paramtres de la classe SystemIdleMode.
WRITE_EXTERNAL_STORAGE Permet lapplication dcrire sur la carte mmoire externe du priphrique.

Ainsi, si une application ncessite toutes les autorisations, vous pourriez ajouter llment suivant au descripteur de
lapplication pour les dfinir :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 82
Dveloppement dapplications AIR pour priphriques mobiles

<android>
<manifestAdditions>
<![CDATA[
<manifest>
<uses-permission
android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission
android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission
android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission
android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO"
/>
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>
]]>
</manifestAdditions>
</android>

Voir aussi
Android Security and Permissions (disponible en anglais uniquement)
Android Manifest.permission class (disponible en anglais uniquement)

Modles personnaliss dURI Android


Vous pouvez utiliser un modle URI personnalis pour lancer une application AIR partir dune page Web ou une
application Android native. Etant donn que la prise en charge des URI personnaliss repose sur des filtres dintention
spcifis dans le manifeste Android, il est impossible dutiliser cette technique sur dautres plates-formes.
Pour utiliser un URI personnalis, ajoutez un lment intent-filter au descripteur dapplication dans le bloc
<android>. Les deux lments intent-filter de lexemple suivant sont obligatoires. Modifiez linstruction <data
android:scheme="my-customuri"/> en fonction de la chane URI associe au modle personnalis.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 83
Dveloppement dapplications AIR pour priphriques mobiles

<android>
<manifestAdditions>
<![CDATA[
<manifest>
<application>
<activity>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="my-customuri"/>
</intent-filter>
</activity>
</application>
</manifest>
]]>
</manifestAdditions>
</android>

Un filtre dintention avertit le systme dexploitation Android que lapplication est en mesure dexcuter une action
donne. Dans le cas dun URI personnalis, cela signifie que lutilisateur a cliqu sur un lien bas sur ce modle dURI
(et le navigateur ne sait pas comment le grer).
Si lapplication est appele par le biais dun URI personnalis, lobjet NativeApplication distribue un vnement
invoke. LURL du lien, paramtres dinterrogation inclus, est place dans le tableau arguments de lobjet
InvokeEvent. Vous disposez dun nombre illimit dlments intent-filter.
Remarque : les liens dans une occurrence de StageWebView ne peuvent pas ouvrir les URL qui font appel un modle
dURI personnalis.

Voir aussi
Android intent filters (disponible en anglais uniquement)
Android actions and categories (disponible en anglais uniquement)

Filtrage de la compatibilit Android


Le systme dexploitation Android utilise divers lments du fichier manifeste de lapplication pour dterminer si
celle-ci est compatible avec un priphrique donn. Lajout de ces informations au fichier manifeste est facultatif. Si
vous nincluez pas ces lments, lapplication peut tre installe sur tout priphrique Android. Elle risque toutefois de
ne fonctionner correctement sur aucun priphrique Android. Une application pour camra savre par exemple
dune utilit limite sur un tlphone qui nest pas quip de camra.
Vous disposez des balises de manifeste Android suivantes des fins de filtrage :
supports-screens
uses-configuration
uses-feature
uses-sdk (dans AIR 3+)

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 84
Dveloppement dapplications AIR pour priphriques mobiles

Applications pour camra


Si vous demandez lautorisation camra pour lapplication, Android part du principe que lapplication ncessite toutes
les fonctionnalits de camra disponibles, y compris la mise au point automatique et le flash. Si lapplication ne requiert
pas toutes les fonctionnalits de camra ou si la camra est une fonctionnalit facultative, dfinissez les divers lments
uses-feature associs la camra pour indiquer quils sont facultatifs. Les utilisateurs dont le priphrique ne gre
pas une fonctionnalit ou nest pas quip de camra ne pourront sinon pas trouver lapplication dans Android
Market.
Lexemple suivant illustre la procdure de demande de lautorisation camra et indique comment rendre toutes les
fonctionnalits de la camra facultatives :
<android>
<manifestAdditions>
<![CDATA[
<manifest>
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera"
android:required="false"/>
<uses-feature
android:name="android.hardware.camera.autofocus" android:required="false"/>
<uses-feature android:name="android.hardware.camera.flash"
android:required="false"/>
</manifest>
]]>
</manifestAdditions>
</android>

Applications denregistrement de laudio


Si vous demandez lautorisation denregistrer laudio, Android considre comme acquis que lapplication ncessite un
microphone. Si lenregistrement de laudio est une fonctionnalit facultative de lapplication, vous disposez dune
balise uses-feature pour spcifier que le microphone est inutile. Les utilisateurs dont le priphrique nest pas quip
dun microphone ne pourront sinon pas trouver lapplication sur Android Market.
Lexemple suivant illustre la procdure de demande dune autorisation dutilisation du microphone, le matriel associ
restant facultatif :
<android>
<manifestAdditions>
<![CDATA[
<manifest>
<uses-permission
android:name="android.permission.RECORD_AUDIO" />
<uses-feature android:name="android.hardware.microphone"
android:required="false"/>
</manifest>
]]>
</manifestAdditions>
</android>

Voir aussi
Android Developers : Android Compatibility (disponible en anglais uniquement)
Android Developers : Android feature name constants (disponible en anglais uniquement)

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 85
Dveloppement dapplications AIR pour priphriques mobiles

Emplacement dinstallation
Vous pouvez autoriser linstallation ou le transfert de lapplication sur la carte mmoire externe en dfinissant lattribut
installLocation de llment Android manifest sur auto ou preferExternal :

<android>
<manifestAdditions>
<![CDATA[
<manifest android:installLocation="preferExternal"/>
]]>
</manifestAdditions>
</android>

Le systme dexploitation Android ne garantit pas que lapplication soit installe sur la carte mmoire externe. Un
utilisateur peut galement transfrer une application entre la mmoire interne et la mmoire externe par le biais de
lapplication Rglages du systme.
Mme si lapplication est installe sur la carte mmoire externe, le cache dapplication, les donnes utilisateur telles que
le contenu du rpertoire app-storage, les objets partags et les fichiers temporaires continuent tre stocks en
mmoire interne. Pour viter de solliciter trop de mmoire interne, slectionnez avec discernement les donnes
enregistres dans le rpertoire de stockage de lapplication. Enregistrez les volumes levs de donnes sur la carte SD
(emplacements File.userDirectory ou File.documentsDirectory, qui pointent tous deux vers la racine de la
carte SD sous Android).

Activation de Flash Player et dautres modules dextension dans un objet StageWebView


Dans Android 3.0 et les versions ultrieures, lapplication doit activer lacclration matrielle dans llment de
lapplication Android pour afficher le contenu des modules dextension dans un objet StageWebView. Pour activer le
rendu sur le module dextension, dfinissez lattribut android:hardwareAccelerated de llment application sur
true :

<android>
<manifestAdditions>
<![CDATA[
<manifest>
<application android:hardwareAccelerated="true"/>
</manifest>
]]>
</manifestAdditions>
</android>

Codage des couleurs


AIR 3+

Dans AIR 3 et les versions ultrieures, le moteur dexcution configure lcran de faon ce quil effectue le rendu des
couleurs 32 bits. Dans les versions antrieures dAIR, le moteur dexcution utilise les couleurs 16 bits. Vous pouvez
demander au moteur dexcution dutiliser les couleurs 16 bits laide de llment <colorDepth> du descripteur
dapplication :
<android>
<colorDepth>16bit</colorDepth>
<manifestAdditions>...</manifestAdditions>
</android>

Lutilisation de la profondeur de couleurs 16 bits peut augmenter les performances de rendu, au dtriment de la fidlit
des couleurs.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 86
Dveloppement dapplications AIR pour priphriques mobiles

Paramtres iOS
Les paramtres rservs aux priphriques iOS sont placs dans llment <iPhone> du descripteur de lapplication.
Llment iPhone peut avoir un lment InfoAdditions, un lment requestedDisplayResolution, un lment
Entitlements, un lment externalSwfs et un lment forceCPURenderModeForDevices comme enfants.

Llment InfoAdditions permet de spcifier des paires cl-valeur ajoutes au fichier de paramtres Info.plist associ
lapplication. Les valeurs suivantes dterminent, par exemple, le style de la barre dtat de lapplication et stipulent
que cette dernire ne ncessite pas un accs Wi-Fi permanent.
<InfoAdditions>
<![CDATA[
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleBlackOpaque</string>
<key>UIRequiresPersistentWiFi</key>
<string>NO</string>
]]>
</InfoAdditions>

Les paramtres InfoAdditions sont entours dune balise CDATA.


Llment Entitlements permet de spcifier les paires cl-valeur ajoutes au fichier de paramtres Entitlements.plist
de lapplication. Les paramtres Entitlements.plist permettent certaines fonctions diOS, notamment aux
notifications Push, daccder lapplication.
Pour plus dinformations sur les paramtres Info.plist et Entitlements.plist, voir la documentation Apple destine aux
dveloppeurs.

Prise en charge de tches en arrire-plan sous iOS


AIR 3.3

Adobe AIR 3.3 et les versions ultrieures prennent en charge les multitches sous iOS en permettant certains
comportements en arrire-plan :
Audio
Mises jour de lemplacement
Mise en rseau
Annulation de lexcution dune application en arrire-plan
Remarque : avec les versions 21 et antrieures de SWF, AIR ne prend pas en charge lexcution en arrire-plan sur iOS
et Android lorsque le mode de rendu est dfini sur direct. En raison de cette restriction, les applications bases sur Stage3D
ne peuvent pas excuter des tches en arrire-plan telles que la lecture de laudio, les mises jour demplacement, les
tlchargements vers/depuis le rseau, etc. iOS nautorise pas les appels OpenGLES/de rendu en arrire-plan. Il
interrompt ainsi les applications qui tentent de lancer des appels en arrire-plan. Android ne restreint pas les appels
OpenGLES ou toute autre tche en arrire-plan lance par les applications (telle que la lecture daudio). Avec les
versions 22 et ultrieures de SWF, les applications mobiles AIR peuvent sexcuter en arrire-plan lorsque renderMode
est dfinir sur direct. Le moteur dexcution AIR iOS entrane une erreur ActionScript (3768 - LAPI Stage3D ne peut pas
tre utilise lors dune excution en arrire-plan) si les appels OpenGLES sont effectus en arrire-plan. Cependant,
aucune erreur ne se produit sur Android car ses applications natives sont autorises effectuer des appels OpenGLES en
arrire-plan. Pour une utilisation optimale des ressources mobiles, neffectuez pas dappels de rendu lorsquune
application sexcute en arrire-plan.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 87
Dveloppement dapplications AIR pour priphriques mobiles

Son en arrire-plan
Pour activer la lecture et lenregistrement audio en arrire-plan, incluez la paire cl-valeur suivante llment
InfoAdditions :

<InfoAdditions>
<![CDATA[
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
</array>
]]>
</InfoAdditions>

Mises jour de lemplacement en arrire-plan


Pour activer les mises jour de lemplacement en arrire-plan, incluez la paire cl-valeur suivante llment
InfoAdditions :

<InfoAdditions>
<![CDATA[
<key>UIBackgroundModes</key>
<array>
<string>location</string>
</array>
]]>
</InfoAdditions>

Remarque : utilisez cette fonction uniquement lorsque cela est ncessaire, car les API demplacement consomment
normment de batterie.

Mise en rseau en arrire-plan


Pour excuter de brves tches en arrire-plan, votre application dfinit la proprit
NativeApplication.nativeApplication.executeInBackground sur true.

Par exemple, votre application peut lancer une opration de mise jour dun fichier aprs que lutilisateur place au
premier plan une autre application. Lorsque lapplication reoit un vnement de fin de tlchargement, elle peut
dfinir NativeApplication.nativeApplication.executeInBackground sur false.
Dfinir la proprit NativeApplication.nativeApplication.executeInBackground sur true ne garantit pas
lexcution indfinie de lapplication, car iOS impose une limite temporelle aux tches en arrire-plan. Lorsque iOS
arrte le traitement en arrire-plan, AIR distribue un vnement NativeApplication.suspend.

Annulation de lexcution en arrire-plan


Votre application peut annuler explicitement lexcution en arrire-plan en incluant la paire cl-valeur suivante
llment InfoAdditions :
<InfoAdditions>
<![CDATA[
<key>UIApplicationExitsOnSuspend</key>
<true/>
]]>
</InfoAdditions>

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 88
Dveloppement dapplications AIR pour priphriques mobiles

Paramtres InfoAdditions iOS rservs


AIR dfinit plusieurs entres dans le fichier Info.plist gnr pour sassurer que les fonctionnalits de lapplication et
du moteur dexcution fonctionnent correctement. Il est impossible de dfinir les paramtres suivants :

CFBundleDisplayName CTInitialWindowTitle

CFBundleExecutable CTInitialWindowVisible

CFBundleIconFiles CTIosSdkVersion

CFBundleIdentifier CTMaxSWFMajorVersion

CFBundleInfoDictionaryVersion DTPlatformName

CFBundlePackageType DTSDKName

CFBundleResourceSpecification MinimumOSVersion (rserv jusqu 3.2)

CFBundleShortVersionString NSMainNibFile

CFBundleSupportedPlatforms UIInterfaceOrientation

CFBundleVersion UIStatusBarHidden

CTAutoOrients UISupportedInterfaceOrientations

Remarque : Vous pouvez dfinir MinimumOSVersion. La dfinition de MinimumOSVersion est prise en charge dans
Air 3.3 et les versions ultrieures.

Prise en charge de diffrents modles de priphrique iOS


Pour prendre en charge liPad, incluez les paramtres cl-valeur appropris de UIDeviceFamily dans llment
InfoAdditions. Le paramtre UIDeviceFamily est un tableau de chanes. Chaque chane dfinit les priphriques
pris en charge. Le paramtre <string>1</string> dfinit la prise en charge de liPhone et de liPod touch. Le
paramtre <string>2</string> dfinit la prise en charge de liPad. Si vous spcifiez uniquement lun de ces
paramtres, seule cette famille de priphriques est prise en charge. Par exemple, le paramtre suivant limite la prise
en charge liPad :
<key>UIDeviceFamily</key>
<array>
<string>2</string>
</array>>

Le paramtre suivant prend en charge les deux familles de priphriques (iPhone/iPod Touch et iPad) :
<key>UIDeviceFamily</key>
<array>
<string>1</string>
<string>2</string>
</array>

En outre, dans AIR 3.7 et les versions ultrieures, vous pouvez utiliser la balise forceCPURenderModeForDevices
balise pour forcer le mode de rendu UC pour un ensemble de priphriques spcifis et activer le mode de rendu GPU
les priphriques iOS restants.
Vous ajoutez cette balise comme enfant de la balise iPhone et spcifiez une liste de noms de modles spars par des
espaces. Pour obtenir une liste de noms de modle valides, reportez-vous forceCPURenderModeForDevices la
page 236.
Par exemple, pour utiliser le mode UC dans les anciens iPods, iPhones et iPads, et activer le mode GPU pour tous les
autres priphriques, spcifiez ce qui suit dans le descripteur dapplication :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 89
Dveloppement dapplications AIR pour priphriques mobiles

...
<renderMode>GPU</renderMode>
...
<iPhone>
...
<forceCPURenderModeForDevices>iPad1,1 iPhone1,1 iPhone1,2
iPod1,1
</forceCPURenderModeForDevices>
</iPhone>

Affichages haute rsolution


Llment requestedDisplayResolution indique si lapplication doit utiliser le mode de rsolution standard ou high
sur les priphriques iOS quips dun cran haute rsolution.
<requestedDisplayResolution>high</requestedDisplayResolution>

Le mode Haute rsolution permet dadresser individuellement chaque pixel dun cran haute rsolution. En mode
Standard, lcran du priphrique est assimil par lapplication un cran rsolution standard. Dessiner un pixel
unique en ce mode dfinit la couleur de quatre pixels sur un cran haute rsolution.
Le paramtre par dfaut est standard. Notez que, afin de cibler les priphriques iOS, vous utilisez llment
requestedDisplayResolution en tant quenfant de llment iPhone (et non de llment InfoAdditions ou
initialWindow).

Si vous voulez utiliser dautres paramtres sur dautres priphriques, spcifiez la valeur par dfaut comme la valeur
de llment requestedDisplayResolution. Utilisez lattribut excludeDevices afin de spcifier les priphriques
qui doivent utiliser la valeur oppose. Par exemple, avec le code suivant, le mode haute rsolution est utilis sur tous
les priphriques qui le prennent en charge, sauf les iPad de 3e gnration, qui utilisent le mode standard.
<requestedDisplayResolution excludeDevices="iPad3">high</requestedDisplayResolution>

Lattribut excludeDevices est disponible dans AIR 3.6 et ultrieur.

Voir aussi
requestedDisplayResolution la page 250
Renaun Erickson : Developing for both retina and non-retina iOS screens using AIR 2.6 (disponible en anglais
uniquement)

Modles dURI personnaliss iOS


Lenregistrement dun modle dURI personnalis permet dappeler lapplication laide dun lien insr dans une
page Web ou dune autre application native installe sur le priphrique. Pour enregistrer un modle dURI, ajoutez
une cl CFBundleURLTypes llment InfoAdditions. Lexemple suivant enregistre un modle dURI,
com.example.app, afin de permettre lappel dune application par le biais dURL de type : example://foo.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 90
Dveloppement dapplications AIR pour priphriques mobiles

<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>example</string>
</array>
<key>CFBundleURLName</key>
<string>com.example.app</string>
</dict>
</array>

Si lapplication est appele par le biais dun URI personnalis, lobjet NativeApplication distribue un vnement
invoke. LURL du lien, paramtres dinterrogation inclus, est place dans le tableau arguments de lobjet
InvokeEvent. Vous disposez dun nombre illimit de modles dURI.
Remarque : les liens dans une occurrence de StageWebView ne peuvent pas ouvrir les URL qui font appel un modle
dURI personnalis.
Remarque : si une autre application a dj enregistr un modle dURI, il est impossible dassocier votre application au
modle.

Filtrage de la compatibilit iOS


Ajoutez des entres un tableau UIRequiredDeviceCapabilities dans llment InfoAdditions si lapplication doit
tre rserve aux priphriques dots de fonctionnalits matrielles ou logicielles dtermines. Lentre suivante
indique, par exemple, quune application requiert un appareil photo et un microphone :
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>microphone</string>
<string>still-camera</string>
</array>

Si le priphrique nest pas quip de ces fonctionnalits, il est impossible dinstaller lapplication. Les paramtres de
fonctionnalits associs aux applications AIR sont les suivants :

telephony camera-flash

wifi video-camera

sms accelerometer

still-camera location-services

auto-focus-camera gps

front-facing-camera microphone

AIR 2.6+ ajoute automatiquement armv7 et opengles-2 la liste des fonctionnalits requises.
Remarque : il est inutile dinclure ces fonctionnalits dans le descripteur de lapplication pour que cette dernire les utilise.
Ne faites appel aux paramtres UIRequiredDeviceCapabilities que pour interdire aux utilisateurs dinstaller lapplication
sur un priphrique sur lequel elle ne peut pas fonctionner correctement.

Fermeture plutt que mise en pause


Lorsquun utilisateur quitte par basculement une application AIR, elle sexcute en arrire-plan et est mise en pause.
Pour que lapplication se ferme compltement au lieu dtre mise en pause, dfinissez la proprit
UIApplicationExitsOnSuspend sur YES :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 91
Dveloppement dapplications AIR pour priphriques mobiles

<key>UIApplicationExitsOnSuspend</key>
<true/>

Rduire la taille des tlchargements en chargeant des fichiers SWF externes dactifs
uniquement
AIR 3.7

Vous pouvez rduire la taille de tlchargement initiale de lapplication en compressant un sous-ensemble des fichiers
SWF utilises par votre application et en chargeant les fichiers SWF externes restants (actif uniquement) lors de
lexcution laide de la mthode Loader.load(). Pour utiliser cette fonction, vous devez compresser lapplication de
telle sorte quADT dplace tout le pseudo-code ActionScript (ABC) depuis les fichiers SWF chargs en externe vers le
fichier SWF principal de lapplication, laissant un fichier SWF qui contient uniquement des actifs. Cela est ncessaire
pour respecter la rgle de lApple Store qui interdit le tlchargement tout code une fois quune application est installe.
ADT effectue les oprations suivantes pour prendre en charge les fichiers SWF chargs en externe (galement appels
fichiers SWF dmunis) :
Lit le fichier texte spcifi dans le sous-lment <externalSwfs> de llment <iPhone> pour accder la liste de
fichiers SWF spars par une ligne charger la prochaine excution :
<iPhone>
...

<externalSwfs>FilewithPathsOfSWFsThatAreToNotToBePackaged.txt</externalSwfs>
</iPhone>

Transfert le code ABC de chaque fichier SWF charg en externe vers lexcutable principal.
Omet les fichiers SWF chargs en externe du fichier .ipa.
Copie les fichiers SWF dmunis dans le rpertoire .remoteStrippedSWFs. Vous hbergez ces fichiers SWF sur un
serveur Web et votre application les charge, au besoin, au moment de lexcution.
Vous devez indiquer les fichiers SWF charger au moment de lexcution en spcifiant leurs noms, un par ligne dans
un fichier texte, comme le montre lexemple suivant :
assets/Level1/Level1.swf
assets/Level2/Level2.swf
assets/Level3/Level3.swf
assets/Level4/Level4.swf

Le chemin daccs du fichier spcifi est relatif au fichier descripteur de lapplication. En outre, vous devez spcifier ces
fichiers SWF comme actifs dans la commande adt.
Remarque : Cette fonction sapplique aux compressions standard uniquement. Pour une compression rapide (par
exemple laide dun interprteur, dun simulateur, ou dun dbogueur) ADT ne cre pas de fichiers SWF dmunis.
Pour plus dinformations sur cette fonction, y compris un exemple de code, reportez-vous Hbergement externe
de fichiers SWF secondaires pour applications AIR sur iOS, une publication de blog par Abhinav Dhandh,
ingnieur chez Adobe.

Prise en charge de la golocalisation


Pour la prise en charge de la golocalisation, ajoutez lune des paires cl-valeur suivantes llment InfoAdditions :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 92
Dveloppement dapplications AIR pour priphriques mobiles

<InfoAdditions>
<![CDATA[
<key>NSLocationAlwaysUsageDescription</key>
<string>Sample description to allow geolocation always</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Sample description to allow geolocation when application
is in foreground</string>
]]>
</InfoAdditions>

Icnes dune application


Le tableau suivant indique les tailles dicnes utilises sur chaque plate-forme mobile :

Taille dicne Plate-forme

29x29 iOS

36x36 Android

40 x 40 iOS

48x48 Android, iOS

50x50 iOS

57x57 iOS

58x58 iOS

60 x 60 iOS

72x72 Android, iOS

75 x 75 iOS

76 x 76 iOS

80 x 80 iOS

87 x 87 iOS

96x96 Android

100x100 iOS

114x114 iOS

120 x 120 iOS

144x144 Android, iOS

152 x 152 iOS

167 x 167 iOS

180 x 180 iOS

192 x 192 Android

512 x 512 Android, iOS

1 024 x 1024 iOS

Spcifiez le chemin daccs aux fichiers dicne dans llment icon du fichier descripteur de lapplication :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 93
Dveloppement dapplications AIR pour priphriques mobiles

<icon>
<image36x36>assets/icon36.png</image36x36>
<image48x48>assets/icon48.png</image48x48>
<image72x72>assets/icon72.png</image72x72>
</icon>

Si vous ne fournissez pas dicne de la taille indique, la taille suivante est utilise et limage est mise lchelle en
consquence.

Icnes sous Android


Sous Android, les icnes spcifies dans le descripteur dapplication servent dicne de lancement de lapplication.
Licne de lancement de lapplication doit tre fournie sous la forme dun ensemble dimages PNG de 36x36, 48x48,
72x72, 96x96, 144x144 et 192x192 pixels. Ces tailles dicne correspondent respectivement aux crans de faible densit,
densit moyenne et densit leve.
Les dveloppeurs doivent envoyer licne de 512x512 pixels au moment de lenvoi de lapplication sur Google Play
Store.

Icnes sous iOS


Les icnes dfinies dans le descripteur dapplication sont utilises comme suit pour une application iOS :
Icne de 29 par 29 pixels : icne Recherche Spotlight pour les iPhone/iPod de faible rsolution et icne Rglages
pour les iPad de faible rsolution.
Icne de 40 par 40 pixels : icne de recherche Spotlight pour les iPad de faible rsolution.
Icne de 48 par 48 pixels : AIR ajoute une bordure cette image et lutilise en tant quicne 50x50 pour la recherche
Spotlight sur les iPad de faible rsolution.
Icne de 50 par 50 pixels : recherche Spotlight pour les iPad de faible rsolution.
Icne de 57 par 57 pixels : icne de lapplication pour les iPhone/iPod de faible rsolution.
Icne de 58 par 58 pixels : icne Spotlight pour les iPhone/iPod munis dun cran Retina et icne Rglages pour les
iPad munis dun cran Retina.
Icne de 60 par 60 pixels : icne de lapplication pour les iPhone/iPod de faible rsolution.
Icne de 72 par 72 pixels (facultatif) : icne de lapplication pour les iPad de faible rsolution.
Icne de 76 par 76 pixels (facultatif) : icne de lapplication pour les iPad de faible rsolution.
Icne de 80 par 80 pixels : recherche Spotlight pour les iPhone/iPod/iPad de haute rsolution.
Icne de 100 par 100 pixels : recherche Spotlight pour les iPad munis dun cran Retina.
Icne de 114 par 114 pixels : icne de lapplication pour les iPhone/iPod munis dun cran Retina.
Icne de 114 par 114 pixels : icne de lapplication pour les iPhone/iPod munis dun cran Retina.
Icne de 120 par 120 pixels : icne de lapplication pour les iPhone/iPod de haute rsolution.
Icne de 152 par 152 pixels : icne de lapplication pour les iPad de haute rsolution.
Icne de 167 par 167 pixels : icne de lapplication pour les iPad Pro de haute rsolution.
Icne de 512 par 512 pixels : icne de lapplication pour les iPhone/iPod/iPad de faible rsolution. iTunes affiche
cette icne. Le fichier PNG de 512 pixels est rserv au test des versions de dveloppement de lapplication. Lorsque
vous envoyez lapplication dfinitive lApp Store dApple, vous transmettez sparment limage de 512 pixels au
format JPG. Elle nest pas incluse dans lIPA.
Icne de 1 024 par 1 024 pixels : icne de lapplication pour les iPhone/iPod/iPad munis dun cran Retina.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 94
Dveloppement dapplications AIR pour priphriques mobiles

Etant donn quiOS ajoute un effet de lueur jaune une icne, il est inutile dappliquer leffet limage source. Pour
dsactiver cet effet de lueur jaune activ par dfaut, ajoutez le texte ci-dessous llment InfoAdditions du fichier
descripteur dapplication :
<InfoAdditions>
<![CDATA[
<key>UIPrerenderedIcon</key>
<true/>
]]>
</InfoAdditions>

Remarque : sur iOS, les mtadonnes de lapplication sont insres en tant que mtadonnes png dans les icnes de
lapplication afin quAdobe puisse connatre le nombre dapplications AIR disponibles dans lApp Store iOS dApple. Si
vous ne souhaitez pas que votre application soit identifie comme une application AIR, vous devez extraire le fichier IPA
du package, retirer les mtadonnes de licne, puis remettre le fichier IPA en package. Cette procdure est dcrite dans
larticle Opt-out of AIR application analytics for iOS (disponible en anglais uniquement).

Voir aussi
icon la page 238
imageNxN la page 239
Android Developers : Icon Design Guidelines (disponible en anglais uniquement)
iOS Human Interface Guidelines: Custom Icon and Image Creation Guidelines (disponible en anglais uniquement)

Images de lancement iOS


Outre les icnes de lapplication, vous devez fournir au moins une image de lancement appele Default.png. Vous pouvez,
si vous le souhaitez, inclure des images de lancement distinctes selon lorientation au dmarrage, la rsolution
(notamment sur les crans Retina haute rsolution et les crans au format 16:9) et le priphrique. Vous pouvez galement
inclure diffrentes images de lancement utiliser lorsque lutilisateur appelle lapplication par le biais dune URL.
Les fichiers dimage de lancement ne sont pas rfrencs dans le descripteur de lapplication et doivent rsider dans le
rpertoire racine de cette dernire. (Ne placez pas les fichiers dans un sous-rpertoire.)

Modle daffectation de noms de fichiers


Attribuez un nom limage comme suit :
basename + screen size modifier + urischeme + orientation + scale + device + .png

La partie basename du nom de fichier est lunique partie requise. Elle correspond soit Default (avec un D majuscule),
soit au nom spcifi laide de la cl UILaunchImageFile dans llment InfoAdditions du descripteur de
lapplication.
La partie screen size modifier dsigne la taille de lcran lorsquelle ne correspond aucune taille dcran standard. Ce
modificateur sapplique uniquement aux modles diPhone et diPod dots dcrans 16:9, tels que liPhone 5 et liPod
touch de 5e gnration. Lunique valeur prise en charge par ce modificateur est -568h. Etant donn que ces
priphriques prennent en charge les affichages haute rsolution (Retina), le modificateur de taille dcran est toujours
utilis avec une image possdant galement le modificateur dchelle @2x. Le nom dimage de lancement complet par
dfaut pour ces priphriques est Default-568h@2x.png.
La partie urischeme correspond la chane didentification du modle dURI. Cette partie sapplique uniquement si
votre application mobile prend en charge un ou plusieurs modles dURL personnaliss. Par exemple, sil est possible
dappeler lapplication par le biais dun lien tel que example://foo, faites de -example la partie modle du nom de
fichier de limage de lancement.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 95
Dveloppement dapplications AIR pour priphriques mobiles

La partie orientation permet de spcifier plusieurs images de lancement selon lorientation du priphrique lors du
dmarrage de lapplication. Cette partie sapplique uniquement aux images des applications de liPad. Elle peut
possder lune des valeurs suivantes, selon lorientation du priphrique lorsque lapplication dmarre :
-Portrait
-PortraitUpsideDown
-Landscape
-LandscapeLeft
-LandscapeRight
La partie scale correspond @2x (pour liPhone 4, liPhone 5 et liPhone 6) ou @3x (pour liPhone 6 plus) pour les
images de lancement rserves aux crans haute rsolution (retina). (Omettez compltement la partie scale pour les
images associes aux crans rsolution standard.) Pour les images de lancement des priphriques plus grands, tels
que liPhone 5 et liPod touch de 5e gnration, vous devez galement spcifier le modificateur de taille dcran -528h
aprs la partie basename et avant tout autre partie.
La partie device est utilise pour dsigner les images de lancement des priphriques et des tlphones de poche. Cette
partie est utilise lorsque votre application est une application mobile universelle qui prend en charge les priphriques
de poche et les tablettes avec une seule interface binaire-programme. La valeur doit tre soit ~ipad soit ~iphone (pour
liPhone et liPod Touch).
Pour liPhone, vous ne pouvez inclure que les images au format portrait. Cependant, dans le cas dun iPhone 6 plus,
les images en mode paysage peuvent galement tre ajoutes. Utilisez des images de 320 x 480 pixels pour les
priphriques de rsolution standard, des images de 640 x 960 pixels pour les priphriques haute rsolution, et des
images 640 x 1 136 pixels pour les priphriques 16:9 tels que liPhone 5 et liPod touch de 5e gnration.
Pour liPad, vous pouvez inclure les images suivantes :
AIR 3.3 et versions antrieures : images qui ne sont pas au mode plein cran : vous pouvez inclure des images au
format paysage (1 024 x 748 en rsolution normale, 2 048 x 1 496 en haute rsolution) et au format portrait (768 x
1 004 en rsolution normale, 1 536 x 2 008 en haute rsolution).
AIR 3.4 et versions ultrieures : images plein cran : vous pouvez inclure des images au format paysage (1 024 x 768
en rsolution normale, 2 048 x 1 536 en haute rsolution) et au format portrait (768 x 1 024 en rsolution normale,
1 536 x 2 048 en haute rsolution). Notez que lorsque vous mettez en package une image plein cran pour une
application qui nest pas affiche en plein cran, les 20 pixels suprieurs (les 40 pixels suprieurs pour une image
haute rsolution) sont masqus par la barre dtat. Evitez dafficher des informations importantes dans cette zone.

Exemples
Le tableau suivant contient un exemple densemble dimages de lancement que vous pourriez associer une
application hypothtique qui prend en charge lventail le plus large possible de priphriques et dorientations.
Lutilisateur peut lancer lapplication par le biais dURL bases sur le modle example:// :

Nom du fichier Taille de limage Utilisation

Default.png 320 x 480 iPhone, rsolution standard

Default@2x.png 640 x 960 iPhone, rsolution leve

Default-568h@2x.png 640 x 1 136 iPhone, haute rsolution, format dimage


16:9

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 96
Dveloppement dapplications AIR pour priphriques mobiles

Nom du fichier Taille de limage Utilisation

Default-Portrait.png 768 x 1 004 (AIR 3.3 et iPad, orientation portrait


versions antrieures)

768 x 1 024 (AIR 3.4 et


versions ultrieures)

Default-Portrait@2x.png 1 536 x 2 008 (AIR 3.3 et iPad, haute rsolution, orientation portrait
versions antrieures)

1 536 x 2 048 (AIR 3.4 et


versions ultrieures)

Default-PortraitUpsideDown.png 768 x 1 004 (AIR 3.3 et iPad, orientation portrait inverse


versions antrieures) 768 x
1 024 (AIR 3.4 et versions
ultrieures)

Default-PortraitUpsideDown@2x.png 1 536 x 2 008 (AIR 3.3 et iPad, haute rsolution, orientation portrait
versions antrieures) lenvers
1 536 x 2 048 (AIR 3.4 et
versions ultrieures)

Default-Landscape.png 1 024 x 768 iPad, orientation paysage gauche

Default-LandscapeLeft@2x.png 2 048 x 1 536 iPad, haute rsolution, orientation paysage


vers la gauche

Default-LandscapeRight.png 1 024 x 768 iPad, orientation paysage droite

Default-LandscapeRight@2x.png 2 048 x 1 536 iPad, haute rsolution, orientation paysage


vers la droite

Default-example.png 320 x 480 example:// URL sur un iPhone standard

Default-example@2x.png 640 x 960 example:// URL sur un iPhone rsolution


leve

Default-example~ipad.png 768 x 1 004 example:// URL sur un iPad (orientations


portrait)

Default-example-Landscape.png 1 024 x 768 example:// URL sur un iPad (orientations


paysage)

Cet exemple illustre uniquement une approche. Vous pourriez notamment utiliser limage Default.png pour liPad,
et spcifier des images de lancement spcifiques pour liPhone et liPod avec Default~iphone.png et
Default@2x~iphone.png.

Voir aussi
iOS Application Programming Guide: Application Launch Images (disponible en anglais uniquement)

Images de lancement assembler pour les priphriques iOS

Priphriques Rsolution (pixels) Nom de limage de lancement Orientation

iPhone

iPhone 4 (non 640 x 960 Default~iphone.png Portrait


retina)

iPhone 4, 4s 640 x 960 Default@2x~iphone.png Portrait

iPhone 5, 5c, 5s 640 x 1 136 Default-568h@2x~iphone.png Portrait

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 97
Dveloppement dapplications AIR pour priphriques mobiles

iPhone6, 750 x 1 334 Default-375w-667h@2x~iphone.png Portrait


iPhone7

iPhone6+, 1 242 x 2 208 Default-414w-736h@3x~iphone.png Portrait


iPhone7+

iPhone6+, 2 208 x 1 242 Default-Landscape-414w- Landscape


iPhone7+ 736h@3x~iphone.png

iPad

iPad 1, 2 768 x 1 024 Default-Portrait~ipad.png Portrait

iPad 1, 2 768 x 1 024 Default-PortraitUpsideDown~ipad.png Portrait lenvers

iPad 1, 2 1 024 x 768 Default-Landscape~ipad.png Paysage gauche

iPad 1, 2 1 024 x 768 Default-LandscapeRight~ipad.png Paysage droit

iPad 3, Air 1 536 x 2 048 Default-Portrait@2x~ipad.png Portrait

iPad 3, Air 1 536 x 2 048 Default- Portrait lenvers


PortraitUpsideDown@2x~ipad.png

iPad 3, Air 2 048 x 1 536 Default-LandscapeLeft@2x~ipad.png Paysage gauche

iPad 3, Air 2 048 x 1 536 Default-LandscapeRight@2x~ipad.png Paysage droit

iPad Pro 2048 x 2732 Default-Portrait@2x.png Portrait

iPad Pro 2732 x 2048 Default-Landscape@2x.png Landscape

Directives de cration
Sous rserve de respecter les dimensions requises, libre vous de crer nimporte quel graphique pour une image de
lancement. Il est toutefois prfrable que limage corresponde ltat initial de lapplication. Vous pouvez crer une
telle image de lancement en capturant lcran de dmarrage de lapplication :
1 Ouvrez lapplication sur le priphrique iOS. Lorsque le premier cran de linterface utilisateur apparat, appuyez
sur le bouton principal (figurant sous lcran) et maintenez-le enfonc. Tout en maintenant enfonc le bouton
principal, appuyez sur le bouton Marche/Veille figurant dans la partie suprieure du priphrique. Vous effectuez
ainsi une capture dcran, qui est envoye Pellicule.
2 Transfrez limage sur lordinateur de dveloppement via iPhoto ou toute autre application adapte.
Nincluez pas de texte dans limage de lancement si lapplication est localise en plusieurs langues. Etant donn que
limage de lancement est statique, le texte ne serait pas traduit.
Voir aussi
iOS Human Interface Guidelines: Launch images (disponible en anglais uniquement)

Paramtres ignors
Les applications pour priphriques mobiles ignorent les paramtres dapplication relatifs aux fentres natives ou aux
fonctionnalits du systme dexploitation de bureau. Les paramtres ignors sont les suivants :
allowBrowserInvocation
customUpdateUI
fileTypes
height
installFolder

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 98
Dveloppement dapplications AIR pour priphriques mobiles

maximizable
maxSize
minimizable
minSize
programMenuFolder
resizable
systemChrome
title
transparent
visible
width
x
y

Mise en package dune application AIR mobile


La commande ADT -package permet de crer le package dune application AIR pour priphrique mobile. Le
paramtre -target spcifie la plate-forme mobile pour laquelle est cr le package.

Packages Android
Les applications AIR for Android utilisent le format de package dAndroid (APK), plutt que le format de package
dAIR.
Le format des packages produits par loutil ADT avec le type de cible APK est adapt Android Market. Toute
application doit imprativement se conformer aux conditions requises dAndroid Market pour tre accepte. Passez
en revue les conditions requises les plus rcentes avant de crer le package final. Voir Android Developers : Publishing
on the Market (disponible en anglais uniquement).
Contrairement aux applications iOS, vous pouvez signer lapplication par le biais dun certificat de signature du code
AIR standard. Toutefois, pour proposer une application sur Android Market, le certificat doit respecter les rgles en
vigueur, qui exigent quil soit valide au moins jusquen 2033. Pour crer un certificat de ce type, utilisez la commande
ADT -certificate.
Pour proposer une application un autre site dont les applications ne doivent pas ncessiter le tlchargement dAIR
partir dAndroid Market, vous pouvez spcifier une autre URL de tlchargement laide du paramtre -
airDownloadURL de loutil ADT. Lorsquun utilisateur qui ne dispose pas de la version requise du moteur dexcution
dAIR lance lapplication, il est redirig vers lURL indique. Pour plus dinformations, voir Commande ADT
package la page 175.
Par dfaut, ADT met en package lapplication Android avec le moteur dexcution partag. Pour excuter lapplication,
lutilisateur doit donc installer le moteur dexcution dAIR sparment sur le priphrique.
Remarque : Pour forcer ADT crer un package APK qui utilise un moteur dexcution captif, utilisez target apk-
captive-runtime.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 99
Dveloppement dapplications AIR pour priphriques mobiles

Packages iOS
Sous iOS, les applications AIR utilisent le format de package diOS (IPA), plutt que le format dAIR natif.
Le format des packages produits par loutil ADT en dfinissant le type de cible ipa-app-store avec le certificat
dveloppeur et le profil de configuration corrects est adapt lApp Store dApple. Utilisez le type de cible ipa-ad-hoc
pour mettre en package une application des fins de distribution ad hoc.
Signez lapplication avec le certificat de dveloppement dlivr par Apple correct. Les certificats requis par la cration
de versions de test ne correspondent pas aux certificats utiliss pour la mise en package finale avant lenvoi de
lapplication.
Pour obtenir un exemple de mise en package dune application iOS avec Ant, voir Piotr Walczyszyn : Packaging AIR
application for iOS devices with ADT command and ANT script (disponible en anglais uniquement)

Mise en package avec loutil ADT


La version 2.6 du kit SDK dAIR et les versions ultrieures prennent en charge la mise en package diOS et dAndroid.
Avant la mise en package, il est ncessaire de compiler tout code ActionScript, MXML et code dextension ventuel.
Vous devez galement disposer dun certificat de signature du code.
Pour consulter des informations de rfrence dtailles sur les commandes et options de loutil ADT, voir Outil AIR
Developer (ADT) la page 174.

Packages APK Android

Cration dun package APK


Pour crer un package APK, utilisez la commande ADT package et dfinissez le type de cible sur apk pour les versions
valides, sur apk-debug pour les versions de dbogage et sur apk-emulator pour les versions en mode de validation
excuter sur un mulateur.
adt -package
-target apk
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons

Saisissez la commande entire sur une ligne unique. Les sauts de ligne que contient lexemple ci-dessus ont pour
unique objet de faciliter la lecture. Par ailleurs, lexemple part du principe que le chemin daccs loutil ADT figure
dans la dfinition path de linterface de commande de ligne de commande. (Pour plus dinformations, voir Variables
denvironnement path la page 321.)
Vous devez excuter la commande partir du rpertoire qui contient les fichiers de lapplication. Dans lexemple
illustr, les fichiers de lapplication sont myApp-app.xml (fichier descripteur de lapplication), myApp.swf et un
rpertoire dicnes.
Si vous excutez la commande comme indiqu, loutil ADT vous invite entrer le mot de passe associ au keystore.
(Les caractres du mot de passe saisis ne sont pas affichs. Appuyez simplement sur Entre une fois la saisie termine.)
Remarque : Par dfaut, toutes les applications AIR Android disposent dAir. prfixe du nom du package. Pour
dsactiver ce comportement par dfaut, dfinissez la variable denvironnement AIR_NOANDROIDFLAIR sur true depuis
votre ordinateur.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 100
Dveloppement dapplications AIR pour priphriques mobiles

Cration dun package APK pour une application faisant appel des extensions natives
Pour crer un package APK pour une application ayant recours aux extensions natives, ajoutez loption -extdir aux
options de mise en package standard. Dans le cas de fichiers ANE qui partagent des ressources/bibliothques, loutil
ADT slectionne une seule ressource/bibliothque et ignore les autres entres en double avant de gnrer un
avertissement. Cette option spcifie le rpertoire contenant les fichiers ANE auxquels fait appel lapplication.
Exemple :
adt -package
-target apk
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
-extdir extensionsDir
myApp.swf icons

Cration dun package APK incluant sa propre version du moteur dexcution dAIR
Pour crer un package APK contenant lapplication et une version captive du moteur dexcution dAIR, utilisez la
cible apk-captive-runtime. Cette option spcifie le rpertoire contenant les fichiers ANE auxquels fait appel
lapplication. Exemple :
adt -package
-target apk-captive-runtime
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons

Cette technique peut prsenter les inconvnients suivants :


Principaux correctifs de scurit publis par Adobe non automatiquement disponibles aux utilisateurs
Plus grande empreinte RAM de lapplication
Remarque : lorsque vous intgrez le moteur dexcution, ADT ajoute les autorisations INTERNET et BROADCAST_STICKY
votre application. Ces autorisations sont requises par le moteur dexcution dAIR.

Cration dun package APK de dbogage


Pour crer une version de lapplication utiliser avec un dbogueur, utilisez la cible apk-debug et spcifiez 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

Lindicateur -connect indique au moteur dexcution dAIR du priphrique o se connecter un dbogueur distant
via le rseau. Pour effectuer un dbogage via USB, vous devez spcifier lindicateur -listen en stipulant le port TCP
utiliser pour la connexion de dbogage :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 101
Dveloppement dapplications AIR pour priphriques mobiles

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 fonctionnalits de dbogage fonctionnent, vous devez galement compiler les fichiers SWF et
SWC de lapplication en activant le dbogage. Voir Options de connexion au dbogueur la page 192 pour obtenir
une description complte des indicateurs -connect et -listen.
Remarque : Par dfaut, ADT met en package une copie captive du moteur dexcution dAIR avec votre application
Android lors de la cration du package de lapplication avec la cible apk-debug. Pour forcer loutil ADT crer un package
APK qui utilise un moteur dexcution externe, dfinissez la variable denvironnement AIR_ANDROID_SHARED_RUNTIME
sur true.
Sous Android, lapplication doit galement tre autorise accder Internet pour pouvoir se connecter lordinateur
qui excute le dbogueur via le rseau. Voir Autorisations Android la page 80.

Cration dun package APK utiliser sur un mulateur Android


Vous pouvez utiliser un package de dbogage APK sur un mulateur Android, mais non un package en mode de
validation. Pour crer un package APK en mode de validation utiliser sur un mulateur, faites appel la commande
ADT package et dfinissez 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

Lexemple part du principe que le chemin daccs loutil ADT figure dans la dfinition path de linterface de
commande de ligne de commande. (Pour plus dinformations, voir Variables denvironnement path la page 321.)

Cration dun package APK partir dun fichier AIR ou AIRI


Vous pouvez crer un package APK directement partir dun fichier AIR ou AIRI existant :
adt -target apk -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp.air

Le fichier AIR doit utiliser lespace de noms AIR 2.5 (ou ultrieur) dans le fichier descripteur dapplication.

Cration dun package APK pour la plate-forme Android x86


A partir dAIR 14, largument, -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

Packages iOS
Sous iOS, loutil ADT convertit le code binaire du fichier SWF et autres fichiers sources en application iOS native.
1 Crez le fichier SWF laide de Flash Builder, de Flash Professional ou dun compilateur de ligne de commande.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 102
Dveloppement dapplications AIR pour priphriques mobiles

2 Ouvrez une interface de commande ou un terminal et accdez au dossier de projet contenant lapplication iPhone.
3 Crez ensuite le fichier IPA laide de loutil ADT en appliquant la syntaxe suivante :
adt -package
-target [ipa-test | ipa-debug | ipa-app-store | ipa-ad-
hoc |
ipa-debug-interpreter | ipa-debug-interpreter-simulator
ipa-test-interpreter | ipa-test-interpreter-simulator]
-provisioning-profile PROFILE_PATH
SIGNING_OPTIONS
TARGET_IPA_FILE
APP_DESCRIPTOR
SOURCE_FILES
-extdir extension-directory
-platformsdk path-to-iossdk or path-to-ios-simulator-
sdk

Modifiez la rfrence adt de sorte inclure le chemin daccs complet loutil ADT. Loutil ADT est install dans
le sous-rpertoire bin du kit SDK dAIR.
Slectionnez loption -target correspondant au type dapplication iPhone crer :
-target ipa-test : cette option permet de compiler rapidement une version de lapplication en vue de la tester
sur liPhone de dveloppement. Vous pouvez par ailleurs utiliser ipa-test-interpreter pour une compilation
encore plus rapide ou ipa-test-interpreter-simulator pour une excution dans le simulateur iOS.
-target ipa-debug : cette option permet de compiler une version de dbogage de lapplication en vue de la
tester sur liPhone de dveloppement. Cette option permet de recevoir la sortie trace() issue de lapplication
iPhone dans le cadre dune session de dbogage.
Vous pouvez inclure lune des options -connect suivantes (CONNECT_OPTIONS) pour spcifier ladresse IP de
lordinateur de dveloppement qui excute le dbogueur :
-connect : lapplication tentera de se connecter via wi-fi une session de dbogage sur lordinateur de
dveloppement utilis pour compiler lapplication.
-connect IP_ADDRESS : lapplication tentera de se connecter via wi-fi une session de dbogage sur
lordinateur dont ladresse IP a t spcifie. Exemple :
-target ipa-debug -connect 192.0.32.10

-connect HOST_NAME : lapplication tentera de se connecter via wi-fi une session de dbogage sur
lordinateur dont le nom dhte a t spcifi. Exemple :
-target ipa-debug -connect bobroberts-mac.example.com

Loption -connect est facultative. Si elle nest pas spcifie, lapplication de dbogage rsultante ne tentera pas
de se connecter un dbogueur hberg. Vous pouvez galement spcifier -listen au lieu de -connect pour
activer le dbogage via USB (voir Dbogage distance avec le programme FDB via USB la page 112).
En cas dchec dune tentative de connexion une session de dbogage, lapplication affiche une bote de
dialogue qui invite lutilisateur saisir ladresse IP de lordinateur qui hberge le dbogueur. Une tentative de
connexion peut chouer si le priphrique nest pas connect au rseau Wi-Fi. Elle peut galement chouer si le
priphrique est connect, mais pas derrire le pare-feu de lordinateur de dbogage hte.
Vous pouvez galement utiliser ipa-debug-interpreter pour une compilation plus rapide ou ipa-debug-
interpreter-simulator pour excuter lapplication dans le simulateur iOS.

Pour plus dinformations, voir Dbogage dune application AIR mobile la page 105.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 103
Dveloppement dapplications AIR pour priphriques mobiles

-target ipa-ad-hoc : cette option permet de crer une application destine un dploiement ad hoc (voir le
centre des dveloppeurs iPhone dApple).
-target ipa-app-store : cette option permet de crer une version dfinitive du fichier IPA dployer sur
lApp Store dApple.
Remplacez PROFILE_PATH par le chemin du profil de configuration de lapplication. Pour plus dinformations sur
les profils de configuration, voir Configuration diOS la page 69.
Utilisez loption -platformsdk pour pointer vers le kit du simulateur iOS lorsque vous crez votre application en
vue de lexcuter dans le simulateur iOS.
Remplacez llment SIGNING_OPTIONS de sorte faire rfrence au certificat de dveloppement iPhone et au mot
de passe correspondant Utilisez la syntaxe suivante :
-storetype pkcs12 -keystore P12_FILE_PATH -storepass PASSWORD

Remplacez P12_FILE_PATH par le chemin du fichier de certificat P12. Remplacez PASSWORD par le mot de passe
associ au certificat (voir lexemple ci-dessous). Pour plus dinformations sur le fichier du certificat P12, voir
Conversion dun certificat de dveloppement en fichier de keystore P12 la page 209.
Remarque : vous pouvez utiliser un certificat auto-sign lors de la mise en package pour le simulateur iOS.
Remplacez llment APP_DESCRIPTOR de sorte faire rfrence au fichier descripteur de lapplication.
Remplacez llment SOURCE_FILES de sorte faire rfrence au principal fichier SWF du projet, suivi de tout autre
actif inclure. Incluez les chemins daccs tous les fichiers dicne dfinis dans la bote de dialogue des paramtres
de lapplication de Flash Professional ou dans un fichier descripteur dapplication personnalis. Ajoutez galement
le fichier contenant les graphiques de lcran initial, Default.png.
Utilisez loption -extdir extension-directory pour spcifier le rpertoire contenant les fichiers ANE
(extensions natives) quutilise lapplication. Si lapplication ne fait pas appel des extensions natives, nincluez pas
cette option.
Important : ne crez pas de sous-rpertoire dans le rpertoire de votre application appel Resources. Le moteur
dexcution cre automatiquement un dossier avec ce nom pour respecter la structure du package IPA. La cration de
votre propre dossier de ressources entrane un conflit fatal.

Cration dun package iOS des fins de dbogage


Pour crer un package iOS installer sur des priphriques de test, utilisez la commande ADT package et dfinissez le
type de cible sur ios-debug. Avant dexcuter cette commande, vous devez obtenir un profil de configuration de
dveloppement et un certificat dveloppeur auprs dApple.
adt -package
-target ipa-debug
-storetype pkcs12 -keystore ../AppleDevelopment.p12
-provisioning-profile AppleDevelopment.mobileprofile
-connect 192.168.0.12 | -listen
myApp.ipa
myApp-app.xml
myApp.swf icons Default.png

Remarque : Vous pouvez galement utiliser ipa-debug-interpreter pour une compilation plus rapide ou ipa-
debug-interpreter-simulator pour excuter lapplication dans le simulateur iOS

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 104
Dveloppement dapplications AIR pour priphriques mobiles

Saisissez la commande entire sur une ligne unique. Les sauts de ligne que contient lexemple ci-dessus ont pour
unique objet de faciliter la lecture. Par ailleurs, lexemple part du principe que le chemin daccs loutil ADT figure
dans la dfinition path de linterface de commande de ligne de commande. (Pour plus dinformations, voir Variables
denvironnement path la page 321.)
Vous devez excuter la commande partir du rpertoire qui contient les fichiers de lapplication. Dans lexemple
illustr, les fichiers de lapplication sont myApp-app.xml (fichier descripteur de lapplication), myApp.swf, un
rpertoire dicnes et le fichier Default.png.
Vous devez signer lapplication laide du certificat de distribution correct dlivr par Apple. Il est impossible dutiliser
tout autre certificat dveloppeur.
Utilisez loption -connect pour le dbogage wi-fi. Lapplication tente de lancer une session de dbogage lorsque le
dbogueur Flash (FDB) est en cours dexcution sur ladresse IP ou le nom dhte spcifi. Utilisez loption -listen
pour le dbogage USB. Dmarrez tout dabord lapplication, puis dmarrez FDB, qui lance une session de dbogage
pour lapplication en cours dexcution. Pour plus dinformations, voir Connexion au dbogueur Flash la
page 110.

Cration dun package iOS envoyer lApp Store dApple


Pour crer un package iOS envoyer lApp Store dApple, utilisez la commande ADT package et dfinissez le type
de cible sur ios-app-store. Avant dexcuter cette commande, vous devez obtenir un profil de configuration et un
certificat de signature du code de distribution auprs dApple.
adt -package
-target ipa-app-store
-storetype pkcs12 -keystore ../AppleDistribution.p12
-provisioning-profile AppleDistribution.mobileprofile
myApp.ipa
myApp-app.xml
myApp.swf icons Default.png

Saisissez la commande entire sur une ligne unique. Les sauts de ligne que contient lexemple ci-dessus ont pour
unique objet de faciliter la lecture. Par ailleurs, lexemple part du principe que le chemin daccs loutil ADT figure
dans la dfinition path de linterface de commande de ligne de commande. (Pour plus dinformations, voir Variables
denvironnement path la page 321.)
Vous devez excuter la commande partir du rpertoire qui contient les fichiers de lapplication. Dans lexemple
illustr, les fichiers de lapplication sont myApp-app.xml (fichier descripteur de lapplication), myApp.swf, un
rpertoire dicnes et le fichier Default.png.
Vous devez signer lapplication laide du certificat de distribution correct dlivr par Apple. Il est impossible dutiliser
tout autre certificat dveloppeur.
Important : Apple requiert que vous utilisiez le programme Application Loader dApple pour tlcharger une application
sur lApp Store. Apple publie Application Loader pour Mac OS X uniquement. Par consquent, bien que vous puissiez
dvelopper une application AIR pour liPhone sur un ordinateur Windows, vous devez disposer dun ordinateur qui
excute OS X (version 10.5.3 ou ultrieure) pour envoyer lapplication lApp Store. Le programme Application Loader
est disponible sur le centre de dveloppement iOS dApple.

Cration dun package iOS destin une distribution ad hoc


Pour crer un package iOS destin une distribution ad hoc, utilisez la commande ADT package et dfinissez le type
de cible sur ios-ad-hoc. Avant dexcuter cette commande, vous devez obtenir un profil de configuration et un certificat
de signature du code de distribution ad hoc auprs dApple.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 105
Dveloppement dapplications AIR pour priphriques mobiles

adt -package
-target ipa-ad-hoc
-storetype pkcs12 -keystore ../AppleDistribution.p12
-provisioning-profile AppleDistribution.mobileprofile
myApp.ipa
myApp-app.xml
myApp.swf icons Default.png

Saisissez la commande entire sur une ligne unique. Les sauts de ligne que contient lexemple ci-dessus ont pour
unique objet de faciliter la lecture. Par ailleurs, lexemple part du principe que le chemin daccs loutil ADT figure
dans la dfinition path de linterface de commande de ligne de commande. (Pour plus dinformations, voir Variables
denvironnement path la page 321.)
Vous devez excuter la commande partir du rpertoire qui contient les fichiers de lapplication. Dans lexemple
illustr, les fichiers de lapplication sont myApp-app.xml (fichier descripteur de lapplication), myApp.swf, un
rpertoire dicnes et le fichier Default.png.
Vous devez signer lapplication laide du certificat de distribution correct dlivr par Apple. Il est impossible dutiliser
tout autre certificat dveloppeur.

Cration dun package iOS pour une application faisant appel des extensions natives
Pour crer un package iOS pour une application faisant appel des extensions natives, utilisez la commande du
package ADT avec loption -extdir. Utilisez la commande ADT correspondant la cible (ipa-app-store, ipa-
debug, ipa-ad-hoc, ipa-test). Exemple :

adt -package
-target ipa-ad-hoc
-storetype pkcs12 -keystore ../AppleDistribution.p12
-provisioning-profile AppleDistribution.mobileprofile
myApp.ipa
myApp-app.xml
-extdir extensionsDir
myApp.swf icons Default.png

Saisissez la commande entire sur une ligne unique. Les sauts de ligne que contient lexemple ci-dessus ont pour
unique objet de faciliter la lecture.
En ce qui concerne les extensions natives, lexemple ci-dessus suppose que le rpertoire appel extensionsDir est le
rpertoire dans lequel vous excutez la commande. Le rpertoire extensionsDir contient les fichiers ANE auxquels
fait appel lapplication.

Dbogage dune application AIR mobile


Vous disposez de plusieurs mthodes pour dboguer une application AIR mobile. La mthode la plus simple pour
mettre en vidence les problmes de logique dune application consiste procder au dbogage sur lordinateur de
dveloppement par le biais de lapplication ADL ou le simulateur iOS. Vous pouvez galement installer lapplication
sur un priphrique et la dboguer distance laide du dbogueur Flash, qui sexcute sur un ordinateur de bureau.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 106
Dveloppement dapplications AIR pour priphriques mobiles

Simulation de priphrique laide de lapplication ADL


La mthode la plus rapide et la plus simple pour tester et dboguer la plupart des fonctionnalits dune application
mobile consiste excuter cette dernire sur lordinateur de dveloppement laide de lapplication de dbogage du
lanceur AIR (ADL). Lapplication ADL utilise llment supportedProfiles du descripteur dapplication pour
dterminer le profil utiliser. Si plusieurs profils sont recenss, lapplication ADL utilise le premier de la liste. Vous
disposez galement du paramtre -profile de lapplication ADL pour slectionner lun des autres profils de la liste
supportedProfiles. (Si le descripteur dapplication ne contient pas dlment supportedProfiles, vous pouvez
spcifier nimporte quel profil dans largument -profile.) Utilisez par exemple la commande suivante pour lancer
une application en vue de simuler le profil de priphrique mobile :
adl -profile mobileDevice myApp-app.xml

Si vous adoptez cette mthode pour simuler le profil mobile sur le bureau, lapplication sexcute dans un
environnement plus proche dun priphrique mobile cible. Les API ActionScript qui ne font pas partie du profil
mobile ne sont pas disponibles. Lapplication ADL ntablit toutefois pas de distinction entre les fonctionnalits de
diffrents priphriques mobiles. Vous pouvez, par exemple, envoyer des simulations dutilisation de touche
programmable lapplication, mme si le priphrique cible rel nutilise pas de touches programmables.
Lapplication ADL prend en charge les simulations de changement dorientation dun priphrique et la saisie par
touches programmables par le biais de commandes de menu. Si vous lexcutez dans le profil de priphrique mobile,
elle affiche un menu (dans la fentre de lapplication ou la barre de menus du bureau) qui permet dentrer les donnes
de rotation du priphrique ou de touche programmable.

Touches programmables
Lapplication ADL simule les boutons de touche programmable Retour, Menu et Rechercher dun priphrique
mobile. Vous pouvez envoyer ces touches au priphrique simul laide du menu qui saffiche au lancement de
lapplication ADL par le biais du profil mobile.

Rotation du priphrique
Lapplication ADL permet de simuler la rotation dun priphrique laide du menu qui saffiche au lancement dADL
par le biais du profil mobile. Vous pouvez faire pivoter le priphrique simul vers la droite ou la gauche.
La simulation de la rotation naffecte quune application qui gre lorientation automatique. Pour activer cette
fonctionnalit, dfinissez llment autoOrients sur true dans le descripteur dapplication.

Taille de lcran
Vous pouvez tester lapplication sur des crans de diverses tailles en dfinissant le paramtre ADL -screensize. Vous
pouvez transmettre le code associ lun des types dcran prdfinis ou une chane qui contient les quatre valeurs
reprsentant les dimensions en pixels des crans de taille normale et agrandie.
Veillez toujours spcifier les dimensions (en pixels) correspondant au format Portrait, cest--dire de spcifier une
valeur de largeur infrieure la valeur de hauteur. La commande suivante permet, par exemple, douvrir lapplication
ADL pour simuler lcran du Droid Motorola :
adl -screensize 480x816:480x854 myApp-app.xml

Pour consulter la liste des types dcran prdfinis, voir Utilisation de lapplication ADL la page 168.

Restrictions
Lapplication ADL ne peut pas simuler certaines API qui ne sont pas prises en charge par le profil de bureau, savoir :
Accelerometer

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 107
Dveloppement dapplications AIR pour priphriques mobiles

cacheAsBitmapMatrix
CameraRoll
CameraUI
Geolocation
Interactions tactiles multipoints et mouvements sur les systmes dexploitation de bureau qui ne prennent pas en
charge ces fonctionnalits
SystemIdleMode
Si lapplication utilise ces classes, il est recommand de tester ces fonctionnalits sur un mulateur ou un priphrique
rel.
De mme, certaines API fonctionnent si elles sexcutent sous lapplication ADL sur le bureau, mais sont rserves
des types de priphriques mobiles dtermins. Parmi ces API figurent :
Codec audio AAC et Speex
Prise en charge de laccessibilit et des logiciels de lecture dcran
RTMPE
Chargement de fichiers SWF contenant du pseudo-code ActionScript
Shaders PixelBender
Veillez tester les applications qui font appel ces fonctionnalits sur les priphriques cibles, car lapplication ADL
ne rplique pas entirement lenvironnement dexcution.

Simulation de priphrique avec le simulateur iOS


Le simulateur iOS (Mac uniquement) offre un moyen rapide dexcuter et de dboguer des applications iOS. Lorsque
vous testez lapplication avec le simulateur iOS, il nest pas ncessaire dobtenir un certificat de dveloppeur ou un
profil dattribution de privilges daccs. Vous devez tout de mme crer un certificat p12, bien quil puisse tre auto-
sign.
Par dfaut, ADT lance toujours le simulateur iPhone. Pour modifier le priphrique de simulation, procdez comme
suit :
Utilisez la commande ci-dessous pour afficher les simulateurs disponibles.
xcrun simctl list devices

La sortie ressemble celle prsente ci-dessous.


== Devices ==
-iOS 10.0
iPhone 5 (F6378129-A67E-41EA-AAF9-D99810F6BCE8) (Shutdown)
iPhone 5s (5F640166-4110-4F6B-AC18-47BC61A47749) (Shutdown)
iPhone 6 (E2ED9D38-C73E-4FF2-A7DD-70C55A021000) (Shutdown)
iPhone 6 Plus (B4DE58C7-80EB-4454-909A-C38C4106C01B) (Shutdown)
iPhone 6s (9662CB8A-2E88-403E-AE50-01FB49E4662B) (Shutdown)
iPhone 6s Plus (BED503F3-E70C-47E1-BE1C-A2B7F6B7B63E) (Shutdown)
iPhone 7 (71880D88-74C5-4637-AC58-1F9DB43BA471) (Shutdown)
iPhone 7 Plus (2F411EA1-EE8B-486B-B495-EFC421E0A494) (Shutdown)
iPhone SE (DF52B451-ACA2-47FD-84D9-292707F9F0E3) (Shutdown)
iPad Retina (C4EF8741-3982-481F-87D4-700ACD0DA6E1) (Shutdown)
....

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 108
Dveloppement dapplications AIR pour priphriques mobiles

Vous pouvez slectionner un simulateur spcifique en dfinissant la variable denvironnement


AIR_IOS_SIMULATOR_DEVICE comme suit :

export AIR_IOS_SIMULATOR_DEVICE = 'iPad Retina'

Redmarrez le processus aprs la dfinition de la variable denvironnement et excutez lapplication sur le


priphrique de simulation de votre choix.
Remarque : lorsque vous utilisez ADT avec le simulateur iOS, vous devez toujours inclure loption -platformsdk en
spcifiant le chemin vers le kit SDK du simulateur iOS.
Pour excuter une application dans le simulateur iOS :
1 Utilisez la commande adt -package soit avec -target ipa-test-interpreter-simulator soit avec -target
ipa-debug-interpreter-simulator, comme dans lexemple suivant :

adt -package
-target ipa-test-interpreter-simulator
-storetype pkcs12 -keystore Certificates.p12
-storepass password
myApp.ipa
myApp-app.xml
myApp.swf
-platformsdk
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk

Remarque : Les options de signature ne sont dsormais plus requises dans le cas des simulateurs. Par consquent, toute
valeur peut tre fournie dans lindicateur -keystore, car elle nest pas prise en charge par ADT.
2 Utilisez la commande adt -installApp pour installer lapplication dans le simulateur iOS, comme dans lexemple
suivant :
adt -installApp
-platform ios
-platformsdk
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk
-device ios-simulator
-package sample_ipa_name.ipa

3 Utilisez la commande adt -launchApp pour excuter lapplication dans le simulateur iOS, comme dans lexemple
suivant :
Remarque : Par dfaut, la commande adt -launchApp excute lapplication dans le simulateur iPhone. Pour
excuter lapplication dans le simulateur iPad, exportez la variable denvironnement, AIR_IOS_SIMULATOR_DEVICE
= iPad, puis excutez la commande adt -launchApp.
adt -launchApp
-platform ios
-platformsdk
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk
-device ios-simulator
-appid sample_ipa_name

Pour tester une extension native dans le simulateur iOS, utilisez le nom de plate-forme iPhone-x86 dans le fichier
extension.xml, puis spcifiez library.a (bibliothque statique) dans llment nativeLibrary, comme dans
lexemple extension.xml suivant :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 109
Dveloppement dapplications AIR pour priphriques mobiles

<extension xmlns="http://ns.adobe.com/air/extension/3.1">
<id>com.cnative.extensions</id>
<versionNumber>1</versionNumber>
<platforms>
<platform name="iPhone-x86">
<applicationDeployment>
<nativeLibrary>library.a</nativeLibrary>
<initializer>TestNativeExtensionsInitializer </initializer>
<finalizer>TestNativeExtensionsFinalizer </finalizer>
</applicationDeployment>
</platform>
</platforms>
</extension>

Remarque : lorsque vous testez une extension native dans le simulateur iOS, nutilisez pas la bibliothque statique
(fichier .a) compile pour le priphrique. Utilisez plutt la bibliothque statique compile pour le simulateur.

Instructions trace
Si vous excutez lapplication mobile sur le bureau, la sortie trace est imprime sur le dbogueur ou la fentre du
terminal utilise pour lancer lapplication ADL. Si vous excutez lapplication sur un priphrique ou un mulateur,
vous pouvez configurer une session de dbogage distance pour afficher la sortie trace. Si cette fonctionnalit est prise
en charge, vous pouvez galement afficher la sortie trace laide des outils de dveloppement logiciel intgrs au
priphrique ou au systme dexploitation.
Dans tous les cas, vous devez compiler les fichiers SWF de lapplication en activant le dbogage pour que le moteur
dexcution puisse gnrer les instructions trace.

Instructions trace distantes sous Android


Si vous excutez une application sur un mulateur ou priphrique Android, vous pouvez afficher la sortie
dinstructions trace dans le journal systme laide de lutilitaire Debug Bridge (ADB) intgr au kit SDK dAndroid.
Pour afficher la sortie de lapplication, excutez la commande suivante partir dune invite de commande ou dune
fentre de terminal sur lordinateur de dveloppement :
tools/adb logcat air.MyApp:I *:S

o MyApp correspond lID de lapplication AIR. Largument *:S supprime la sortie de tout autre processus. Pour
afficher les informations systme relatives lapplication paralllement la sortie trace, vous pouvez inclure
ActivityManager dans la spcification du filtre logcat :
tools/adb logcat air.MyApp:I ActivityManager:I *:S

Ces exemples de commande considrent comme acquis que vous excutez lutilitaire ADB partir du dossier du kit
SDK dAndroid ou que vous avez ajout le dossier SDK la variable denvironnement path.
Remarque : dans AIR 2.6+, lutilitaire ADB est intgr au kit SDK dAIR et rside dans le dossier lib/android/bin.

Instructions trace distantes sous iOS


Pour afficher la sortie des instructions trace issues dune application qui sexcute sur un priphrique iOS, vous devez
lancer une session de dbogage distance laide de lutilitaire Flash Debugger (FDB).

Voir aussi
Android Debug Bridge: Enable logcat Logging (disponible en anglais uniquement)
Variables denvironnement path la page 321

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 110
Dveloppement dapplications AIR pour priphriques mobiles

Connexion au dbogueur Flash


Pour dboguer une application qui sexcute sur un priphrique mobile, vous pouvez excuter le dbogueur Flash sur
lordinateur de dveloppement et vous y connecter via le rseau. Pour activer le dbogage distance, procdez comme
suit :
Sous Android, spcifiez lautorisation android:permission.INTERNET dans le descripteur dapplication.
Compilez les fichiers SWF de lapplication en activant le dbogage.
Mettez en package lapplication avec -target apk-debug (pour Android) ou -target ipa-debug (pour iOS),
et soit lindicateur -connect (dbogage wi-fi) soit lindicateur -listen (dbogage USB).
Pour un dbogage distance via wi-fi, le priphrique doit tre en mesure daccder au port TCP 7935 de lordinateur
qui excute le dbogueur Flash par le biais de ladresse IP ou du nom de domaine complet. Pour un dbogage via USB,
le priphrique doit tre en mesure daccder au port TCP 7936 ou au port spcifi dans lindicateur -listen.
Pour iOS, vous pouvez galement spcifier -target ipa-debug-interpreter ou -target ipa-debug-
interpreter-simulator.

Dbogage distance avec Flash Professional


Lorsque vous tes prt dboguer lapplication et que les autorisations sont dfinies dans le descripteur dapplication,
procdez comme suit :
1 Ouvrez la bote de dialogue Paramtres AIR for Android.
2 Sous longlet Dploiement :
Slectionnez le type de dploiement Dboguer .
Slectionnez loption Installer lapplication sur le priphrique Android raccord dans la zone de groupe
Aprs la publication.
Dslectionnez loption Lancer lapplication sur le priphrique Android raccord dans la zone de groupe
Aprs la publication.
Le cas chant, dfinissez le chemin daccs au kit SDK dAndroid.
3 Cliquez sur Publier.
Lapplication est installe et lance sur le priphrique.
4 Fermez la bote de dialogue Paramtres AIR for Android.
5 Slectionnez Dboguer > Commencer la session de dbogage distance > ActionScript 3 dans le menu Flash
Professional.
Flash Professional affiche le message En attente de la connexion du lecteur dans le panneau Sortie.
6 Lancez lapplication sur le priphrique.
7 Entrez ladresse IP ou le nom dhte de lordinateur qui excute le dbogueur Flash dans la bote de dialogue de
connexion Adobe AIR, puis cliquez sur OK.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 111
Dveloppement dapplications AIR pour priphriques mobiles

Dbogage distance avec le programme FDB via une connexion rseau


Pour dboguer une application qui sexcute sur un priphrique laide du programme de ligne de commande Flash
Debugger (FDB), commencez par excuter ce dernier sur lordinateur de dveloppement, puis dmarrez lapplication
sur le priphrique. Les procdures ci-dessous font appel aux outils AMXMLC, FDB et ADT pour compiler, mettre en
package et dboguer une application sur le priphrique. Les exemples partent du principe que vous utilisez un kit SDK
Flex et AIR combin et que le rpertoire bin figure dans la variable denvironnement path. (Cette hypothse a pour
unique objet de simplifier les exemples de commande.)
1 Ouvrez une fentre dinvite de commande ou de terminal et accdez au rpertoire qui contient le code source de
lapplication.
2 Compilez lapplication avec amxmlc en activant le dbogage :
amxmlc -debug DebugExample.as

3 Mettez en package lapplication en dfinissant la cible apk-debug ou ipa-debug :


Android
adt -package -target apk-debug -connect -storetype
pkcs12 -keystore ../../AndroidCert.p12 DebugExample.apk DebugExample-app.xml
DebugExample.swf
iOS
adt -package -target ipa-debug -connect -storetype
pkcs12 -keystore ../../AppleDeveloperCert.p12 -provisioning-profile test.mobileprovision
DebugExample.apk DebugExample-app.xml DebugExample.swf

Si vous utilisez toujours le mme nom dhte ou la mme adresse IP pour le dbogage, vous pouvez saisir cette
valeur aprs lindicateur -connect. Lapplication tente alors automatiquement de se connecter ce nom dhte ou
cette adresse IP. Si tel nest pas le cas, entrez les informations sur le priphrique chaque session de dbogage.
4 Installez lapplication.
Sous Android, vous disposez de la commande ADT -installApp :
adt -installApp -platform android -package DebugExample.apk

Sous iOS, vous pouvez installer lapplication laide de la commande -installApp de loutil ADT ou via iTunes.
5 Dans une seconde fentre de commande ou de terminal, excutez le programme FDB :
fdb

6 Dans la fentre du programme FDB, saisissez la commande run :


Adobe fdb (Flash Player Debugger) [build 14159]
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved.
(fdb) run
Waiting for Player to connect

7 Lancez lapplication sur le priphrique.


8 Lorsque lapplication est lance sur le priphrique ou lmulateur, la bote de dialogue de connexion dAdobe AIR
souvre. (Si vous avez spcifi un nom dhte ou une adresse IP avec loption -connect lors de la mise en package de
lapplication, elle tente automatiquement de se connecter cette adresse.) Entrez ladresse approprie et touchez OK.
Pour tablir une connexion au dbogueur dans ce mode, le priphrique doit pouvoir rsoudre ladresse ou le nom
dhte et se connecter au port TCP 7935. Il est ncessaire de disposer dune connexion au rseau.
9 Lorsque le moteur dexcution distant se connecte au dbogueur, vous pouvez dfinir les points darrt avec la
commande FDB break, puis dmarrer lexcution avec la commande continue :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 112
Dveloppement dapplications AIR pour priphriques mobiles

(fdb) run
Waiting for Player to connect
Player connected; session starting.
Set breakpoints and then type 'continue' to resume the
session.
[SWF]
Users:juser:Documents:FlashProjects:DebugExample:DebugExample.swf - 32,235 bytes after
decompression
(fdb) break clickHandler
Breakpoint 1 at 0x5993: file DebugExample.as, line 14
(fdb) continue

Dbogage distance avec le programme FDB via USB


AIR 2.6 (Android) AIR 3.3 (iOS)

Pour dboguer une application mobile via une connexion USB, mettez en package lapplication en utilisant loption
-listen au lieu de loption -connect. Si vous spcifiez loption -listen, le moteur dexcution coute une connexion
provenant du dbogueur Flash (FDB) sur le port TCP 7936 au dmarrage de lapplication. Excutez alors FDB avec
loption -p ; FDB tablit la connexion.
Procdure de dbogage USB pour Android
Pour que le dbogueur Flash qui sexcute sur lordinateur de bureau se connecte au moteur dexcution dAIR qui
sexcute sur le priphrique ou lmulateur, vous devez utiliser lutilitaire Android Debug Bridge (ADB, intgr au kit
SDK dAndroid) ou lutilitaire iOS Debug Bridge (IDB, intgr au kit SDK dAIR) pour transmettre le port du
priphrique au port de lordinateur de bureau.
1 Ouvrez une fentre dinvite de commande ou de terminal et accdez au rpertoire qui contient le code source de
lapplication.
2 Compilez lapplication avec amxmlc en activant le dbogage :
amxmlc -debug DebugExample.as

3 Mettez en package lapplication laide de la cible de dbogage approprie (telle que apk-debug), puis spcifiez
loption -listen :
adt -package -target apk-debug -listen -storetype pkcs12 -keystore ../../AndroidCert.p12
DebugExample.apk DebugExample-app.xml DebugExample.swf

4 Connectez le priphrique lordinateur de dbogage via un cble USB. (Cette procdure permet galement de
dboguer une application qui sexcute sur un mulateur, auquel cas la connexion USB est superflue et
impossible.)
5 Installez lapplication.
Vous pouvez utiliser la commande ADT -installApp :
adt -installApp -platform android -package DebugExample.apk

6 Transmettez le port TCP 7936 du priphrique ou de lmulateur lordinateur de bureau par le biais de lutilitaire
Android ADB :
adb forward tcp:7936 tcp:7936

7 Lancez lapplication sur le priphrique.


8 Dans une fentre de terminal ou de commande, excutez FDB laide de loption -p :
fdb -p 7936

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 113
Dveloppement dapplications AIR pour priphriques mobiles

9 Dans la fentre du programme FDB, saisissez la commande run :


Adobe fdb (Flash Player Debugger) [build 14159]
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved.
(fdb) run

10 Lutilitaire FDB tente de se connecter lapplication.


11 Une fois la connexion distante tablie, vous pouvez dfinir les points darrt avec la commande FDB break, puis
dmarrer lexcution avec la commande continue :
(fdb) run
Player connected; session starting.
Set breakpoints and then type 'continue' to resume the
session.
[SWF]
Users:juser:Documents:FlashProjects:DebugExample:DebugExample.swf - 32,235 bytes after
decompression
(fdb) break clickHandler
Breakpoint 1 at 0x5993: file DebugExample.as, line 14
(fdb) continue

Remarque : le moteur dexcution dAIR et FDB utilisent par dfaut le port 7936 pour le dbogage. Vous pouvez spcifier
lutilisation dautres ports avec le paramtre de port ADT -listen et le paramtre de port FDB -p. Si tel est le cas, vous devez
transfrer le numro de port spcifi dans loutil ADT au port spcifi dans FDB par le biais de lutilitaire Android Debug
Bridge : adb forward tcp:adt_listen_port# tcp:fdb_port#
Procdure de dbogage USB pour iOS
Pour que le dbogueur Flash qui sexcute sur lordinateur de bureau se connecte au moteur dexcution dAIR qui
sexcute sur le priphrique ou lmulateur, vous devez utiliser lutilitaire iOS Debug Bridge (IDB, intgr au kit SDK
dAIR) pour transmettre le port du priphrique au port de lordinateur de bureau.
1 Ouvrez une fentre dinvite de commande ou de terminal et accdez au rpertoire qui contient le code source de
lapplication.
2 Compilez lapplication avec amxmlc en activant le dbogage :
amxmlc -debug DebugExample.as

3 Mettez en package lapplication laide de la cible de dbogage approprie (telle que ipa-debug ou ipa-debug-
interpreter), puis spcifiez loption -listen :

adt -package -target ipa-debug-interpreter -listen 16000


xyz.mobileprovision -storetype pkcs12 -keystore
Certificates.p12
-storepass pass123 OutputFile.ipa InputFile-app.xml
InputFile.swf

4 Connectez le priphrique lordinateur de dbogage via un cble USB. (Cette procdure permet galement de
dboguer une application qui sexcute sur un mulateur, auquel cas la connexion USB est superflue et
impossible.)
5 Installez et lancez lapplication sur le priphrique iOS. Dans AIR 3.4 et les versions ultrieures, vous pouvez utiliser
adt -installApp pour installer lapplication via USB.

6 Dterminez le handle de priphrique laide de la commande idb -devices (IDB est situ dans le dossier
air_sdk_root/lib/aot/bin/iOSBin/idb) :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 114
Dveloppement dapplications AIR pour priphriques mobiles

./idb -devices
List of attached devices
Handle UUID
1 91770d8381d12644df91fbcee1c5bbdacb735500

Remarque : (AIR 3.4 et versions ultrieures) vous pouvez utiliser adt -devices au lieu de idb -devices pour
dterminer le handle de priphrique.
7 Transmettez un port sur votre bureau au port spcifi dans le paramtre adt -listen (dans ce cas, 16000 ; le port
par dfaut est 7936) laide de lutilitaire IDB et de lID de priphrique indiqu ltape prcdente :
idb -forward 7936 16000 1

Dans cet exemple, 7936 est le port de bureau, 16000 est le port sur lequel coute le priphrique connect et 1 est
lID de priphrique du priphrique connect.
8 Dans une fentre de terminal ou de commande, excutez FDB laide de loption -p :
fdb -p 7936

9 Dans la fentre du programme FDB, saisissez la commande run :


Adobe fdb (Flash Player Debugger) [build 23201]
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved.
(fdb) run

10 Lutilitaire FDB tente de se connecter lapplication.


11 Une fois la connexion distante tablie, vous pouvez dfinir les points darrt avec la commande FDB break, puis
dmarrer lexcution avec la commande continue :
Remarque : le moteur dexcution dAIR et FDB utilisent par dfaut le port 7936 pour le dbogage. Vous pouvez spcifier
lutilisation dautres ports avec le paramtre de port -listen dIDB et le paramtre de port -p de FDB.

Installation dAIR et dapplications AIR sur un


priphrique mobile
Les utilisateurs finaux de lapplication peuvent installer le moteur dexcution et les applications AIR par le biais du
mcanisme dinstallation et de distribution dapplication standard du priphrique.
Sous Android, par exemple, les utilisateurs peuvent installer une application partir dAndroid Market. Sils ont
autoris linstallation dapplications partir de sources inconnues dans les paramtres Applications, ils peuvent
installer une application en cliquant sur un lien dans une page Web ou en copiant le package de lapplication sur le
priphrique (il suffit alors douvrir le package de lapplication). Si un utilisateur tente dinstaller une application
Android, mais que le moteur dexcution dAIR nest pas encore install, il accde automatiquement Android
Market, do il peut installer le moteur dexcution.
Sous iOS, les utilisateurs finaux disposent de deux mcanismes de distribution dapplication. La voie de distribution
principale correspond lApp Store dApple. Une distribution ad hoc permet dautoriser un nombre limit
dutilisateurs installer lapplication sans transiter par lApp Store.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 115
Dveloppement dapplications AIR pour priphriques mobiles

Installation du moteur dexcution et des applications AIR des fins de


dveloppement
Etant donn quune application AIR est installe sur un priphrique mobile en tant que package natif, vous disposez
des fonctionnalits standard dinstallation dapplications tester de la plate-forme. Si elles sont prises en charge, vous
pouvez utiliser les commandes ADT pour installer le moteur dexcution et les applications AIR. Cette approche est
actuellement prise en charge sous Android.
Sous iOS, vous pouvez installer une application tester via iTunes. Les applications de test doivent tre signes par un
certificat dveloppeur Apple dlivr spcifiquement des fins de dveloppement et mises en package avec un profil de
configuration pour le dveloppement dapplications. Sous iOS, une application AIR est un package autonome. Elle ne
requiert pas de moteur dexcution distinct.

Installation dune application AIR laide de loutil ADT


Si vous dveloppez des applications AIR, vous disposez de loutil ADT pour installer et dsinstaller tant le moteur
dexcution que les applications. (LIDE intgre parfois ces commandes, vous vitant ainsi dexcuter vous-mme
loutil ADT.)
Loutil ADT dAIR permet dinstaller le moteur dexcution dAIR sur un priphrique ou un mulateur. Veillez
installer au pralable le kit SDK associ au priphrique. Utilisez la commande -installRuntime :
adt -installRuntime -platform android -device deviceID -package path-to-runtime

Si vous ne spcifiez pas le paramtre -package, le package du moteur dexcution adapt au priphrique ou
lmulateur est slectionn parmi les options disponibles dans le SDK dAIR install.
Pour installer une application AIR sur Android ou iOS (AIR 3.4 et les versions ultrieures), utilisez la commande -
installApp similaire :

adt -installApp -platform android -device deviceID -package path-to-app

La valeur dfinie de largument -platform doit correspondre au priphrique sur lequel vous installez lapplication.
Remarque : vous devez supprimer toute version existante du moteur dexcution ou de lapplication AIR avant de
procder une nouvelle installation.

Installation dune application AIR sur un priphrique iOS via iTunes


Pour installer une application AIR sur un priphrique iOS des fins de test :
1 Ouvrez lapplication iTunes.
2 Le cas chant, ajoutez iTunes le profil de configuration associ lapplication. Dans iTunes, slectionnez Fichier
> Ajouter le fichier la bibliothque. Slectionnez ensuite le fichier du profil de configuration (dont le type de
fichier correspond mobileprovision).
3 Certaines versions diTunes ne remplacent pas lapplication si une version identique de lapplication est dj
installe. Dans ce cas de figure, supprimez lapplication du priphrique et de la liste dapplications dans iTunes.
4 Double-cliquez sur le fichier IPA associ lapplication. Elle devrait apparatre dans la liste dapplications diTunes.
5 Connectez le priphrique au port USB de lordinateur.
6 Dans iTunes, vrifiez sur longlet Application associ au priphrique que lapplication est slectionne dans la liste
dapplications installer.
7 Slectionnez le priphrique dans la liste de gauche dapplications. Cliquez ensuite sur le bouton Synchroniser. Une
fois la synchronisation termine, lapplication Hello World apparat sur liPhone.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 116
Dveloppement dapplications AIR pour priphriques mobiles

Si la nouvelle version nest pas installe, supprimez-la du priphrique et de la liste dapplications dans iTunes, puis
rptez la procdure. Ce cas de figure se produit parfois si la version actuellement installe utilise le mme ID et le
mme numro.

Voir aussi
Commande ADT installRuntime la page 186
Commande ADT installApp la page 184

Excution dune application AIR sur un priphrique


Vous pouvez lancer une application AIR installe via linterface utilisateur du priphrique. Si cette fonctionnalit est
prise en charge, vous pouvez galement lancer une application distance laide de loutil ADT AIR :
adt -launchApp -platform android -device deviceID -appid applicationID

La valeur de largument -appid doit correspondre lID de lapplication AIR lancer. Utilisez la valeur spcifie dans
le descripteur de lapplication AIR (sans le prfixe air. ajout lors de la mise en package).
Si un seul priphrique ou mulateur est connect et en cours dexcution, vous pouvez omettre lindicateur -device.
La valeur dfinie de largument -platform doit correspondre au priphrique sur lequel vous installez lapplication.
Lunique valeur prise en charge lheure actuelle est android.

Suppression du moteur dexcution et dune application AIR


Vous disposez des techniques standard de suppression dapplications proposes par le systme dexploitation du
priphrique. Sil est pris en charge, vous pouvez galement faire appel loutil ADT pour supprimer le moteur
dexcution et les applications AIR. Pour supprimer le moteur dexcution, utilisez la commande -
uninstallRuntime :

adt -uninstallRuntime -platform android -device deviceID

Pour dsinstaller une application, utilisez la commande -uninstallApp :


adt -uninstallApp -platform android -device deviceID -appid applicationID

Si un seul priphrique ou mulateur est connect et en cours dexcution, vous pouvez omettre lindicateur -device.
La valeur dfinie de largument -platform doit correspondre au priphrique sur lequel vous installez lapplication.
Lunique valeur prise en charge lheure actuelle est android.

Configuration dun mulateur


Pour excuter lapplication AIR sur un mulateur de priphrique, vous devez gnralement faire appel au kit SDK
associ au priphrique pour crer et excuter une occurrence dmulateur sur lordinateur de dveloppement. Vous
pouvez ensuite installer la version pour mulateur du moteur dexcution dAIR et lapplication AIR sur lmulateur.
Notez que les applications sexcutent gnralement considrablement plus lentement sur un mulateur que sur un
priphrique rel.

Cration dun mulateur Android


1 Lancez le kit SDK dAndroid et lapplication AVD Manager :
Sous Windows, excutez le fichier Setup.exe du kit SDK dans la racine du rpertoire du kit SDK dAndroid.
Sous Mac OS, excutez lapplication Android dans le sous-rpertoire tools du rpertoire du kit SDK dAndroid.
2 Slectionnez loption Settings, puis loption Force https:// .

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 117
Dveloppement dapplications AIR pour priphriques mobiles

3 Slectionnez loption Available Packages. La liste des kits SDK dAndroid disponibles devrait safficher.
4 Slectionnez un kit SDK dAndroid compatible (Android 2.3 ou ultrieur), puis cliquez sur le bouton Install
Selected.
5 Slectionnez loption Virtual Devices et cliquez sur le bouton New.
6 Dfinissez les paramtres suivants :
Nom du priphrique virtuel
API cible, telle quAndroid 2.3, API niveau 8
Taille de la carte SD (1 024, par exemple)
Enveloppe (Default HVGA, par exemple)
7 Cliquez sur le bouton Create AVD.
Notez que, selon la configuration du systme, la cration du priphrique virtuel risque de prendre un certain temps.
Vous pouvez prsent lancer le nouveau priphrique virtuel.
1 Slectionnez Virtual Device dans lapplication AVD Manager. Le priphrique virtuel que vous venez de crer
devrait figurer dans la liste.
2 Slectionnez le priphrique virtuel, puis cliquez sur le bouton Start.
3 Cliquez sur le bouton Launch sur lcran suivant.
Une fentre dmulateur devrait souvrir sur le bureau. Ce processus risque de prendre quelques secondes.
Linitialisation du systme dexploitation Android risque galement de prendre un moment. Vous pouvez installer sur
un mulateur les applications mises en package laide des options apk-debug et apk-emulator. Les applications mises
en package avec la cible apk ne fonctionnent pas sur un mulateur.

Voir aussi
http://developer.android.com/guide/developing/tools/othertools.html#android
http://developer.android.com/guide/developing/tools/emulator.html

Mise jour des applications AIR mobiles


Les applications AIR mobiles sont distribues sous forme de packages natifs et utilisent par consquent les mcanismes
de mise jour standard des autres applications de la plate-forme. Ce processus implique gnralement lenvoi de la
mise jour au site Market Place ou App Store de distribution de lapplication dorigine.
Les applications AIR mobiles ne peuvent pas utiliser la structure ou la classe Updater dAIR.

Mise jour des applications AIR for Android


Vous pouvez mettre jour une application distribue via Android Market en plaant une nouvelle version sur ce
dernier, sous rserve de satisfaire aux exigences suivantes (imposes par Android Market, plutt quAIR) :
Le package APK est sign par le mme certificat.
LID AIR est identique.
La valeur versionNumber du descripteur dapplication est suprieure. (Le cas chant, vous devez galement
incrmenter la valeur versionLabel.)

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 118
Dveloppement dapplications AIR pour priphriques mobiles

Les utilisateurs qui ont tlcharg lapplication partir dAndroid Market sont avertis par le logiciel du priphrique
quune mise jour est disponible.

Voir aussi
Android Developers : Publishing Updates on Android Market (disponible en anglais uniquement)

Mise jour des applications AIR sous iOS


Vous pouvez mettre jour les applications AIR distribues via iTunes en envoyant la mise jour ce dernier, sous
rserve de satisfaire aux exigences suivantes (ces rgles sont imposes par lApp Store dApple, et non par AIR) :
Le certificat dveloppeur et les profils de configuration sont dlivrs pour le mme ID Apple.
Le package IPA utilise le mme identifiant dapplication (suffixe) Apple.
La mise jour ne rduit pas le parc de priphriques pris en charge (en dautres termes, si lapplication dorigine
prend en charge les priphriques qui excutent iOS 3, il est impossible de crer une mise jour qui ne prend pas
en charge iOS 3).
Important : tant donn que le kit SDK dAIR 2.6 et les versions ultrieures ne prennent pas en charge iOS 3,
contrairement AIR 2, il est impossible de mettre jour les applications iOS publies ayant t dployes avec AIR 2 par
le biais dune mise jour dveloppe avec AIR 2.6+.

Utilisation des notifications Push


Grce aux notifications Push, les fournisseurs de notifications distance peuvent envoyer des notifications aux
applications qui sexcutent sur des priphriques mobiles. AIR 3.4 prend en charge les notifications pour les
priphriques iOS qui font appel au service Apple Push Notification (APN).
Remarque : pour activer les notifications Push dans une application AIR for Android, utilisez une extension native, telle
que as3c2dm, dveloppe par lexpert Adobe Piotr Walczyszyn.
Le reste de cette section dcrit comment activer les notifications Push dans les applications AIR for iOS.
Remarque : nous supposons que vous disposez dun ID de dveloppement Apple, que vous connaissez le processus de
dveloppement iOS et que vous avez dploy au moins une application sur un priphrique iOS.

Prsentation des notifications Push


Le service Apple Push Notification (APN) permet aux fournisseurs de notifications distance denvoyer des
notifications aux applications qui sexcutent sur des priphriques iOS. Le service APN prend en charge les types de
notification suivants :
Alertes
Badges
Sons
Pour obtenir des informations compltes sur le service APN, consulter le site developer.apple.com.
Lutilisation des notifications Push dans votre application implique plusieurs aspects :
Application cliente : souscrit aux notifications Push, communique avec les fournisseurs de notifications distance
et reoit des notifications Push.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 119
Dveloppement dapplications AIR pour priphriques mobiles

iOS : gre linteraction entre lapplication cliente et le service APN.


Service APN : fournit un ID de jeton lors de la souscription du client et transmet les notifications des fournisseurs
de notifications distance au priphrique iOS.
Fournisseur de notifications distance : stocke les informations de lapplication cliente (fournie par lID de jeton)
et envoie des notifications Push au service APN.

Procdure de souscription
La procdure de souscription aux notifications Push avec un service ct serveur est la suivante :
1 Lapplication cliente demande au priphrique iOS dactiver les notifications Push.
2 iOS transfre la demande au service APN.
3 Le serveur du service APN renvoie un ID de jeton au priphrique iOS.
4 iOS renvoie cet ID de jeton lapplication cliente.
5 A laide dun mcanisme qui lui est propre, lapplication cliente transmet lID de jeton au fournisseur de
notifications distance, qui enregistre ce dernier pour procder lenvoi de notifications Push.

Procdure de notification
La procdure de notification est la suivante :
1 Le fournisseur de notifications distance gnre une notification et transmet la charge utile de la notification au
service APN, accompagne de lID de jeton.
2 Le service APN transfre la notification au systme iOS sur le priphrique.
3 iOS envoie la charge utile de la notification lapplication.

API pour les notifications Push


AIR 3.4 intgre plusieurs API qui prennent en charge les notifications Push sur iOS. Ces API se trouvent dans le
package flash.notifications et incluent les classes suivantes :
NotificationStyle : dfinit les constantes pour les types de notification ALERT, BADGE et SOUND.C

RemoteNotifier : permet de souscrire et dannuler la souscription aux notifications Push.

RemoteNotifierSubscribeOptions : permet de slectionner les types de notifications recevoir. Utilisez la


proprit notificationStyles pour dfinir un vecteur de chanes souscrivant divers types de notifications.
AIR 3.4 inclut galement lvnement flash.events.RemoteNotificationEvent, distribu par RemoteNotifier
dans les cas suivants :
Lorsque la souscription dune application aboutit et aprs la rception dun nouvel ID de jeton envoy par le service APN ;
A la rception dune nouvelle notification distance.
Par ailleurs, RemoteNotifier distribue lvnement flash.events.StatusEvent sil rencontre une erreur lors du
processus de souscription.

Gestion des notifications Push dans une application


Pour souscrire aux notifications Push, vous devez :
crer un code qui souscrit aux notifications Push dans votre application ;
activer les notifications Push dans le fichier XML de lapplication ;

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 120
Dveloppement dapplications AIR pour priphriques mobiles

crer un profil et un certificat dattribution de privilges daccs pour activer les services Push sur iOS.
Lexemple de code annot suivant souscrit aux notifications Push et gre les vnements de notification Push :
package
{
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.*;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.MouseEvent;
import flash.net.*;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.ui.Multitouch;
import flash.ui.MultitouchInputMode;
// Required packages for push notifications
import flash.notifications.NotificationStyle;
import flash.notifications.RemoteNotifier;
import flash.notifications.RemoteNotifierSubscribeOptions;
import flash.events.RemoteNotificationEvent;
import flash.events.StatusEvent;
[SWF(width="1280", height="752", frameRate="60")]
public class TestPushNotifications extends Sprite
{
private var notiStyles:Vector.<String> = new Vector.<String>;;
private var tt:TextField = new TextField();
private var tf:TextFormat = new TextFormat();
// Contains the notification styles that your app wants to receive
private var preferredStyles:Vector.<String> = new Vector.<String>();
private var subscribeOptions:RemoteNotifierSubscribeOptions = new
RemoteNotifierSubscribeOptions();
private var remoteNot:RemoteNotifier = new RemoteNotifier();
private var subsButton:CustomButton = new CustomButton("Subscribe");
private var unSubsButton:CustomButton = new
CustomButton("UnSubscribe");
private var clearButton:CustomButton = new CustomButton("clearText");
private var urlreq:URLRequest;
private var urlLoad:URLLoader = new URLLoader();
private var urlString:String;
public function TestPushNotifications()
{
super();
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
tf.size = 20;
tf.bold = true;
tt.x=0;
tt.y =150;
tt.height = stage.stageHeight;
tt.width = stage.stageWidth;
tt.border = true;
tt.defaultTextFormat = tf;
addChild(tt);

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 121
Dveloppement dapplications AIR pour priphriques mobiles

subsButton.x = 150;
subsButton.y=10;
subsButton.addEventListener(MouseEvent.CLICK,subsButtonHandler);
stage.addChild(subsButton);
unSubsButton.x = 300;
unSubsButton.y=10;
unSubsButton.addEventListener(MouseEvent.CLICK,unSubsButtonHandler);
stage.addChild(unSubsButton);
clearButton.x = 450;
clearButton.y=10;
clearButton.addEventListener(MouseEvent.CLICK,clearButtonHandler);
stage.addChild(clearButton);
//
tt.text += "\n SupportedNotification Styles: " +
RemoteNotifier.supportedNotificationStyles.toString() + "\n";
tt.text += "\n Before Preferred notificationStyles: " +
subscribeOptions.notificationStyles.toString() + "\n";
// Subscribe to all three styles of push notifications:
// ALERT, BADGE, and SOUND.
preferredStyles.push(NotificationStyle.ALERT
,NotificationStyle.BADGE,NotificationStyle.SOUND );
subscribeOptions.notificationStyles= preferredStyles;
tt.text += "\n After Preferred notificationStyles:" +
subscribeOptions.notificationStyles.toString() + "\n";

remoteNot.addEventListener(RemoteNotificationEvent.TOKEN,tokenHandler);

remoteNot.addEventListener(RemoteNotificationEvent.NOTIFICATION,notificationHandler);
remoteNot.addEventListener(StatusEvent.STATUS,statusHandler);
this.stage.addEventListener(Event.ACTIVATE,activateHandler);
}
// Apple recommends that each time an app activates, it subscribe for
// push notifications.
public function activateHandler(e:Event):void{
// Before subscribing to push notifications, ensure the device supports
it.
// supportedNotificationStyles returns the types of notifications
// that the OS platform supports
if(RemoteNotifier.supportedNotificationStyles.toString() != "")
{
remoteNot.subscribe(subscribeOptions);
}
else{
tt.appendText("\n Remote Notifications not supported on this Platform
!");
}
}
public function subsButtonHandler(e:MouseEvent):void{
remoteNot.subscribe(subscribeOptions);
}
// Optionally unsubscribe from push notfications at runtime.
public function unSubsButtonHandler(e:MouseEvent):void{
remoteNot.unsubscribe();
tt.text +="\n UNSUBSCRIBED";
}
public function clearButtonHandler(e:MouseEvent):void{
tt.text = " ";

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 122
Dveloppement dapplications AIR pour priphriques mobiles

}
// Receive notification payload data and use it in your app
public function notificationHandler(e:RemoteNotificationEvent):void{
tt.appendText("\nRemoteNotificationEvent type: " + e.type +
"\nbubbles: "+ e.bubbles + "\ncancelable " +e.cancelable);
for (var x:String in e.data) {
tt.text += "\n"+ x + ": " + e.data[x];
}
}
// If the subscribe() request succeeds, a RemoteNotificationEvent of
// type TOKEN is received, from which you retrieve e.tokenId,
// which you use to register with the server provider (urbanairship, in
// this example.
public function tokenHandler(e:RemoteNotificationEvent):void
{
tt.appendText("\nRemoteNotificationEvent type: "+e.type +"\nBubbles:
"+ e.bubbles + "\ncancelable " +e.cancelable +"\ntokenID:\n"+ e.tokenId +"\n");
urlString = new
String("https://go.urbanairship.com/api/device_tokens/" +
e.tokenId);
urlreq = new URLRequest(urlString);
urlreq.authenticate = true;
urlreq.method = URLRequestMethod.PUT;
URLRequestDefaults.setLoginCredentialsForHost
("go.urbanairship.com",
"1ssB2iV_RL6_UBLiYMQVfg","t-kZlzXGQ6-yU8T3iHiSyQ");
urlLoad.load(urlreq);
urlLoad.addEventListener(IOErrorEvent.IO_ERROR,iohandler);
urlLoad.addEventListener(Event.COMPLETE,compHandler);
urlLoad.addEventListener(HTTPStatusEvent.HTTP_STATUS,httpHandler);
}
private function iohandler(e:IOErrorEvent):void
{
tt.appendText("\n In IOError handler" + e.errorID +" " +e.type);
}
private function compHandler(e:Event):void{
tt.appendText("\n In Complete handler,"+"status: " +e.type + "\n");
}
private function httpHandler(e:HTTPStatusEvent):void{
tt.appendText("\n in httpstatus handler,"+ "Status: " + e.status);
}
// If the subscription request fails, StatusEvent is dispatched with
// error level and code.
public function statusHandler(e:StatusEvent):void{
tt.appendText("\n statusHandler");
tt.appendText("event Level" + e.level +"\nevent code " +
e.code + "\ne.currentTarget: " + e.currentTarget.toString());
}
}
}

Activation des notifications Push dans le fichier XML de lapplication


Pour utiliser les notifications Push dans votre application, fournissez les informations suivantes dans la balise
Entitlements (sous la balise iphone) :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 123
Dveloppement dapplications AIR pour priphriques mobiles

<iphone>
...
<Entitlements>
<![CDATA[
<key>aps-environment</key>
<string>development</string>
]]>
</Entitlements>
</iphone>

Lorsque vous tes prt soumettre lapplication lApp Store, un lment <string> pour le dveloppement la
production :
<string>production</string>

Si votre application prend en charge les chanes localises, spcifiez les langues dans la balise supportedLanguages,
sous la balise intialWindow, comme dans lexemple suivant :
<supportedLanguages>en de cs es fr it ja ko nl pl pt</supportedLanguages>

Cration dun profil et dun certificat dattribution de privilges daccs pour activer les
services Push sur iOS
Pour permettre la communication entre le service APN et lapplication, vous devez mettre en package lapplication
avec un profil et un certificat dattribution de privilges daccs permettant dactiver les services Push sur iOS. Pour
cela, procdez comme suit :
1 Connectez-vous votre compte de dveloppement Apple.
2 Accdez au portail de configuration.
3 Cliquez sur longlet App IDs.
4 Cliquez sur le bouton New App ID.
5 Entrez une description et un identificateur doffres groupes (vous ne devez pas utiliser le signe * dans cet
identificateur).
6 Cliquez sur Submit. Le portail de configuration gnre votre ID dapplication et vous tes redirig vers la page App IDs.
7 Cliquez sur Configure (en regard de votre ID dapplication). La page Configure App ID saffiche.
8 Cochez la case Enable for Apple Push Notification service. Notez quil existe deux types de certificats SSL Push : un
pour le dveloppement et le test, un autre pour la production.
9 Cliquez sur le bouton Configure situ en regard de Development Push SSL Certificate. La page Generate Certificate
Signing Request (CSR) saffiche.
10 Gnrez une demande de signature de certificat (CSR) laide de lutilitaire Keychain Access, comme indiqu sur
cette page.
11 Gnrez le certificat SSL.
12 Tlchargez et installez le certificat SSL.
13 (Facultatif) Rptez les tapes 9 12 pour le certificat SSL Push de production.
14 Cliquez sur Done. La page Configure App ID saffiche.
15 Cliquez sur Done. La page App IDs saffiche. Notez le cercle vert en regard de la notification Push correspondant
votre ID dapplication.
16 Veillez enregistrer vos certificats SSL, car ils seront utiliss ultrieurement pour communiquer avec lapplication
et le fournisseur.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 124
Dveloppement dapplications AIR pour priphriques mobiles

17 Cliquez sur longlet Provisioning pour afficher la page Provisioning Profiles.


18 Crez un profil dattribution de privilges daccs pour votre nouvel ID dapplication et tlchargez-le.
19 Cliquez sur longlet Certificates et tlchargez un nouveau certificat pour le nouveau profil dattribution de
privilges daccs.

Utilisation de sons pour les notifications Push


Pour activer les notifications sonores dans votre application, regroupez les fichiers son comme vous le feriez pour tout
autre actif, mais dans le mme rpertoire que les fichiers SWF et app-xml. Exemple :
Build/adt -package -target ipa-app-store -provisioning-profile _-_.mobileprovision -storetype
pkcs12 -keystore _-_.p12 test.ipa test-app.xml test.swf sound.caf sound1.caf

Apple prend en charge les formats de donnes audio suivants (dans les fichiers aiff, wav et caf) :
PCM linaire
MA4 (IMA/ADPCM)
uLaw
aLaw

Utilisation de notifications dalerte localises


Pour utiliser des notifications dalerte localises dans votre application, regroupez les chanes localises dans des
dossiers lproj. Par exemple, si vous souhaitez crer des alertes en espagnol, procdez comme suit :
1 Crez un dossier es.lproj dans le projet, au mme niveau que le fichier app-xml.
2 Au sein du dossier es.lproj, crez un fichier texte appel Localizable.Strings.
3 Ouvrez le fichier Localizable.Strings dans un diteur de texte et ajoutez les cls du message et les chanes localises
correspondantes. Exemple :
"PokeMessageFormat" = "La notificacin de alertas en espaol."

4 Enregistrez le fichier.
5 Lorsque lapplication reoit une notification dalerte avec cette valeur de cl et que la langue du priphrique est
lespagnol, le texte dalerte traduit saffiche.

Configuration dun fournisseur de notifications distance


Vous devez disposer dun fournisseur de notifications distance pour envoyer des notifications Push votre
application. Cette application serveur agit comme un fournisseur ; elle accepte votre demande de rception de
notifications Push et transmet les notifications et les donnes de notification au service APN qui, son tour, envoie les
notifications Push lapplication cliente.
Pour obtenir des informations dtailles sur lenvoi de notifications partir dun fournisseur de notifications
distance, voir larticle Provider Communication with Apple Push Notification Service dans Apple Developer Library
(disponible en anglais uniquement).

Options du fournisseur de notifications distance


Les options dun fournisseur de notifications distance sont les suivantes :
Crer votre propre fournisseur en fonction du serveur Open Source APNS-php. Vous pouvez configurer un serveur
PHP en suivant les instructions de la page http://code.google.com/p/apns-php/. Ce projet de code Google permet
de crer une interface adapte vos besoins spcifiques.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 125
Dveloppement dapplications AIR pour priphriques mobiles

Utiliser un fournisseur de services. Par exemple, http://urbanairship.com/ offre un fournisseur de service APN prt
lemploi. Aprs avoir souscrit ce service, vous devez commencer par fournir votre jeton de priphrique laide
dun code similaire au suivant :
private var urlreq:URLRequest;
private var urlLoad:URLLoader = new URLLoader();
private var urlString:String;
//When subscription is successful then only call the
following code
urlString = new
String("https://go.urbanairship.com/api/device_tokens/" + e.tokenId);
urlreq = new URLRequest(urlString);
urlreq.authenticate = true;
urlreq.method = URLRequestMethod.PUT;

URLRequestDefaults.setLoginCredentialsForHost("go.urbanairship.com",
"Application Key","Application Secret");
urlLoad.load(urlreq);

urlLoad.addEventListener(IOErrorEvent.IO_ERROR,iohandler);
urlLoad.addEventListener(Event.COMPLETE,compHandler);

urlLoad.addEventListener(HTTPStatusEvent.HTTP_STATUS,httpHandler);
private function iohandler(e:IOErrorEvent):void{
trace("\n In IOError handler" + e.errorID +" "
+e.type);
}
private function compHandler(e:Event):void{
trace("\n In Complete handler,"+"status: " +e.type +
"\n");
}
private function httpHandler(e:HTTPStatusEvent):void{
tt.appendText("\n in httpstatus handler,"+ "Status:
" + e.status);
}

Vous pouvez envoyer des notifications de test laide des outils Urban Airship.

Certificats pour le fournisseur de notifications distance


Vous devez copier le certificat SSL et la cl prive (gnre antrieurement) lemplacement appropri sur le serveur
du fournisseur de notifications distance. En rgle gnrale, vous devez combiner ces deux fichiers dans un fichier
.pem unique. Pour cela, procdez comme suit :

1 Ouvrez une fentre de terminal.


2 Crez un fichier .pem partir du certificat SSL en saisissant la commande suivante :
openssl x509 -in aps_developer_identity.cer -inform der -out TestPushDev.pem

3 Crez un fichier .pem partir du fichier de cl prive (.p12) en saisissant la commande suivante :
openssl pkcs12 -nocerts -out TestPushPrivateKey.pem -in certificates.p12

4 Combinez ces deux fichiers .pem au sein dun fichier unique en saisissant la commande suivante :
cat TestPushDev.pem TestPushPrivateKey.pem > FinalTestPush.pem

5 Fournissez le fichier .pem combin au serveur du fournisseur lorsque vous crez votre application denvoi ct
serveur.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 126
Dveloppement dapplications AIR pour priphriques mobiles

Pour plus dinformations, voir la rubrique Installing the SSL Certificate and Key on the Server du document Apple
Local and Push Notification Programming Guide (disponible en anglais uniquement).

Gestion des notifications Push dans une application


La gestion des notifications Push dans une application implique les aspects suivants :
Configuration et acceptation des notifications Push de la part de lutilisateur global
Acceptation des notifications Push individuelles de la part de lutilisateur
Gestion des notifications Push et des donnes de charge utile des notifications

Configuration et acceptation des notifications Push


La premire fois quun utilisateur lance une application prenant en charge les notifications Push, iOS affiche la bote
de dialogue appname Would Like to Send You Push Notifications accompagne des boutons Dont Allow et OK. Si
lutilisateur slectionne OK, lapplication peut recevoir tous les styles de notifications auxquels elle a souscrit. Si
lutilisateur slectionne Dont Allow, lapplication ne reoit aucune notification.
Remarque : les utilisateurs peuvent accder Rglages > Notifications pour contrler les types de notifications spcifiques
quils peuvent recevoir pour chaque application prenant en charge les notifications Push.
Selon les recommandations dApple, chaque fois quune application est active elle doit souscrire aux notifications
Push. Lorsquune application appelle RemoteNotifier.subscribe(), elle reoit un vnement
RemoteNotificationEvent de type token, qui contient un ID de jeton numrique unique de 32 octets permettant
didentifier de faon unique lapplication sur ce priphrique.
Lorsque le priphrique reoit une notification Push, il affiche une fentre contextuelle contenant les boutons Fermer
et Lancer. Si lutilisateur appuie sur Fermer, rien ne se passe ; si lutilisateur appuie sur Lancer, iOS invoque
lapplication, qui reoit un vnement flash.events.RemoteNotificationEvent de type notification, tel que
dcrit ci-dessous.

Gestion des notifications Push et des donnes de charge utile


Lorsque le fournisseur de notifications distance envoie une notification un priphrique ( laide de lID de jeton),
votre application reoit un vnement flash.events.RemoteNotificationEvent de type notification, que
lapplication soit en cours dexcution ou pas. A ce stade, votre application effectue un traitement des notifications
propre lapplication. Si votre application gre les donnes de notification, vous pouvez y accder via la proprit
RemoteNotificationEvent.data au format JSON.

Dernire mise jour le 6/3/2017


127

Chapitre 8 : Dveloppement
dapplications AIR pour priphriques TV

Fonctionnalits AIR propres aux tlviseurs


Vous pouvez crer des applications Adobe AIR pour priphriques TV tels que les tlviseurs, les enregistreurs vido
numriques et les lecteurs de disque Blu-ray, sous rserve que le priphrique comporte Adobe AIR pour TV. AIR
pour TV est optimis pour les priphriques TV, notamment grce aux acclrateurs matriels dun priphrique, en
vue dassurer des performances vido et graphiques leves.
Les applications AIR pour priphriques TV sont de type SWF plutt que HTML. Votre application AIR pour TV peut
bnficier de lacclration matrielle, ainsi que dautres fonctionnalits AIR parfaitement adaptes aux salons.

Profils de priphrique
AIR fait appel des profils pour dfinir un ensemble de priphriques cible dots de fonctionnalits similaires. Utilisez
les profils suivants pour les applications AIR pour TV :
Profil tv : utilisez ce profil dans les applications AIR qui ciblent un priphrique TV.
Profil extendedTV : Utilisez ce profil si lapplication AIR pour TV fait appel des extensions natives.
Les fonctionnalits ActionScript dfinies pour ces profils sont passes en revue la section Profils de priphrique
la page 259. Diverses diffrences ActionScript lies aux applications AIR pour TV sont indiques dans le manuel
Guide de rfrence ActionScript 3.0 pour la plate-forme Adobe Flash.
Pour plus dinformations sur les profils AIR pour TV, voir Profils pris en charge la page 149.

Acclration matrielle
Les priphriques TV intgrent des acclrateurs matriels qui augmentent considrablement les performances
graphiques et vido dans lapplication AIR. Pour exploiter ces acclrateurs matriels, voir Considrations prendre
en compte lors de la cration dune application AIR pour TV la page 129.

Protection du contenu
AIR pour TV permet dassurer au consommateur de contenu vido premium une exprience de qualit, quil sagisse
dune superproduction hollywoodienne, dun film dart et dessai ou dun pisode de srie TV. Les fournisseurs de
contenu peuvent crer des applications interactives laide doutils Adobe. Ils peuvent intgrer des produits serveur
Adobe leur infrastructure de distribution de contenu ou collaborer avec lun des membres de la communaut Adobe.
La protection du contenu constitue un lment cl de la distribution de vido premium. AIR pour TV prend en charge
Adobe Flash Access, une solution de montisation et de protection de contenu qui satisfait aux exigences
scuritaires rigoureuses des propritaires de contenus, y compris les principaux studios.
Flash Access prend en charge les lments suivants :
Tlchargement et diffusion en continu de vido
Divers modles de vente, tels que le financement par la publicit, labonnement, la location et la vente
dmatrialise (ou EST, Electronic Sell-Through )

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 128
Dveloppement dapplications AIR pour priphriques TV

Diverses technologies de diffusion de contenu, notamment la diffusion en continu dynamique HTTP, la diffusion
en continu via RTMP (Real Time Media Protocol) par le biais de Flash Media Server et le tlchargement progressif
avec HTTP
AIR pour TV intgre galement la prise en charge de RTMPE, la version chiffre de RTMP, pour les solutions de
diffusion en continu existantes aux exigences de scurit moins rigoureuses. Les technologies de vrification RTMPE
et SWF annexes sont prises en charge par Flash Media Server.
Pour plus dinformations, voir Adobe Flash Access.

Son multicanal
A partir dAIR 3, AIR pour TV prend en charge le son multicanal pour les vidos tlcharges progressivement partir
dun serveur HTTP. Cette prise en charge inclut les codecs suivants :
AC-3 (Dolby Digital)
E-AC-3 (Enhanced Dolby Digital)
DTS Digital Surround
DTS Express
DTS-HD High Resolution Audio
DTS-HD Master Audio
Remarque : Le son multicanal des vidos diffuses partir dAdobe Flash Media Server nest pas encore pris en charge.

Entre de jeu
A partir dAIR 3, AIR pour TV prend en charge les API ActionScript permettant aux applications de communiquer
avec les priphriques dentre de jeu raccords tels que manettes de jeu et botiers de commande. Bien que ces
priphriques soient appels priphriques dentre de jeu , toutes les applications AIR pour TV peuvent utiliser ces
priphriques, pas seulement les jeux.
Une gamme complte de priphriques dentre de jeu proposant diverses fonctions sont disponibles. Les
priphriques sont donc gnraliss dans lAPI afin quune application puisse fonctionner correctement avec des types
de priphriques dentre de jeu diffrents (et probablement inconnus).
La classe GameInput est le point dentre dans les API ActionScript dentre de jeu. Pour plus dinformations, voir
GameInput.

Rendu des graphiques par acclration matrielle via lAPI Stage3D


A partir dAIR 3, AIR pour TV prend en charge le rendu des graphiques par acclration matrielle via lAPI Stage3D.
Les API ActionScript Stage3D sont un ensemble dAPI acclration matrielle par GPU permettant dutiliser des
fonctionnalits 2D et 3D avances. Ces API de bas niveau permettent aux dveloppeurs de tirer profit de lacclration
matrielle par GPU pour augmenter les performances de faon significative. Il est galement possible dutiliser des
moteurs de jeu prenant en charge les API ActionScript Stage3D.
Pour plus dinformations, voir Moteurs de jeu, 3D et Stage 3D.

Extensions natives
Si lapplication cible le profil extendedTV, elle peut faire appel des packages ANE (AIR Native Extension).

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 129
Dveloppement dapplications AIR pour priphriques TV

En rgle gnrale, les constructeurs de priphriques fournissent des packages ANE en vue daccder aux
fonctionnalits du priphrique qui ne sont pas prises en charge par AIR. Une extension native pourrait, par exemple,
permettre de changer de chane sur un tlviseur ou de mettre en pause la lecture sur un lecteur vido.
Lorsque vous mettez en package une application AIR pour TV qui fait appel aux packages ANE, vous obtenez un
fichier AIRN et non un fichier AIR.
Les extensions natives pour les priphriques AIR pour TV sont toujours des extensions natives intgres dans le
priphrique. Cela signifie que les bibliothques dextensions sont installes sur le priphrique AIR pour TV. Le
package ANE que vous incluez dans le package de votre application ninclut jamais les bibliothques natives de
lextension. Il contient parfois une version ActionScript uniquement de lextension native. Cette version en
ActionScript uniquement est une version temporaire ou un simulateur de lextension. Le fabricant du priphrique
installe lextension relle, notamment les bibliothques natives, sur le priphrique.
Si vous dveloppez des extensions natives, tenez compte des points suivants :
Rapprochez-vous toujours du fabricant lorsque vous crez une extension native AIR pour TV pour ses
priphriques.
Sur certains priphriques AIR pour TV, seul le fabricant du priphrique cre des extensions natives.
Sur tous les priphriques AIR pour TV, le fabricant du priphrique dcide des extensions natives installer.
Les outils de dveloppement dextensions natives AIR pour TV varient selon le fabricant.
Pour plus dinformations sur lutilisation dextensions natives dans votre application AIR, voir Utilisation
dextensions natives pour Adobe AIR la page 157.
Pour plus dinformations sur la cration dextensions natives, voir Dveloppement dextensions natives pour Adobe AIR.

Considrations prendre en compte lors de la cration


dune application AIR pour TV
Considrations lies la vido

Directives dencodage vido


Si vous diffusez en continu la vido sur un priphrique TV, Adobe recommande de respecter les directives dencodage
suivantes :

Codec vido : encodage progressif, H.264 ou faisant appel au profil Principal ou Haut

Rsolution : 720i, 720p, 1 080i ou 1 080p

Cadence : 24 images par seconde ou 30 images par seconde

Codec audio : AAC-LC ou AC-3, 44,1 kHz, stro, ou les codecs audio multicanal suivants : E-AC-3, DTS,
DTS Express, DTS-HD High Resolution Audio ou DTS-HD Master Audio

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 130
Dveloppement dapplications AIR pour priphriques TV

Vitesse de jusqu 8 Mbits/s selon la bande passante disponible


transmission
combine :

Vitesse de jusqu 192 Kbits/s


transmission
audio :

Format des pixels : 1 1

Adobe recommande dadopter le codec H.264 pour la vido diffuse sur un priphrique AIR pour TV.
Remarque : AIR pour TV prend galement en charge la vido code par le biais des codecs Sorenson Spark ou On2 VP6.
Le matriel nassure toutefois pas le dcodage ou la prsentation de ces codecs. Au lieu de cela, le moteur dexcution
dcode et prsente ces codecs via un processus logiciel. La cadence de lecture de la vido est par consquent beaucoup
moins leve. Dans la mesure du possible, il est par consquent conseill dadopter le codec H.264.

Classe StageVideo
AIR pour TV prend en charge le dcodage et la prsentation acclration matrielle des vidos codes par le biais du
codec H.264. La classe StageVideo permet dactiver cette fonctionnalit.
Voir Prsentation acclration matrielle par le biais de la classe StageVideo dans le Guide du dveloppeur
dActionScript 3.0 pour plus dinformations sur les points suivants :
API de la classe StageVideo et des classes apparentes
Restrictions dutilisation de la classe StageVideo
Pour optimiser la prise en charge des applications AIR existantes qui adoptent lobjet Video pour les vidos codes au
format H.264, AIR pour TV utilise en interne un objet StageVideo. Cette caractristique signifie que la lecture de la
vido exploite le rendu et la prsentation acclration matrielle. Lobjet Video est toutefois soumis aux mmes
restrictions quun objet StageVideo. Par exemple, si lapplication tente de faire pivoter la vido, il ne se produit pas de
rotation, puisque cest le matriel, et non le moteur dexcution, qui assure la prsentation de la vido.
Lorsque vous programmez une nouvelle application, adoptez toutefois lobjet StageVideo pour la vido H.264.
Pour plus dinformations sur lutilisation de la classe StageVideo, voir Delivering video and content for the Flash
Platform on TV (disponible en anglais uniquement).

Directives de diffusion de la vido


Sur un priphrique AIR pour TV, la bande passante disponible du rseau risque de varier au cours de la lecture de la
vido. Ces variations se produisent parfois lorsquun autre utilisateur commence utiliser la mme connexion
Internet, par exemple.
Adobe recommande par consquent que le systme de diffusion de la vido intgre des fonctionnalits de vitesse de
transmission adaptative. Ct serveur, Flash Media Server prend par exemple en charge des fonctionnalits de vitesse
de transmission adaptative. Ct client, vous disposez de la structure OSMF (Open Source Media Framework).
Les protocoles suivants permettent de diffuser un contenu vido via le rseau lintention dune application AIR pour TV :
Diffusion en continu dynamique HTTP et HTTPS (format F4F)
Diffusion en continu RTMP, RTMPE, RTMFP, RTMPT et RTMPTE
Tlchargement progressif HTTP et HTTPS
Pour plus dinformations, consulter les rfrences suivantes :
Guide du dveloppeur dAdobe Flash Media Server

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 131
Dveloppement dapplications AIR pour priphriques TV

Open Source Media Framework

Considrations lies laudio


Le code ActionScript de lecture du son ne prsente aucune diffrence entre les applications AIR pour TV et les autres
applications AIR. Pour plus dinformations, voir Utilisation du son dans le manuel Guide du dveloppeur
dActionScript 3.0.
En ce qui concerne la prise en charge du son multicanal dans AIR pour TV, tenez compte des points suivants :
AIR pour TV prend en charge le son multicanal des vidos tlcharges progressivement partir dun serveur
HTTP. Le son multicanal des vidos diffuses partir dAdobe Flash Media Server nest pas encore pris en charge.
Bien quAIR pour TV prenne en charge de nombreux codecs audio, tous les priphriques AIR pour TV ne
prennent pas en charge tous les codecs. Utilisez la mthode hasMultiChannelAudio() de
flash.system.Capabilities pour vrifier si un priphrique AIR pour TV prend en charge un codec audio
multicanaux particulier, tel que AC-3.
Prenons par exemple le cas dune application qui tlcharge progressivement un fichier vido dun serveur. Le
serveur dispose de plusieurs fichiers vido H.264 qui prennent en charge divers codecs audio multicanaux.
Lapplication peut utiliser la mthode hasMultiChannelAudio() pour dterminer le fichier vido solliciter
auprs du serveur. Lapplication peut par ailleurs envoyer au serveur la chane contenue dans
Capabilities.serverString. Cette chane indique les codecs audio multicanaux disponibles, ce qui permet au
serveur de slectionner le fichier vido appropri.
lorsque vous utilisez lun des codecs audio DTS, il existe des cas dans lesquels hasMultiChannelAudio() renvoie
true, mais o le son DTS nest pas lu.

Prenons par exemple un lecteur Blu-ray muni dune sortie S/PDIF, raccord un ancien amplificateur. Lancien
damplificateur ne prend pas en charge DTS, mais S/PDIF ne dispose daucun protocole pour en informer le lecteur
Blu-ray. Si le lecteur Blu-ray envoie le flux DTS lancien amplificateur, lutilisateur nentend rien. Par consquent,
lors de lutilisation de DTS, il est recommand de fournir une interface utilisateur afin que lutilisateur puisse
indiquer si aucun son nest en cours de lecture. Votre application peut ensuite utiliser un autre codec.
Le tableau suivant indique quand utiliser les diffrents codecs audio dans une application AIR pour TV : Ce tableau
indique galement quand les priphriques AIR pour TV font appel aux acclrateurs matriels pour dcoder un codec
audio. Le dcodage matriel amliore les performances et dcharge lUC.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 132
Dveloppement dapplications AIR pour priphriques TV

Codec audio Disponibilit Dcodage Utilisation du codec audio Informations complmentaires


sur le matriel
priphriqu
e AIR pour
TV

AAC Toujours Toujours Dans les vidos H.264 Lors de lutilisation dun flux AAC audio
uniquement, encapsulez le flux dans un
Pour la diffusion en continu de conteneur MP4.
laudio, tel quun service de
diffusion en continu de musique
sur Internet

MP3 Toujours Non Pour le son dans les fichiers SWF Une vido H.264 dont le son est au format
de lapplication mp3 nest pas reproduite sur les
priphriques AIR pour TV.
Dans les vidos codes avec
Sorenson Spark ou On2 VP6.

AC-3 (Dolby Digital) Vrifier Oui Dans les vidos H.264 En gnral, AIR pour TV transmet un flux
audio multicanaux un rcepteur
E-AC-3 (Enhanced Dolby audio/vido externe qui dcode et lit le
Digital) son.
DTS Digital Surround

DTS Express

DTS-HD High Resolution


Audio

DTS-HD Master Audio

Speex Toujours Non Lors de la rception dun flux vocal Une vido H.264 qui utilise le codec audio
en direct. Speex nest pas reproduite sur les
priphriques AIR pour TV. Utilisez Speex
uniquement avec les vidos codes laide
de Sorenson Spark ou dOn2 VP6.

NellyMoser Toujours Non Lors de la rception dun flux vocal Une vido H.264 qui utilise le codec audio
en direct. NellyMoser nest pas reproduite sur les
priphriques AIR pour TV. Utilisez
NellyMoser uniquement avec les vidos
codes laide de Sorenson Spark ou dOn2
VP6.

Remarque : certains fichiers vido contiennent deux flux audio. Par exemple, un fichier vido peut contenir un flux AAC
et un flux AC3. AIR pour TV ne prend pas en charge ces fichiers vido ; lutilisation de tels fichiers peut empcher la
diffusion du son de la vido.

Acclration graphique matrielle

Utilisation de lacclration graphique matrielle


Un priphrique AIR pour TV prend en charge lacclration matrielle des oprations graphiques 2D. Les
acclrateurs graphiques matriels du priphrique confient lunit centrale lexcution des oprations suivantes :
Rendu des bitmaps
Mise lchelle des bitmaps
Fusion des bitmaps
Remplissage rectangulaire solide

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 133
Dveloppement dapplications AIR pour priphriques TV

Cette acclration graphique matrielle permet de nombreuses oprations graphiques dune application AIR pour
TV dtre particulirement performantes. Parmi ces oprations figurent :
Transitions par glissement
Transitions par mise lchelle
Ouverture et fermeture en fondu
Composition de plusieurs images avec couche alpha
Pour que ces types doprations exploitent les avantages de lacclration graphique matrielle, utilisez lune des
techniques suivantes :
Dfinissez la proprit cacheAsBitmap sur true pour les objets MovieClip et autres objets daffichage dont le
contenu ne change gnralement pas. Excutez ensuite des transitions par glissement, des transitions en fondu et
la fusion alpha sur ces objets.
Utilisez la proprit cacheAsBitmapMatrix sur les objets daffichage qui requirent une mise lchelle ou une
translation (appliquez le repositionnement x et y).
Les acclrateurs matriels du priphrique excutent les tches requises en recourant aux oprations de la classe
Matrix pour la mise lchelle et la translation. Vous pouvez galement envisager un scnario dans lequel vous
modifiez les dimensions dun objet daffichage dont la proprit cacheAsBitmap est dfinie sur true. En cas de
modification des dimensions, le logiciel du moteur dexcution actualise le bitmap. Les performances dune
actualisation effectue par le biais du logiciel sont infrieures une mise lchelle ralise via une acclration
matrielle par le biais dune opration Matrix.
Considrez par exemple une application qui affiche une image dont la taille augmente lorsquun utilisateur la
slectionne. Utilisez plusieurs fois lopration de mise lchelle de la classe Matrix pour donner une impression
dagrandissement de limage. Toutefois, selon la taille de limage dorigine et celle de limage finale, la qualit de
cette dernire risque dtre inacceptable. Rinitialisez par consquent les dimensions de lobjet daffichage une fois
les oprations dagrandissement termines. Etant donn que la proprit cacheAsBitmap est dfinie sur true, le
logiciel du moteur dexcution actualise une fois seulement lobjet daffichage et produit une image de qualit
leve.
Remarque : en rgle gnrale, les priphriques AIR pour TV ne prennent pas en charge la rotation et linclinaison
acclration matrielle. Par consquent, si vous spcifiez une opration de rotation et dinclinaison dans la classe
Matrix, AIR pour TV excute toutes les oprations Matrix par le biais du logiciel. Ces oprations logicielles ont parfois
des rpercussions ngatives sur les performances.
Utilisez la classe BitmapData pour crer un comportement personnalis de mise en cache des bitmaps.
Pour plus dinformations sur la mise en cache sous forme de bitmap, consulter les rfrences suivantes :
Mise en cache des objets daffichage
Mise en cache sous forme de bitmap
Mise en cache manuelle sous forme de bitmap

Gestion de la mmoire graphique


Pour effectuer des oprations graphiques acclres, les acclrateurs graphiques ont recours une mmoire
graphique spciale. Si lapplication utilise la totalit de la mmoire graphique, elle sexcute plus lentement, car AIR
pour TV confie nouveau le traitement des oprations graphiques au logiciel.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 134
Dveloppement dapplications AIR pour priphriques TV

Pour grer lutilisation de la mmoire graphique par lapplication :


Une fois lutilisation dune image ou autres donnes de bitmap termine, librez la mmoire graphique
correspondante. Pour ce faire, appelez la mthode dispose() de la proprit bitmapData de lobjet Bitmap.
Exemple :
myBitmap.bitmapData.dispose();

Remarque : librer la rfrence lobjet BitmapData ne libre pas immdiatement la mmoire graphique. Lutilitaire
de rcupration de place du moteur dexcution libre la mmoire graphique, mais appeler la mthode dispose()
permet lapplication de mieux contrler le processus.
Faites appel PerfMaster Deluxe, une application AIR fournie par Adobe, pour mieux comprendre lacclration
graphique matrielle sur le priphrique cible. Cette application illustre le nombre dimages par seconde requis
pour excuter diverses oprations. PerfMaster Deluxe permet de comparer diverses implmentations dune mme
opration. Vous pouvez, par exemple, comparer le dplacement dune image bitmap au dplacement dune image
vectorielle. PerfMaster Deluxe est disponible ladresse suivante : Flash Platform for TV.

Gestion de la liste daffichage


Pour rendre un objet daffichage invisible, dfinissez sa proprit visible sur false. Lobjet se trouve toujours dans
la liste daffichage, mais AIR pour TV neffectue pas son rendu et ne laffiche pas. Cette technique est utile pour les
objets qui apparaissent et disparaissent frquemment, car elle nimplique quune faible charge de traitement. Dfinir
la proprit visible sur false ne libre toutefois aucune des ressources de lobjet. Par consquent, lorsque laffichage
dun objet est termin ou si un objet ne va plus safficher pendant un certain temps, supprimez lobjet de la liste
daffichage. Dfinissez galement toutes les rfrences lobjet sur null. Ces actions permettent au nettoyeur de
mmoire de librer les ressources de lobjet.

Utilisation des images PNG et JPEG


PNG et JPEG sont des formats dimage standard dans les applications. En ce qui concerne ces formats dimage dans
les applications AIR pour TV, tenez compte des considrations suivantes :
AIR pour TV a gnralement recours lacclration matrielle pour dcoder les fichiers JPEG.
AIR pour TV dcode gnralement les fichiers PNG par le biais du logiciel. Le dcodage logiciel des fichiers PNG
est rapide.
Le format PNG est le seul format bitmap multiplate-forme qui prend en charge la transparence (un canal alpha).
Par consquent, utilisez comme suit ces formats dimage dans une application :
Adoptez le format JPEG pour les photographies en vue dexploiter le dcodage acclration matrielle.
Adoptez le format dimage PNG pour les lments de linterface utilisateur. Les performances du dcodage logiciel
sont suffisamment leves pour ces lments, qui grent un paramtre alpha.

Scne dans les applications AIR pour TV


Si vous crez une application AIR pour TV, tenez compte des considrations suivantes lors de lutilisation de la classe
Stage :
Rsolution dcran
Zone de visualisation efficace
Mode de mise lchelle de la scne
Alignement de la scne

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 135
Dveloppement dapplications AIR pour priphriques TV

tat daffichage de la scne


Prise en compte de tailles dcran diverses
Paramtre de qualit de la scne

Rsolution dcran
A lheure actuelle, la rsolution des crans de priphriques TV correspond 540p, 720p et 1 080p. Ces rsolutions
dcran donnent lieu aux valeurs suivantes dans la classe Capabilities dActionScript :

Rsolution Capabilities.screenResolutionX Capabilities.screenResolutionY


dcran

540p 960 540

720p 1 280 720

1 080p 1 920 1 080

Pour crer une application AIR pour TV en plein cran destine un priphrique donn, codez en dur les proprits
Stage.stageWidth et Stage.stageHeight sur la rsolution de lcran du priphrique. Toutefois, pour crer une
application en plein cran qui sexcute sur plusieurs priphriques, dfinissez les dimensions de lobjet Stage laide
des proprits Capabilities.screenResolutionX et Capabilities.screenResolutionY.
Exemple :
stage.stageWidth = Capabilities.screenResolutionX;
stage.stageHeight = Capabilities.screenResolutionY;

Zone de visualisation efficace


La zone de visualisation efficace dun tlviseur correspond la partie de lcran qui est encastre par rapport aux bords
de lcran. Lcart est suffisamment important pour que lutilisateur final puisse visualiser la zone dans son intgralit,
sans que la bordure du tlviseur ne la masque partiellement. Etant donn que les dimensions de la bordure physique
qui entoure lcran varient selon le constructeur, lcart requis est dfini en consquence. La zone de visualisation
efficace tente de garantir la visibilit dune partie de lcran. Elle porte galement le nom de zone de titre scurise.
Le surbalayage identifie la partie de lcran qui nest pas visible, car elle est place derrire la bordure.
Adobe recommande un cart de 7,5 % sur chaque bord de lcran. Exemple :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 136
Dveloppement dapplications AIR pour priphriques TV

1920

1632

918
Zone de visualisation efficace 1080

Zone de visualisation efficace pour une rsolution dcran de 1 920 x 1 080

Veillez tenir compte de la zone de visualisation efficace lorsque vous crez une application AIR pour TV en plein
cran :
Utilisez lcran entier pour les arrire-plans (images ou couleurs darrire-plan).
Limitez-vous la zone de visualisation efficace pour les lments dterminants de lapplication tels que le texte, les
graphiques, la vido et les lments de linterface utilisateur (les boutons, par exemple).
Le tableau ci-dessous indique les dimensions de la zone de visualisation efficace pour chaque rsolution dcran
standard avec un cart de 7,5 %.

Rsolution Largeur et hauteur de Largeur de lcart Hauteur de lcart


dcran la zone de gauche et droit suprieur et infrieur
visualisation efficace

960 x 540 816 x 460 72 40

1 280 x 720 1 088x 612 96 54

1 920 x 1 080 1 632 x 918 144 81

Il est toutefois recommand de calculer la zone de visualisation efficace de faon dynamique. Exemple :
var horizontalInset, verticalInset, safeAreaWidth, safeAreaHeight:int;

horizontalInset = .075 * Capabilities.screenResolutionX;


verticalInset = .075 * Capabilities.screenResolutionY;
safeAreaWidth = Capabilities.screenResolutionX - (2 * horizontalInset);
safeAreaHeight = Capabilities.screenResolutionY - (2 * verticalInset);

Mode de mise lchelle de la scne


Dfinissez la proprit Stage.scaleMode sur StageScaleMode.NO_SCALE et coutez les vnements de
redimensionnement de la scne.
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.addEventListener(Event.RESIZE, layoutHandler);

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 137
Dveloppement dapplications AIR pour priphriques TV

Ce paramtre dfinit les coordonnes de la scne sur les coordonnes de pixel. A linstar de ltat daffichage
FULL_SCREEN_INTERACTIVE et de lalignement de la scne TOP_LEFT, ce paramtre permet dexploiter pleinement la
zone de visualisation efficace.
Dans les applications en plein cran, ce mode de mise lchelle signifie que les proprits stageWidth et
stageHeight de la classe Stage correspondent aux proprits screenResolutionX et screenResolutionY de la
classe Capabilities.
Par ailleurs, lorsque la fentre de lapplication change de taille, le contenu de la scne conserve sa taille dfinie. Le
moteur dexcution nexcute ni mise en forme, ni mise lchelle automatique. Il distribue galement lvnement
resize de la classe Stage en cas de changement de taille de la fentre. Vous matrisez par consquent pleinement le
mode de rglage du contenu de lapplication au dmarrage de cette dernire et lors du redimensionnement de sa
fentre.
Remarque : le comportement NO_SCALE est identique celui de toute application AIR. Dans une application AIR pour
TV, lutilisation de ce paramtre joue toutefois un rle dterminant dans lutilisation de la zone de visualisation efficace.

Alignement de la scne
Dfinissez la proprit Stage.align sur StageAlign.TOP_LEFT :
stage.align = StageAlign.TOP_LEFT;

Cet alignement place la coordonne 0,0 dans langle suprieur gauche de lcran, ce qui est adapt au positionnement
du contenu laide dActionScript.
A linstar du mode de mise lchelle NO_SCALE et de ltat daffichage FULL_SCREEN_INTERACTIVE, ce paramtre
permet dexploiter pleinement la zone de visualisation efficace.

tat daffichage de la scne


Dans une application AIR pour TV en plein cran, dfinissez la proprit Stage.displayState sur
StageDisplayState.FULL_SCREEN_INTERACTIVE :

stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;

Cette valeur dfinit lapplication AIR de sorte que la scne occupe la totalit de lcran et autorise la saisie utilisateur.
Adobe recommande lutilisation du paramtre FULL_SCREEN_INTERACTIVE. A linstar du mode de mise lchelle
NO_SCALE et de lalignement de la scne TOP_LEFT, ce paramtre permet dexploiter pleinement la zone de
visualisation efficace.
Par consquent, pour une application en plein cran, procdez comme suit dans un gestionnaire associ lvnement
ADDED_TO_STAGE dans la classe principale du document :

private function onStage(evt:Event):void


{
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.addEventListener(Event.RESIZE, onResize);
stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
}

Puis, dans le gestionnaire de lvnement RESIZE :


Comparez les tailles de rsolution dcran la largeur et la hauteur de la scne. Si elles sont identiques, lvnement
RESIZE sest produit, parce que ltat daffichage de la scne est pass FULL_SCREEN_INTERACTIVE.

Calculez et enregistrez les dimensions de la zone de visualisation efficace et les carts correspondants.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 138
Dveloppement dapplications AIR pour priphriques TV

private function onResize(evt:Event):void


{
if ((Capabilities.screenResolutionX == stage.stageWidth) &&
(Capabilities.screenResolutionY == stage.stageHeight))
{

// Calculate and save safe viewing area dimensions.


}
}

Lorsque les dimensions de la scne quivalent Capabilities.screenResolutionX et screenResolutionY, AIR


pour TV oblige le priphrique fournir la meilleur fidlit possible pour vos vidos et images.
Remarque : la fidlit laquelle les images et les vidos saffichent sur lcran dun tlviseur peut diffrer des valeurs de
Capabilities.screenResolutionX et de screenResolutionY, qui dpendent du priphrique excutant AIR pour
TV. Par exemple, la rsolution dcran du dcodeur excutant AIR pour TV peut tre de 1280 x 720 et celle du tlviseur
raccord de 1920 x 1080. AIR pour TV oblige toutefois le priphrique fournir la meilleure fidlit possible. Par
consquent, dans cet exemple, le priphrique affiche une vido de 1080p avec une rsolution dcran de 1920 x 1080.

Prise en compte de tailles dcran diverses


Vous pouvez dvelopper la mme application AIR pour TV en plein cran de sorte assurer son excution sur divers
priphriques AIR pour TV sans problme daffichage. Procdez comme suit :
1 Dfinissez les proprits de la scne scaleMode, align et displayState sur les valeurs recommandes :
StageScaleMode.NO_SCALE, StageAlign.TOP_LEFT et StageDisplayState.FULL_SCREEN_INTERACTIVE
(respectivement).
2 Configurez la zone de visualisation efficace en fonction des paramtres Capabilities.screenResolutionX et
Capabilities.screenResolutionY.

3 Rglez la taille et la mise en forme du contenu en fonction de la largeur et de la hauteur de la zone de visualisation
efficace.
En dpit de la taille leve des objets du contenu, en particulier si vous les comparez aux applications pour
priphriques mobiles, les concepts tels que la mise en forme dynamique, le positionnement relatif et le contenu
adaptatif demeurent inchangs. Pour plus dinformations sur la prise en charge de ces concepts par le biais
dActionScript, voir Authoring mobile Flash content for multiple screen sizes (disponible en anglais uniquement).

Qualit de la scne
La proprit Stage.quality dune application AIR pour TV est toujours StageQuality.High. Il est impossible de
la modifier.
Cette proprit spcifie la qualit de rendu de tous les objets Stage.

Gestion de la saisie par tlcommande


Les utilisateurs communiquent gnralement avec lapplication AIR pour TV laide dune tlcommande. Grez
toutefois la saisie par touche de tlcommande comme la saisie par touche de clavier dans une application de bureau.
Grez en particulier lvnement KeyboardEvent.KEY_DOWN. Pour plus dinformations, voir Capture de la saisie au
clavier dans le manuel Guide du dveloppeur dActionScript 3.0.
Les touches de la tlcommande sont mappes sur des constantes ActionScript. Par exemple, le mappage des touches
du pav directionnel dune tlcommande est le suivant :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 139
Dveloppement dapplications AIR pour priphriques TV

Touche du pav directionnel dune Constante ActionScript 3.0


tlcommande

Haut Keyboard.UP

Bas Keyboard.DOWN

Gauche Keyboard.LEFT

Droite Keyboard.RIGHT

OK ou Slectionner Keyboard.ENTER

AIR 2.5 intgre de nombreuses autres constantes Keyboard pour prendre en charge la saisie par tlcommande. Pour
en consulter la liste complte, voir Classe Keyboard dans le manuel Guide de rfrence ActionScript 3.0 pour la plate-
forme Adobe Flash.
Pour assurer le fonctionnement de lapplication sur un nombre aussi lev que possible de priphriques, Adobe
recommande de respecter les directives suivantes :
Dans la mesure du possible, utilisez uniquement les touches du pav directionnel.
Les ensembles de touches varient selon les tlcommandes. La grande majorit des tlcommandes intgrent
toutefois des touches de pav directionnel.
Ainsi, une tlcommande de priphrique Blu-ray ne comporte gnralement pas de touche permettant de passer
la chane suivante ou la chane prcdente. Mme les touches de lecture, pause et arrt ne figurent pas sur toutes
les tlcommandes.
Utilisez les touches Menu et Informations si les touches du pav directionnel ne suffisent pas lapplication.
Aprs les touches du pav directionnel, les touches Menu et Informations sont les plus courantes sur les
tlcommandes.
Tenez compte de lutilisation frquente des tlcommandes universelles.
Mme si vous crez une application destine un priphrique dtermin, gardez lesprit le fait que de nombreux
utilisateurs prfrent viter la tlcommande fournie avec le priphrique. Ils ont au contraire recours une
tlcommande universelle. Par ailleurs, les utilisateurs ne programment pas toujours la tlcommande universelle
de sorte mapper toutes les touches de la tlcommande du priphrique. Il est par consquent recommand de
nutiliser que les touches les plus courantes.
Veillez ce que les utilisateurs puissent dsactiver toute opration par le biais de lune des touches du pav
directionnel.
Lapplication a parfois recours bon escient une touche qui nest pas frquemment utilise sur une
tlcommande. Fournir une voie de sortie laide de lune des touches du pav directionnel assure le comportement
appropri de lapplication sur tous les priphriques.
Ne sollicitez pas dentre de pointeur moins que vous ne sachiez que le priphrique AIR pour TV cible dispose
dune fonctionnalit dentre de pointeur.
Bien que de nombreuses applications de bureau attendent une entre de souris, la plupart des tlviseurs ne
prennent pas en charge lentre de pointeur. Par consquent, si vous convertissez une application de bureau en
application pour tlviseur, veillez la modifier de faon ce quelle nattende pas dentre de souris. Ces
modifications affectent la gestion des vnements et les instructions destines lutilisateur. Lorsque lcran de
dmarrage de lapplication apparat, naffichez pas le texte Cliquez pour dmarrer , par exemple.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 140
Dveloppement dapplications AIR pour priphriques TV

Gestion de la cible daction


Lorsquun lment de linterface utilisateur correspond la cible daction dans une application de bureau, il est la cible
dvnements de saisie utilisateur tels que les vnements de clavier et de souris. Par ailleurs, une application affiche
en surbrillance llment de linterface utilisateur qui est la cible daction. Une application AIR pour TV et une
application de bureau grent diffremment la cible daction, car :
Les applications de bureau ont souvent recours la touche de tabulation pour faire de llment suivant de
linterface utilisateur la cible daction. Lutilisation de la touche de tabulation ne sapplique pas aux applications AIR
pour TV. Les tlcommandes ne comportent gnralement pas de touche de tabulation. Par consquent,
lencontre du bureau, la gestion de la cible daction laide de la proprit tabEnabled dun objet DisplayObject
nest pas prise en charge.
Les applications de bureau attendent souvent de lutilisateur quil slectionne un lment de linterface utilisateur
laide de la souris.
Procdez de ce fait comme suit dans lapplication :
Ajoutez un couteur dvnements lobjet Stage qui coute des vnements Keyboard tels que
KeyboardEvent.KEY_DOWN.

Dfinissez la logique de lapplication de sorte dterminer llment de linterface mettre en surbrillance


lintention de lutilisateur. Veillez mettre en surbrillance un lment de linterface utilisateur au dmarrage de
lapplication.
En vous basant sur la logique de lapplication, distribuez lvnement Keyboard reu par lobjet Stage lobjet
appropri de llment de linterface utilisateur.
Vous disposez galement de la proprit Stage.focus ou Stage.assignFocus() pour faire dun lment de
linterface utilisateur la cible daction. Vous pouvez ensuite ajouter un couteur dvnements cet objet
DisplayObject pour quil reoive les vnements de clavier.

Cration dune interface utilisateur


Pour assurer le bon fonctionnement de linterface utilisateur dune application AIR pour TV sur un tlviseur, tenez
compte des recommandations relatives :
au temps de raction de lapplication ;
la convivialit de lapplication ;
la personnalit et aux attentes de lutilisateur.

Temps de raction
Tenez compte des conseils suivants pour rduire autant que possible le temps de raction dune application AIR pour TV.
Rduisez autant que possible la taille du fichier SWF initial de lapplication.
Dans le fichier SWF initial, chargez uniquement les ressources requises pour dmarrer lapplication. Limitez-vous
par exemple limage de lcran de dmarrage de lapplication.
Bien que cette recommandation sapplique aux applications AIR de bureau, elle est dune importance particulire
pour les priphriques AIR pour TV. Les priphriques AIR pour TV ne disposent par exemple pas de la puissance
de traitement dun ordinateur de bureau. Ils stockent par ailleurs lapplication en mmoire flash, dont laccs nest
pas aussi rapide quun disque dur sur un ordinateur de bureau.
Veillez ce que lapplication sexcute une cadence de 20 images/seconde au moins.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 141
Dveloppement dapplications AIR pour priphriques TV

Crez les graphiques de sorte atteindre cet objectif. La complexit des oprations graphiques risque daffecter la
cadence. Pour plus dinformations sur lamlioration des performances de rendu, voir Optimisation des
performances pour la plate-forme Adobe Flash.
Remarque : le matriel graphique dun priphrique AIR pour TV applique gnralement un taux de rafrachissement
de lcran de 60 ou 120 Hz (en dautres termes, lcran est mis jour 60 ou 120 fois par seconde). Le matriel analyse
la scne pour identifier les mises jour une cadence de 30 ou 60 images par seconde, par exemple, sur un cran de
60 ou 120 Hz. La complexit des oprations graphiques de lapplication dtermine toutefois si ces cadences leves sont
appliques ou non.
Mettez jour lcran dans les 100 - 200 millisecondes qui suivent une saisie utilisateur.
Si le dlai de mise jour est plus long, lutilisateur simpatiente et appuie souvent plusieurs fois sur les touches.

Convivialit
Les utilisateurs dune application AIR pour TV rsident dans un environnement de type salon . Ils sont assis
3 mtres au moins du tlviseur. La pice est souvent sombre. Ils ont gnralement recours une tlcommande des
fins de saisie. Il est possible que plusieurs personnes utilisent lapplication, parfois conjointement, parfois en srie.
Tenez par consquent compte des considrations suivantes pour assurer la convivialit de linterface utilisateur sur un
tlviseur :
Assignez une taille leve aux lments de linterface utilisateur.
Lors de la conception du texte, des boutons ou de tout autre lment de linterface utilisateur, tenez compte du fait
que lutilisateur est assis lautre bout de la pice. Assurez-vous que tout lment est clairement visible et lisible
une distance de 3 mtres, par exemple. Evitez dencombrer lcran pour lunique raison que lcran est de taille
leve.
Dfinissez un contraste appropri afin que lutilisateur puisse visualiser et lire aisment le contenu de lautre bout
de la pice.
Identifiez clairement la cible daction en assurant la luminosit de llment de linterface utilisateur concern.
Nutilisez le mouvement quen cas de besoin. Glisser dun cran lautre des fins de continuit, par exemple, peut
donner des rsultats satisfaisants. Toutefois, le mouvement empche parfois lutilisateur de se concentrer sil ne
laide pas naviguer ou sil nest pas intrinsque lapplication.
Proposez toujours lutilisateur un moyen vident de retourner son point de dpart par le biais de linterface
utilisateur.
Pour plus dinformations sur lutilisation de la tlcommande, voir Gestion de la saisie par tlcommande la
page 138.

Personnalit et attentes de lutilisateur


Gardez lesprit le fait que les utilisateurs dapplications AIR pour TV recherchent gnralement une exprience
tlvisuelle divertissante de qualit, dans un environnement dnu de stress. Ils ne matrisent pas ncessairement
linformatique.
Crez de ce fait des applications AIR pour TV aux caractristiques suivantes :
Evitez le jargon technique.
Evitez les botes de dialogue modales.
Utilisez des instructions conviviales et informelles adaptes un environnement de type salon, plutt qu la sphre
professionnelle ou technique.
Intgrez les graphiques de qualit leve auxquels sattendent les tlspectateurs.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 142
Dveloppement dapplications AIR pour priphriques TV

Crez une interface utilisateur qui fonctionne de faon transparente avec une tlcommande. Nutilisez pas une
interface utilisateur ou des lments de conception adapts une application de bureau ou une application
mobile. Par exemple, dans les interfaces utilisateur des priphriques de bureau et des priphriques mobiles, il est
souvent ncessaire de pointer, cliquer ou appuyer sur des boutons avec une souris ou un doigt.

Polices et texte
Dans lapplication AIR pour TV, utilisez les polices de priphrique ou les polices incorpores.
Les polices de priphrique sont installes sur le priphrique. Tous les priphriques AIR pour TV intgrent les
polices suivantes :

Nom de la Description
police

_sans La police de priphrique _sans contient des caractres sans serif. La police de
priphrique_sans installe sur tous les priphriques AIR pour TV est Myriad Pro. En
rgle gnrale, une police sans-srif est mieux reproduite sur un tlviseur que les polices
srif en raison de la distance de visionnage.

_serif La police de priphrique _serif contient des caractres serif. La police de priphrique
_serif installe sur tous les priphriques AIR pour TV est Minion Pro.

_typewriter La police de priphrique _typewriter est une police espacement fixe. La police de
priphrique _typewriter installe sur tous les priphriques AIR pour TV est Courier
Std.

Tous les priphriques AIR pour TV intgrent galement les polices de priphrique asiatiques suivantes :

Nom de la police Langue Catgorie de Code des


caractre paramtres
rgionaux

RyoGothicPlusN-Regular japonais sans ja

RyoTextPlusN-Regular japonais serif ja

AdobeGothicStd-Light coren sans ko

AdobeHeitiStd-Regular chinois simplifi sans zh_CN

AdobeSongStd-Light chinois simplifi serif zh_CN

AdobeMingStd-Light chinois traditionnel serif zh_TW et zh_HK

Ces polices de priphrique AIR pour TV :


sont extraites de la typothque dAdobe ;
donnent un rsultat satisfaisant sur un tlviseur ;
sont adaptes au titrage vido ;
sont des polices vectorielles, plutt que les polices bitmap.
Remarque : les constructeurs de priphriques intgrent souvent dautres polices ces derniers. Ces polices sont installes
paralllement aux polices de priphrique AIR pour TV.
Adobe fournit lapplication FontMaster Deluxe, qui affiche toutes les polices du priphrique. Vous trouverez cette
application ladresse Flash Platform for TV.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 143
Dveloppement dapplications AIR pour priphriques TV

Vous pouvez galement incorporer des polices lapplication AIR pour TV. Pour plus dinformations sur les polices
incorpores, voir Fonctions avances daffichage de texte dans le manuel Guide du dveloppeur dActionScript 3.0.
Adobe recommande dappliquer les directives dutilisation des champs de texte TLF suivantes :
Faites appel aux champs de texte TLF pour le texte en langue asiatique afin dexploiter les paramtres rgionaux en
vigueur dans lapplication. Dfinissez la proprit locale de lobjet TextLayoutFormat associ lobjet
TLFTextField. Pour dterminer les paramtres rgionaux actifs, voir Choix dun jeu de paramtres rgionaux dans
le manuel Guide du dveloppeur dActionScript 3.0.
Spcifiez le nom de la police dans la proprit fontFamily de lobjet TextLayoutFormat si la police ne fait pas partie
des polices de priphrique AIR pour TV. AIR pour TV utilise la police si elle est disponible sur le priphrique. Si
la police requise ne figure pas sur le priphrique, AIR pour TV lui substitue la police de priphrique AIR pour TV
approprie en se rfrant au paramtre locale.
Spcifiez le paramtre _sans, _serif ou _typewriter pour la proprit fontFamily et dfinissez la proprit
locale pour quAIR pour TV slectionne la police de priphrique AIR pour TV approprie. Selon les paramtres
rgionaux en vigueur, AIR pour TV effectue une slection dans le jeu de polices de priphrique asiatiques ou non
asiatiques. Ces paramtres permettent dutiliser automatiquement la police approprie pour les quatre principaux
jeux de paramtres rgionaux et langlais.
Remarque : si vous utilisez des champs de texte classiques pour le texte en langue asiatique, spcifiez le nom dune police
de priphrique AIR pour TV pour assurer un rendu appropri. Si vous savez quune autre police est installe sur le
priphrique cible, vous pouvez galement lindiquer.
En ce qui concerne les performances de lapplication, tenez compte des considrations suivantes :
Les champs de texte classiques assurent de meilleures performances que les champs de texte TLF.
Un champ de texte classique qui a recours des polices bitmap assure des performances optimales.
A lencontre des polices vectorielles, qui ne proposent que des donnes vectorielles associes chaque caractre, les
polices bitmap proposent un bitmap par caractre. Les polices de priphrique comme les polices incorpores
peuvent correspondre des polices bitmap.
Si vous spcifiez une police de priphrique, veillez linstaller sur le priphrique cible. Si tel nest pas le cas, AIR
pour TV recherche et utilise une autre police installe sur le priphrique. Ce comportement ralentit toutefois les
performances de lapplication.
A linstar de tout objet daffichage, si un objet TextField nest que rarement modifi, dfinissez la proprit
cacheAsBitmap correspondante sur true. Ce paramtre amliore les performances des transitions de type fondu,
glissement et fusion alpha. Utilisez la proprit cacheAsBitmapMatrix pour la mise lchelle et la translation.
Pour plus dinformations, voir Acclration graphique matrielle la page 132.

Scurit du systme de fichiers


Etant donn que les applications AIR pour TV sont des applications AIR, elles peuvent accder au systme de fichiers
du priphrique. Toutefois, si lapplication est installe sur un priphrique de salon , il est dterminant quelle ne
puisse pas accder au systme de fichiers de ce dernier ou aux fichiers dautres applications. Les utilisateurs de
tlviseurs ou priphriques associs ne sattendent pas des pannes et ne les tolrent pas. Aprs tout, ils regardent la
tlvision.
Une application AIR pour TV dispose par consquent dune vue limite du systme de fichiers du priphrique. Par
le biais dActionScript 3.0, lapplication peut accder des rpertoires (et sous-rpertoires associs) dtermins
uniquement. Par ailleurs, les noms de rpertoires en vigueur dans ActionScript ne correspondent pas aux noms de
rpertoires rels sur le priphrique. Cette couche supplmentaire permet de protger les applications AIR pour TV
contre tout accs malveillant ou accidentel des fichiers locaux qui ne leur appartiennent pas.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 144
Dveloppement dapplications AIR pour priphriques TV

Pour plus dinformations, voir Vue arborescente associe aux applications AIR pour TV.

Sandbox de lapplication AIR


Les applications AIR pour TV sexcutent dans le sandbox dapplication AIR, dcrit dans Sandbox de lapplication AIR.
Lunique diffrence pour les applications AIR pour TV consiste en un accs limit au systme de fichiers, comme
indiqu la section Scurit du systme de fichiers la page 143.

Cycle de vie dune application


A lencontre dun environnement de bureau, lutilisateur final ne peut pas fermer la fentre dexcution de lapplication
AIR pour TV. Intgrez de ce fait linterface utilisateur un mcanisme de sortie de lapplication.
En rgle gnrale, un priphrique autorise lutilisateur final quitter sans condition une application laide de la
touche de sortie de la tlcommande. AIR pour TV ne distribue toutefois pas dvnement
flash.events.Event.EXITING lapplication. Enregistrez de ce fait rgulirement ltat de lapplication, afin quelle
puisse restaurer un tat raisonnable lors du dmarrage suivant.

Cookies HTTP
AIR pour TV prend en charge les cookies persistants HTTP et les cookies de session. AIR pour TV enregistre les
cookies de chaque application AIR dans un rpertoire propre lapplication :
/app-storage/<app id>/Local Store

Le fichier de cookies est appel cookies.


Remarque : sur les autres priphriques, notamment les priphriques de bureau, AIR nenregistre pas les cookies
sparment pour chaque application. Lenregistrement des cookies propres une application prend en charge le modle
de scurit de lapplication et du systme dAIR pour TV.
Faites appel la proprit ActionScript URLRequest.manageCookies comme suit :
Dfinissez manageCookies sur true. Cette valeur est le paramtre par dfaut. Elle signifie quAIR pour TV ajoute
automatiquement des cookies aux requtes HTTP et les mmorise dans la rponse HTTP.
Remarque : mme si la proprit manageCookies est dfinie sur true, lapplication peut ajouter manuellement un
cookie une requte HTTP laide dURLRequest.requestHeaders. Si ce cookie porte le mme nom quun cookie
gr par AIR pour TV, la requte contient deux cookies au nom identique. La valeur des deux cookies peut tre
diffrente.
Dfinissez manageCookies sur false. Cette valeur signifie quil incombe lapplication denvoyer des cookies dans
les requtes HTTP et de les mmoriser dans la rponse HTTP.
Pour plus dinformations, voir URLRequest.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 145
Dveloppement dapplications AIR pour priphriques TV

Flux de travail de dveloppement dune application AIR


pour TV
Vous pouvez dvelopper une application AIR pour TV laide des outils de dveloppement suivants de la plate-forme
Adobe Flash :
Adobe Flash Professional
Adobe Flash Professional CS5.5 prend en charge AIR 2.5 pour TV, la premire version dAIR compatible avec les
applications AIR pour TV.
Adobe Flash Builder
Flash Builder 4.5 prend en charge AIR 2.5 pour TV.
Kit de dveloppement dAIR
A partir dAIR 2.5, vous pouvez dvelopper des applications laide des outils de ligne de commande fournis avec
le kit SDK dAIR. Pour tlcharger le kit SDK dAIR, voir http://www.adobe.com/fr/products/air/sdk/.

Utilisation de Flash Professional


Dvelopper, tester et publier des applications AIR pour TV laide de Flash Professional sapparente aux procdures
mises en uvre pour les applications AIR de bureau.
Toutefois, pour programmer le code ActionScript 3.0, utilisez uniquement les classes et mthodes prises en charge par
les profils AIR tv et extendedTV. Pour plus dinformations, voir Profils de priphrique la page 259.

Paramtres dun projet


Procdez comme suit pour configurer le projet associ une application AIR pour TV :
Dans longlet Flash de la bote de dialogue Paramtres de publication, dfinissez la valeur du lecteur sur au moins
AIR 2.5.
Dans longlet Gnral de la bote de dialogue Paramtres dAdobe AIR (Paramtres de lapplication Adobe AIR et
du programme dinstallation), dfinissez le profil sur TV ou TV tendu.

Dbogage
Vous pouvez excuter lapplication laide de lapplication de dbogage du lanceur AIR (ADL) intgre Flash
Professional. Procdez comme suit :
Pour excuter lapplication en mode de dbogage, slectionnez :
Dboguer > Dboguer lanimation > dans lapplication de dbogage du lanceur AIR (bureau)
Il suffit ensuite de slectionner les options suivantes lors des excutions de dbogage ultrieures :
Dboguer > Dboguer lanimation > Dboguer
Pour excuter lapplication sans fonctionnalit de dbogage, slectionnez :
Contrle > Tester lanimation > dans lapplication de dbogage du lanceur AIR (bureau)
Il suffit ensuite de slectionner les options Contrle > Tester lanimation > Tester lors des excutions ultrieures.
Etant donn que vous avez dfini le profil AIR sur TV ou TV tendu, lapplication de dbogage du lanceur AIR (ADL)
affiche le menu Touches de commande distance. Ce menu permet de simuler la slection de touches sur une
tlcommande.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 146
Dveloppement dapplications AIR pour priphriques TV

Pour plus dinformations, voir Dbogage distance avec Flash Professional la page 155.

Utilisation des extensions natives


Si votre application fait appel une extension native, suivez les instructions de la section Liste de tches pour
lutilisation dune extension native la page 159.
Toutefois, si une application utilise des extensions natives :
Il est impossible de publier lapplication laide de Flash Professional. Pour publier lapplication, faites appel
loutil AIR Developer (ADT). Voir Mise en package avec loutil ADT la page 151.
Il est impossible dexcuter ou de dboguer lapplication avec Flash Professional. Pour dboguer lapplication sur
la machine de dveloppement, faites appel lapplication ADL. Voir Simulation de priphrique laide de
lapplication ADL la page 152

Utilisation de Flash Builder


A partir de la version 4.5, Flash Builder prend en charge le dveloppement dapplications AIR pour TV. Dvelopper,
tester et publier des applications AIR pour TV laide de Flash Builder sapparente aux procdures mises en uvre
pour les applications AIR de bureau.

Configuration de lapplication
Assurez-vous que lapplication :
Utilise llment Application en tant que classe de conteneur dans le fichier MXML (le cas chant) :
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">

<!-- Place elements here. -->

</s:Application>.

Important : Les applications AIR pour TV ne prennent pas en charge llment WindowedApplication.
Remarque : il nest pas impratif dutiliser un fichier MXML. Vous pouvez opter pour la cration dun projet
ActionScript 3.0.
Utilise uniquement les classes et mthodes ActionScript 3.0 prises en charge par les profils AIR tv et extendedTV.
Pour plus dinformations, voir Profils de priphrique la page 259.
Par ailleurs, dans le fichier XML de lapplication, assurez-vous que :
Lattribut xmlns de llment application est dfini sur AIR 2.5 :
<application xmlns="http://ns.adobe.com/air/application/2.5">

Llment supportedProfiles comprend tv ou extendedTV :


<supportedProfiles>tv</supportedProfiles>

Dbogage de lapplication
Vous pouvez excuter lapplication laide de lapplication de dbogage du lanceur AIR (ADL) intgre Flash
Builder. Procdez comme suit :
1 Slectionnez Excuter > Dboguer les configurations.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 147
Dveloppement dapplications AIR pour priphriques TV

2 Assurez-vous que le champ Profil est dfini sur Bureau.


3 Slectionnez Excuter > Dboguer pour activer le mode de dbogage ou Excuter > Excuter pour excuter
lapplication sans fonctionnalit de dbogage.
Etant donn que vous avez dfini llment supportedProfiles sur tv ou extendedTV, lapplication de dbogage du
lanceur AIR (ADL) affiche le menu Touches de commande distance. Ce menu permet de simuler la slection de
touches sur une tlcommande.
Pour plus dinformations, voir Dbogage distance avec Flash Builder la page 155.

Utilisation des extensions natives


Si votre application fait appel une extension native, suivez les instructions de la section Liste de tches pour
lutilisation dune extension native la page 159.
Toutefois, si une application utilise des extensions natives :
Il est impossible de publier lapplication laide de Flash Builder. Pour publier lapplication, faites appel loutil
AIR Developer (ADT). Voir Mise en package avec loutil ADT la page 151.
Il est impossible dexcuter ou de dboguer lapplication avec Flash Builder. Pour dboguer lapplication sur la
machine de dveloppement, faites appel lapplication ADL. Voir Simulation de priphrique laide de
lapplication ADL la page 152

Proprits du descripteur de lapplication AIR pour TV


A linstar des autres applications AIR, vous dfinissez les proprits de base dune application dans le fichier
descripteur correspondant. Les applications associes au profil TV ignorent certaines proprits propres au bureau,
telles que la transparence et la taille des fentres. Les applications qui ciblent les priphriques associs au profil
extendedTV peuvent faire appel aux extensions natives. Ces applications identifient les extensions natives utilises
dans un lment extensions.

Paramtres standard
Divers paramtres de descripteur dapplication jouent un rle important dans toutes les applications associes au profil TV.

Version du moteur dexcution dAIR requise


Indiquez la version du moteur dexcution dAIR requise par lapplication laide de lespace de noms du fichier
descripteur de lapplication.
Affect dans llment application, lespace de noms dtermine globalement les fonctionnalits dont dispose
lapplication. Prenons lexemple dune application qui utilise lespace de noms AIR 2.5, mais lutilisateur dispose dune
version ultrieure. Dans ce cas de figure, lapplication continue assimiler le comportement dAIR la version 2.5,
mme sil a t modifi dans la version ultrieure dAIR. Pour que lapplication accde au nouveau comportement et
aux nouvelles fonctionnalits, vous devez au pralable modifier lespace de noms et publier une mise jour. Les
correctifs de scurit constituent une exception notable la rgle.
Spcifiez lespace de noms laide de lattribut xmlns de llment racine application :
<application xmlns="http://ns.adobe.com/air/application/2.5">

AIR 2.5 est la premire version dAIR prendre en charge les applications TV.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 148
Dveloppement dapplications AIR pour priphriques TV

Identit dune application


Plusieurs paramtres devraient tre propres chaque application publie, savoir Ces paramtres incluent les
lments id, name et filename.
<id>com.example.MyApp</id>
<name>My Application</name>
<filename>MyApplication</filename>

Version dune application


Spcifiez la version de lapplication dans llment versionNumber. Si vous dfinissez une valeur dans
versionNumber, vous pouvez utiliser une squence de trois nombres au plus, spars par un point ( 0.1.2 , par
exemple). Chaque segment du numro de la version se compose de trois chiffres au plus. (En dautres termes, la version
la plus longue autorise correspond 999.999.999 .) Vous ne devez pas obligatoirement inclure trois segments dans
le nombre. Les numros de version 1 et 1.0 sont galement valides.
Vous pouvez aussi dfinir le libell de la version laide de llment versionLabel. Si vous ajoutez un libell de
version, il remplace le numro de version lcran.
<versionNumber>1.23.7<versionNumber>
<versionLabel>1.23 Beta 7</versionLabel>

Fichier SWF principal dune application


Spcifiez le fichier SWF principal de lapplication dans lenfant versionLabel de llment initialWindow. Si vous
ciblez des priphriques associs au profil TV, vous devez utiliser un fichier SWF (les applications de type HTML
ntant pas prises en charge).
<initialWindow>
<content>MyApplication.swf</content>
</initialWindow>

Vous devez inclure ce fichier dans le package AIR ( laide de loutil ADT ou de lIDE). Se contenter de faire rfrence
au nom dans le descripteur dapplication nentrane pas linclusion automatique du fichier dans le package.

Proprits de lcran principal


Plusieurs lments enfants de llment initialWindow contrlent le comportement et laspect initiaux de lcran
principal de lapplication. Bien que la plupart de ces proprits soient ignores dans les priphriques associs aux
profils TV, vous disposez de llment fullScreen :
fullScreen : indique si lapplication doit occuper lcran du priphrique dans son intgralit ou le partager avec
le chrome standard du systme dexploitation.
<fullScreen>true</fullScreen>

lment visible
Llment visible est un lment enfant de llment initialWindow. AIR pour TV ignore llment visible, car
le contenu de votre application est toujours visible sur les priphriques AIR pour TV.
Dfinissez toutefois llment visible sur true si votre application cible galement les priphriques de bureau.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 149
Dveloppement dapplications AIR pour priphriques TV

Sur les priphriques de bureau, la valeur de cet lment est par dfaut dfinie sur false. Par consquent, si vous
nincluez pas llment visible, le contenu de lapplication nest pas visible sur les priphriques de bureau. Bien que
vous puissiez utiliser la classe ActionScript NativeWindow pour rendre le contenu visible sur les priphriques de
bureau, les profils de priphriques TV ne prennent pas en charge la classe NativeWindow. Si vous tentez dutiliser la
classe NativeWindow dans une application sexcutant sur un priphrique AIR pour TV, le chargement de
lapplication choue. Lappel dune mthode de la classe NativeWindow na aucun effet ; une application qui fait appel
cette classe ne se charge pas sur un priphrique AIR pour TV.

Profils pris en charge


Si lapplication na de sens que sur un tlviseur, vous pouvez interdire son installation sur dautres types de
priphriques informatiques. Excluez les autres profils de la liste des profils pris en charge de llment
supportedProfiles :

<supportedProfiles>tv extendedTV</supportedProfiles>

Si une application fait appel une extension native, incluez uniquement le profil extendedTV la liste des profils pris
en charge :
<supportedProfiles>extendedTV</supportedProfiles>

Si vous omettez llment supportedProfiles, il est considr comme acquis que lapplication prend en charge tous
les profils.
Nincluez pas uniquement le profil tv dans la liste supportedProfiles. Certains priphriques TV excutent toujours
AIR pour TV dans un mode qui correspond au profil extendedTV. Ce comportement permet AIR pour TV
dexcuter des applications faisant appel des extensions natives. Si votre lment supportedProfiles spcifie
uniquement tv, cela indique que votre contenu est incompatible avec le mode AIR pour TV pour extendedTV. Par
consquent, certains priphriques TV ne chargent pas une application qui spcifie uniquement le profil tv.
Pour consulter la liste des classes ActionScript prises en charge par les profils tv et extendedTV, voir Fonctionnalits
des diffrents profils la page 260.

Extensions natives requises


Les applications qui prennent en charge le profil extendedTV peuvent recourir aux extensions natives.
Dclarez toutes les extensions natives auxquelles fait appel lapplication AIR dans le descripteur dapplication laide
des lments extensions et extensionID. Lexemple suivant illustre la syntaxe permettant de spcifier deux
extensions natives requises :
<extensions>
<extensionID> com.example.extendedFeature</extensionID>
<extensionID> com.example.anotherFeature</extensionID>
</extensions>

Si une extension nest pas rpertorie, lapplication ne peut pas lutiliser.


La valeur de llment extensionID est identique celle de llment id dans le fichier descripteur de lextension. Le
fichier descripteur de lextension est un fichier XML appel extension.xml. Il est mis en package dans le fichier ANE
fourni par le constructeur du priphrique.
Si vous rpertoriez une extension dans llment extensions alors que le priphrique AIR pour TV ne dispose pas
de cette extension, lexcution de lapplication choue. Il existe toutefois une exception cette rgle : lorsque le fichier
ANE que vous mettez en package avec votre application AIR pour TV dispose dune version temporaire de lextension.
Dans ce cas, lapplication sexcute et utilise la version temporaire de lextension. La version temporaire dispose de
code ActionScript, mais pas de code natif.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 150
Dveloppement dapplications AIR pour priphriques TV

Icnes dune application


Chaque priphrique TV a des exigences qui lui sont propres en matire dicnes dapplication. Le constructeur de
priphrique stipule par exemple les lments suivants :
Icnes obligatoires et taille de ces dernires
Types de fichiers obligatoires et conventions de dnomination
Accs de lapplication aux icnes (mise en package des icnes avec lapplication, par exemple)
Spcification ou non des icnes dans un lment icon du fichier descripteur de lapplication
Comportement si lapplication ne fournit pas dicnes
Pour plus dinformations, consultez le constructeur du priphrique.

Paramtres ignors
Les applications pour priphriques TV ignorent les paramtres relatifs aux fonctionnalits dapplications mobiles, de
fentre native ou dun systme dexploitation de bureau. Les paramtres ignors sont les suivants :
allowBrowserInvocation
aspectRatio
autoOrients
customUpdateUI
fileTypes
height
installFolder
maximizable
maxSize
minimizable
minSize
programMenuFolder
renderMode
resizable
systemChrome
title
transparent
visible
width
x
y

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 151
Dveloppement dapplications AIR pour priphriques TV

Mise en package dune application AIR pour TV


Mise en package avec loutil ADT
Loutil de ligne de commande ADT AIR permet de mettre en package une application AIR pour TV. A partir de la
version 2.5 du kit SDK dAIR, ADT prend en charge la mise en package des priphriques AIR pour TV. Avant la mise
en package, compilez tout le code ActionScript et MXML. Vous devez galement disposer dun certificat de signature
du code. Pour crer un certificat, faites appel la commande ADT -certificate.
Pour consulter des informations de rfrence dtailles sur les commandes et options de loutil ADT, voir Outil AIR
Developer (ADT) la page 174.

Cration dun package AIR


La commande ADT package permet de crer un package AIR :
adt -package -storetype pkcs12 -keystore ../codesign.p12 myApp.air myApp-app.xml myApp.swf icons

Lexemple part du principe que :


Le chemin daccs loutil ADT figure dans la dfinition path de linterface de commande de ligne de commande.
(Voir Variables denvironnement path la page 321.)
Le certificat codesign.p12 rside dans le rpertoire parent partir duquel vous excutez la commande ADT.
Excutez la commande partir du rpertoire qui contient les fichiers de lapplication. Dans lexemple illustr, les
fichiers de lapplication sont myApp-app.xml (fichier descripteur de lapplication), myApp.swf et un rpertoire
dicnes.
Si vous excutez la commande comme indiqu, loutil ADT vous invite entrer le mot de passe associ au keystore.
Certaines interfaces de commande naffichent pas les caractres du mot de passe saisis. Appuyez simplement sur
Entre une fois la saisie termine. Vous disposez galement du paramtre storepass pour inclure le mot de passe dans
la commande ADT.

Cration dun package AIRN


Si lapplication AIR pour TV fait appel une extension native, crez un package AIRN plutt quun package AIR. Pour
crer un package AIRN, utilisez la commande ADT package en dfinissant le type cible sur airn.
adt -package -storetype pkcs12 -keystore ../codesign.p12 -target airn myApp.airn myApp-app.xml
myApp.swf icons -extdir C:\extensions

Lexemple part du principe que :


Le chemin daccs loutil ADT figure dans la dfinition path de linterface de commande de ligne de commande.
(Voir Variables denvironnement path la page 321.)
Le certificat codesign.p12 rside dans le rpertoire parent partir duquel vous excutez la commande ADT.
Le paramtre -extdir identifie le rpertoire qui contient les fichiers ANE utiliss par lapplication.
Ces fichiers ANE contiennent une version de simulation ou une implmentation uniquement temporaire de
lextension ActionScript. La version de lextension qui contient le code natif est installe sur le priphrique AIR
pour TV.
Excutez la commande partir du rpertoire qui contient les fichiers de lapplication. Dans lexemple illustr, les
fichiers de lapplication sont myApp-app.xml (fichier descripteur de lapplication), myApp.swf et un rpertoire
dicnes.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 152
Dveloppement dapplications AIR pour priphriques TV

Si vous excutez la commande comme indiqu, loutil ADT vous invite entrer le mot de passe associ au keystore.
Certaines interfaces de commande naffichent pas les caractres du mot de passe saisis. Appuyez simplement sur
Entre une fois la saisie termine. Vous disposez par ailleurs du paramtre storepass pour inclure le mot de passe
dans la commande.
Vous pouvez galement crer un fichier AIRI pour une application AIR pour TV qui fait appel des extensions natives.
Mise part labsence de signature, le fichier AIRI est identique au fichier AIRN. Exemple :
adt -prepare myApp.airi myApp.xml myApp.swf icons -extdir C:\extensions

Lorsque vous tes prt signer lapplication, vous pouvez ensuite crer un fichier AIRN partir du fichier AIRI :
adt -package -storetype pkcs12 -keystore ../codesign.p12 -target airn myApp.airn myApp.airi

Pour plus dinformations, voir Dveloppement dapplications natives pour Adobe AIR.

Mise en package dans Flash Builder ou Flash Professional


Flash Professional et Flash Builder permettent de publier ou dexporter des packages AIR sans avoir excuter vous-
mme loutil ADT. La documentation de ces programmes dcrit la procdure de cration dun package AIR
dapplication AIR.
Nanmoins, seul ADT peut actuellement crer des packages AIRN, les packages dapplication pour les applications
AIR pour TV qui font appel des extensions natives.
Pour plus dinformations, consulter les rfrences suivantes :
Cration de packages dapplication AIR
Publication pour Adobe Air

Dbogage dapplications AIR pour TV


Simulation de priphrique laide de lapplication ADL
La mthode la plus rapide et la plus simple pour tester et dboguer la plupart des fonctionnalits dune application
consiste excuter cette dernire sur lordinateur de dveloppement laide de lapplication de dbogage du lanceur
AIR (ADL).
Lapplication ADL utilise llment supportedProfiles du descripteur dapplication pour slectionner le profil
utiliser. Plus prcisment :
Si plusieurs profils sont recenss, lapplication ADL utilise le premier de la liste.
Vous disposez du paramtre -profile de lapplication ADL pour slectionner lun des autres profils de la liste
supportedProfiles.

Si le descripteur dapplication ne contient pas dlment supportedProfiles, vous pouvez spcifier nimporte
quel profil dans largument -profile.
Utilisez par exemple la commande suivante pour lancer une application de simulation du profil tv :
adl -profile tv myApp-app.xml

Si vous simulez le profil tv ou extendedTV sur le bureau laide de lapplication ADL, lapplication sexcute dans un
environnement plus proche dun priphrique cible. Exemple :
Les API ActionScript qui ne font pas partie du profil dans largument -profile ne sont pas disponibles.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 153
Dveloppement dapplications AIR pour priphriques TV

Lapplication ADL autorise la saisie de contrles dentre de priphriques, tels que les tlcommandes, par le biais
de commandes de menu.
En spcifiant tv ou extendedTV dans largument -profile, lapplication ADL est en mesure de simuler la classe
StageVideo sur le bureau.
Spcifier extendedTV dans largument -profile autorise lapplication utiliser des versions de simulation ou des
implmentations dextensions natives temporaires avec le fichier AIRN de lapplication.
Toutefois, tant donn que lapplication ADL excute lapplication sur le bureau, tester une application AIR pour TV
laide dADL est soumis certaines restrictions :
Cette mthode ne reflte pas les performances de lapplication sur le priphrique. Excutez des tests de
performance sur le priphrique cible.
Elle ne simule pas les restrictions de lobjet StageVideo. Vous utilisez gnralement la classe StageVideo au lieu de
la classe Video pour lire une vido si vous ciblez les priphriques AIR pour TV. La classe StageVideo exploite les
performances optimises du matriel du priphrique, mais souffre de restrictions au niveau de laffichage.
Lapplication ADL nest pas affecte par ces restrictions lorsquelle lit la vido sur le bureau. Testez par consquent
la lecture de la vido sur le priphrique cible.
Il est impossible de simuler le code natif dune extension native. Vous pouvez toutefois spcifier le profil
extendedTV, qui prend en charge les extensions natives, dans largument -profile de lapplication ADL.
Lapplication ADL permet de procder au test avec la version de simulation ou limplmentation uniquement
temporaire de lextension ActionScript intgre au package ANE. En rgle gnrale, lextension correspondante
installe sur le priphrique comprend toutefois galement du code natif. Pour procder au test en utilisant
lextension avec le code natif, excutez lapplication sur le priphrique cible.
Pour plus dinformations, voir Application de dbogage du lanceur AIR (ADL) la page 168.

Utilisation des extensions natives


Si lapplication fait appel des extensions natives, la commande ADL sapparente lexemple suivant :
adl -profile extendedTV -extdir C:\extensionDirs myApp-app.xml

Lexemple part du principe que :


Le chemin daccs lapplication ADL figure dans la dfinition path de linterface de commande de ligne de
commande. (Voir Variables denvironnement path la page 321.)
Le rpertoire actif contient les fichiers de lapplication. Ces fichiers incluent les fichiers SWF et le fichier descripteur
de lapplication (soit myApp-app.xml dans lexemple prsent).
Le paramtre -extdir identifie un rpertoire qui contient un sous-rpertoire par extension native utilise par
lapplication. Chacun de ces sous-rpertoires contient le fichier ANE extrait du package dune extension native.
Exemple :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 154
Dveloppement dapplications AIR pour priphriques TV

C:\extensionDirs
extension1.ane
META-INF
ANE
default
library.swf
extension.xml
signatures.xml
catalog.xml
library.swf
mimetype
extension2.ane
META-INF
ANE
default
library.swf
extension.xml
signatures.xml
catalog.xml
library.swf
mimetype

Ces fichiers ANE extraits du package contiennent une version de simulation ou une implmentation ActionScript
uniquement temporaire de lextension native. La version de lextension qui contient le code natif est installe sur le
priphrique AIR pour TV.
Pour plus dinformations, voir Dveloppement dapplications natives pour Adobe AIR.

Saisie de contrle
Lapplication ADL simule les boutons dune tlcommande sur un priphrique TV. Vous pouvez envoyer ces saisies
de bouton au priphrique simul laide du menu qui saffiche au lancement de lapplication ADL par le biais de lun
des profils TV.

Taille de lcran
Vous pouvez tester lapplication sur des crans de diverses tailles en dfinissant le paramtre ADL -screensize. Vous
pouvez spcifier une chane contenant les quatre valeurs qui reprsentent la largeur et la hauteur des crans standard
et agrandis.
Veillez toujours spcifier les dimensions (en pixels) correspondant au format Portrait, cest--dire de spcifier une
valeur de largeur infrieure la valeur de hauteur. Exemple :
adl -screensize 728x1024:768x1024 myApp-app.xml

Instructions trace
Si vous excutez lapplication TV sur le bureau, la sortie trace est imprime sur le dbogueur ou la fentre du terminal
utilis pour le lancement de lapplication ADL.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 155
Dveloppement dapplications AIR pour priphriques TV

Dbogage distance avec Flash Professional


Vous pouvez dboguer distance lapplication AIR pour TV laide de Flash Professional lorsquelle sexcute sur le
priphrique cible. La procdure de configuration du dbogage distance varie toutefois selon le priphrique. Le kit
de dveloppement pour matriel MAX 2010 dAdobe AIR pour TV contient par exemple des instructions dtailles
relatives au priphrique.
Quel que soit le priphrique cible utilis, procdez comme suit pour prparer le dbogage distance :
1 Sur longlet Flash de la bote de dialogue Paramtres de publication, slectionnez Autoriser le dbogage.
Cette option permet Flash Professional dinclure des informations de dbogage dans tous les fichiers SWF crs
partir du fichier FLA.
2 Dans longlet Signature de la bote de dialogue Paramtres dAdobe AIR (Paramtres de lapplication Adobe AIR
et du programme dinstallation), slectionnez loption de prparation dun fichier AIR Intermediate (AIRI).
Si votre application est toujours en cours de dveloppement, lutilisation dun fichier AIRI, qui ne ncessite aucune
signature numrique, est suffisante.
3 Publiez lapplication en crant le fichier AIRI.
Les dernires tapes de la procdure consistent installer et excuter lapplication sur le priphrique cible. Elles
varient toutefois selon le priphrique.

Dbogage distance avec Flash Builder


Vous pouvez dboguer distance lapplication AIR pour TV laide de Flash Builder lorsquelle sexcute sur le
priphrique cible. La procdure de configuration du dbogage distance varie toutefois selon le priphrique.
Quel que soit le priphrique cible utilis, procdez comme suit pour prparer le dbogage distance :
1 Slectionnez Projet > Exporter vers une version valide. Slectionnez loption de prparation dun fichier AIR
Intermediate (AIRI).
Si votre application est toujours en cours de dveloppement, lutilisation dun fichier AIRI, qui ne ncessite aucune
signature numrique, est suffisante.
2 Publiez lapplication en crant le fichier AIRI.
3 Modifiez le package AIRI de lapplication de sorte quil contienne les fichiers SWF qui stockent les informations de
dbogage.
Les fichiers SWF qui contiennent les informations de dbogage rsident dans le sous-rpertoire bin-debug du
rpertoire de projet Flash Builder de lapplication. Remplacez les fichiers SWF du package AIRI par les fichiers SWF
du sous-rpertoire bin-debug.
Sur une machine de dveloppement Windows, procdez comme suit pour effectuer ce remplacement :
1 Remplacez lextension .airi du fichier du package AIRI par lextension.zip.
2 Extrayez le contenu du fichier ZIP.
3 Remplacez les fichiers SWF de la structure de rpertoire par les fichiers du dossier bin-debug.
4 Recompressez les fichiers dans le rpertoire extrait.
5 Affectez nouveau lextension .airi au fichier compress.
Sur une machine de dveloppement Mac, la procdure de remplacement varie selon le priphrique. En rgle gnrale,
elle comprend toutefois les tapes suivantes :
1 Installation du package AIRI sur le priphrique cible

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 156
Dveloppement dapplications AIR pour priphriques TV

2 Remplacement des fichiers SWF rsidant dans le rpertoire dinstallation de lapplication sur le priphrique cible
par les fichiers SWF issus du sous-rpertoire bin-debug
Prenons lexemple du priphrique inclus dans le kit de dveloppement pour matriel MAX 2010 dAdobe AIR
pour TV. Installez le package AIRI comme indiqu dans la documentation du kit de dveloppement. Accdez
ensuite au priphrique cible laide de telnet sur la ligne de commande de la machine de dveloppement Mac.
Remplacez les fichiers SWF du rpertoire dinstallation de lapplication (/opt/adobe/stagecraft/apps/<nom
application>/) par les fichiers SWF issus du sous-rpertoire bin-debug.
La procdure suivante permet de dboguer distance une application laide de Flash Builder et du priphrique
associ au kit de dveloppement pour matriel MAX 2010 dAdobe AIR pour TV.
1 Sur lordinateur qui excute Flash Builder (lordinateur de dveloppement), excutez le connecteur de priphrique
dAIR pour TV fourni avec le kit de dveloppement pour matriel MAX 2010. Elle indique ladresse IP de
lordinateur de dveloppement.
2 Sur le priphrique associ au kit de dveloppement pour matriel, lancez lapplication DevMaster, galement
intgre ce dernier.
3 Dans lapplication DevMaster, entrez ladresse IP de lordinateur de dveloppement indique dans le connecteur de
priphrique dAIR pour TV.
4 Dans lapplication DevMaster, veillez slectionner loption dactivation du dbogage distance.
5 Quittez lapplication DevMaster.
6 Sur lordinateur de dveloppement, slectionnez Dmarrer dans le connecteur de priphrique dAIR pour TV.
7 Sur le priphrique associ au kit de dveloppement, dmarrez une autre application. Vrifiez que des informations
de trace sont affiches dans le connecteur de priphrique dAIR pour TV.
Si aucune information de trace nest affiche, lordinateur de dveloppement et le priphrique associ au kit de
dveloppement ne sont pas connects. Assurez-vous que le port de lordinateur de dveloppement utilis pour les
informations de trace est disponible. Vous pouvez slectionner un autre port dans le connecteur de priphrique
dAIR pour TV. Veillez galement ce que le pare-feu autorise laccs au port slectionn.
Dmarrez ensuite le dbogueur dans Flash Builder. Procdez comme suit :
1 Dans Flash Builder, slectionnez Excuter > Dboguer les configurations.
2 Dans la configuration de dbogage existante, qui est adapte un dbogage local, copiez le nom du projet.
3 Dans la bote de dialogue Dboguer les configurations, slectionnez Application Web. Slectionnez ensuite licne
Crer une configuration de lancement.
4 Collez le nom du projet dans le champ Projet.
5 Dans la section URL ou chemin lancer, dsactivez loption Utiliser la valeur par dfaut. Saisissez galement
about:blank dans le champ de texte.

6 Slectionnez Appliquer pour enregistrer les modifications.


7 Slectionnez Dboguer pour dmarrer le dbogueur Flash Builder.
8 Dmarrez lapplication sur le priphrique associ au kit de dveloppement.
A laide du dbogueur Flash Builder, vous pouvez prsent dfinir des points darrt ou examiner des variables, par
exemple.

Dernire mise jour le 6/3/2017


157

Chapitre 9 : Utilisation dextensions


natives pour Adobe AIR
Les extensions natives pour Adobe AIR fournissent des API ActionScript permettant daccder des fonctionnalits
propres aux priphriques programmes en code natif. Bien quils puissent tre indpendants, les dveloppeurs
dextensions natives collaborent parfois avec les fabricants des priphriques.
Si vous dveloppez une extension native, consultez le document Dveloppement dextensions natives pour Adobe AIR.
Une extension native est une combinaison de :
Classes ActionScript.
Code natif.
Nanmoins, en tant que dveloppeur dapplications AIR faisant appel une extension native, vous utilisez
exclusivement les classes ActionScript.
Les extensions natives sont utiles dans les cas suivants :
Limplmentation du code natif permet daccder des fonctions propres la plate-forme. Ces fonctions propres
la plate-forme ne sont pas disponibles dans les classes ActionScript intgres. Il est en outre impossible de les
implmenter dans des classes ActionScript propres lapplication. Limplmentation du code natif peut fournir
cette fonctionnalit, car elle a accs au matriel et aux logiciels propres au priphrique.
Une implmentation de code natif peut parfois savrer plus rapide quune implmentation qui utilise uniquement
ActionScript.
Grce limplmentation du code natif, ActionScript peut accder au code natif hrit.
Vous trouverez des exemples dextensions natives sur le Ple de dveloppement Adobe. Par exemple, une extension
native permet aux applications AIR daccder la fonction de vibration dAndroid. Voir Extensions natives pour
Adobe AIR.

Fichiers AIR Native Extension (ANE)


Les dveloppeurs dextensions natives mettent en package une extension native dans un fichier ANE. Un fichier ANE
est un fichier archive qui contient les bibliothques et les ressources ncessaires lextension native.
Notez que pour certains priphriques, le fichier ANE contient la bibliothque de code natif quutilise lextension
native. Pour dautres, la bibliothque de code natif est installe sur le priphrique. Dans certains cas, lextension native
ne possde pas de code natif pour un priphrique donn, elle est implmente avec ActionScript uniquement.
En tant que dveloppeur dapplications AIR, vous devez utiliser le fichier ANE de la manire suivante :
Ajoutez le fichier ANE au chemin daccs la bibliothque de lapplication de la mme faon que vous ajoutez un
fichier SWC au chemin daccs la bibliothque. Cette action permet lapplication de rfrencer les classes
ActionScript de lextension.
Remarque : lorsque vous compilez votre application, veillez utiliser la liaison dynamique pour le fichier ANE. Si
vous utilisez Flash Builder, spcifiez Externe dans le panneau des proprits du chemin de gnration ActionScript ; si
vous utilisez la ligne de commande, spcifiez -external-library-path.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 158
Utilisation dextensions natives pour Adobe AIR

Mettez en package le fichier ANE avec lapplication AIR.

Extensions natives ou classe NativeProcess


ActionScript ?
ActionScript 3.0 fournit une classe NativeProcess. Cette classe permet une application AIR dexcuter des processus
natifs sur le systme dexploitation hte. Cette fonctionnalit est similaire aux extensions natives, qui permettent
daccder aux fonctions et aux bibliothques propres la plate-forme. Si vous hsitez entre lutilisation de la classe
NativeProcess et lutilisation dune extension native, tenez compte des points suivants :
Seul le profil AIR extendedDesktop prend en charge la classe NativeProcess. Ainsi, pour les applications dotes
des profils AIR mobileDevice et extendedMobileDevice, les extensions natives constituent la seule option.
Les dveloppeurs dextensions natives proposent souvent des implmentations natives pour diverses plates-formes,
mais lAPI ActionScript quils fournissent est gnralement la mme sur toutes les plates-formes. Lors de
lutilisation de la classe NativeProcess, le code ActionScript permettant de lancer le processus natif peut varier selon
les plates-formes.
La classe NativeProcess lance un processus distinct, tandis que lextension native excute le mme processus que
lapplication AIR. Par consquent, si le blocage de code vous proccupe, utilisez la classe NativeProcess pour plus
de scurit. Un processus distinct signifie nanmoins que vous devrez probablement grer la communication entre
les processus.

Extensions natives ou bibliothques de classes


ActionScript (fichiers SWC) ?
Un fichier SWC est une bibliothque de classes ActionScript dans un format darchive. Le fichier SWC contient un
fichier SWF et dautres fichiers de ressources. Le fichier SWC permet de partager des classes ActionScript au lieu de
partager du code ActionScript et des fichiers de ressources individuels.
Un package dextensions natives est un fichier ANE. linstar dun fichier SWC, un fichier ANE est une bibliothque
de classes ActionScript contenant un fichier SWF et dautres fichiers de ressources dans un format darchive.
Toutefois, la principale diffrence entre un fichier ANE et un fichier SWC est que seul le fichier ANE peut contenir
une bibliothque de code natif.
Remarque : lorsque vous compilez votre application, veillez utiliser la liaison dynamique pour le fichier ANE. Si vous
utilisez Flash Builder, spcifiez Externe dans le panneau des proprits du chemin de gnration ActionScript ; si vous
utilisez la ligne de commande, spcifiez -external-library-path.

Voir aussi
A propos des fichiers SWC

Priphriques pris en charge


A partir dAIR 3, vous pouvez utiliser des extensions natives dans les applications pour les priphriques suivants :
Priphriques Android, partir dAndroid 2.2

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 159
Utilisation dextensions natives pour Adobe AIR

Priphriques iOS, partir diOS 4.0


Simulateur iOS, partir dAIR 3.3
Blackberry Playbook
Priphriques de bureau Windows prenant en charge AIR 3.0
Priphriques de bureau Mac OS X prenant en charge AIR 3.0
Il nest pas rare que la mme extension native cible plusieurs plates-formes. Le fichier ANE de lextension contient les
bibliothques ActionScript et les bibliothques natives pour chaque plate-forme prise en charge. En rgle gnrale, les
bibliothques ActionScript disposent des mmes interfaces publiques pour toutes les plates-formes. Les bibliothques
natives sont ncessairement diffrentes.
Une extension native prend parfois en charge une plate-forme par dfaut. Limplmentation de la plate-forme par
dfaut possde uniquement du code ActionScript. Si vous mettez en package une application pour une plate-forme
que lextension ne prend pas spcifiquement en charge, lapplication fait appel limplmentation par dfaut lors de
son excution. Par exemple, prenez le cas dune extension disposant dune fonction qui sapplique uniquement aux
priphriques mobiles. Lextension peut galement fournir une implmentation par dfaut laquelle peut faire appel
une application de bureau pour simuler cette fonction.

Profils de priphrique pris en charge


Les profils AIR suivants prennent en charge les extensions natives :
extendedDesktop, partir dAIR 3.0

mobileDevice, partir dAIR 3.0

extendedMobileDevice, partir dAIR 3.0

Voir aussi
Prise en charge du profil AIR

Liste de tches pour lutilisation dune extension native


Pour utiliser une extension native dans votre application, procdez de la faon suivante :
1 Dclarez lextension dans le fichier descripteur de votre application.
2 Ajoutez le fichier ANE au chemin daccs la bibliothque de lapplication.
3 Mettez en package lapplication.

Dclaration de lextension dans le fichier descripteur de


lapplication
Toutes les applications AIR possdent un fichier descripteur de lapplication. Lorsquune application utilise une
extension native, le fichier descripteur de lapplication inclut un lment <extensions>. Exemple :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 160
Utilisation dextensions natives pour Adobe AIR

<extensions>
<extensionID>com.example.Extension1</extensionID>
<extensionID>com.example.Extension2</extensionID>
</extensions>

La valeur de llment extensionID est identique celle de llment id dans le fichier descripteur de lextension. Le
fichier descripteur de lextension est un fichier XML appel extension.xml. Il est mis en package dans le fichier ANE.
Vous pouvez utiliser un outil dextraction pour accder au fichier extension.xml.

Ajout du fichier ANE au chemin daccs la bibliothque


de lapplication
Pour compiler une application qui utilise une extension native, ajoutez le fichier ANE au chemin daccs la
bibliothque.

Utilisation du fichier ANE avec Flash Builder


Si votre application a recours une extension native, ajoutez le fichier ANE associ au chemin daccs la bibliothque.
Vous pouvez ensuite compiler le code ActionScript laide de Flash Builder.
Suivez les tapes ci-dessous, qui font appel Flash Builder 4.5.1 :
1 Remplacez lextension du fichier ANE, .ane, par .swc. Cette tape est ncessaire afin que Flash Builder puisse
trouver le fichier.
2 Slectionnez Projet > Proprits pour le projet Flash Builder.
3 Slectionnez Chemin de cration Flex dans la bote de dialogue Proprits.
4 Dans longlet Chemin daccs la bibliothque, slectionnez Ajouter un fichier SWC...
5 Accdez au fichier SWC et slectionnez Ouvrir.
6 Cliquez sur OK dans la bote de dialogue Ajouter un fichier SWC...
Le fichier ANE apparat prsent dans longlet du chemin daccs la bibliothque de la bote de dialogue
Proprits.
7 Dveloppez lentre relative au fichier SWC. Double-cliquez sur Type de lien pour ouvrir la bote de dialogue
Options de llment de chemin daccs la bibliothque.
8 Dans la bote de dialogue Options de llment de chemin daccs la bibliothque, slectionnez le type de lien
Externe.
Vous pouvez prsent compiler lapplication laide de Projet > Gnrer le projet, par exemple.

Utilisation du fichier ANE avec Flash Professional


Si votre application a recours une extension native, ajoutez le fichier ANE associ au chemin daccs la bibliothque.
Vous pouvez ensuite compiler le code ActionScript laide de Flash Professional CS5.5. Procdez comme suit :
1 Remplacez lextension du fichier ANE, .ane, par .swc. Cette tape est ncessaire afin que Flash Professional puisse
trouver le fichier.
2 Slectionnez Fichier > Paramtres dActionScript pour le fichier FLA.
3 Dans la bote de dialogue Paramtres avancs dActionScript 3.0, slectionnez longlet Chemin bibliothque.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 161
Utilisation dextensions natives pour Adobe AIR

4 Cliquez sur le bouton Localiser le fichier SWC.


5 Accdez au fichier SWC et slectionnez Ouvrir.
Le fichier SWC figure prsent dans longlet Chemin bibliothque de la bote de dialogue Paramtres avancs
dActionScript 3.0.
6 Aprs avoir slectionn le fichier SWC, slectionnez le bouton Dfinir les options de liaison dune bibliothque.
7 Dans la bote de dialogue Options de llment de chemin daccs la bibliothque, slectionnez le type de lien
Externe.

Mise en package dune application faisant appel des


extensions natives
Utilisez loutil AIR Developer (ADT) pour mettre en package une application faisant appel des extensions natives.
Vous ne pouvez pas mettre en package lapplication avec Flash Professional CS5.5 ou Flash Builder 4.5.1.
Pour plus dinformations sur lutilisation dADT, voir Outil AIR Developer (ADT).
Par exemple, la commande dADT suivante cre un fichier DMG (fichier de programme dinstallation natif pour Mac
OS X) pour une application faisant appel des extensions natives :
adt -package
-storetype pkcs12
-keystore myCert.pfx
-target native
myApp.dmg
application.xml
index.html resources
-extdir extensionsDir

La commande suivante cr un package APK pour un priphrique Android :


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

La commande suivante cre un package iOS pour une application iPhone :


adt -package
-target ipa-ad-hoc
-storetype pkcs12 -keystore ../AppleDistribution.p12
-provisioning-profile AppleDistribution.mobileprofile
myApp.ipa
myApp-app.xml
myApp.swf icons Default.png
-extdir extensionsDir

Remarques importantes :
Utilisez un package de type programme dinstallation natif.
Spcifiez le rpertoire de lextension.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 162
Utilisation dextensions natives pour Adobe AIR

Assurez-vous que le fichier ANE prend en charge le priphrique cible de lapplication.

Utilisation dun package de type programme dinstallation natif


Le package dapplication doit tre un programme dinstallation natif. Vous ne pouvez pas crer un package AIR
multiplateformes (un package .air) pour une application faisant appel une extension native, car les extensions natives
contiennent gnralement du code natif. En revanche, une extension native prend gnralement en charge plusieurs
plates-formes natives avec les mmes API ActionScript. Dans ces cas, vous pouvez recourir au mme fichier ANE dans
plusieurs packages de programmes dinstallation natifs.
Le tableau suivant rcapitule la valeur utiliser pour loption -target de la commande dADT :

Plate-forme cible de lapplication -target

Priphriques de bureau Mac OS X ou Windows -target native

-target bundle

Android -target apk

ou autres cibles de package Android.

iOS -target ipa-ad-hoc

ou autres cibles de package iOS

Simulateur iOS -target ipa-test-interpreter-simulator

-target ipa-debug-interpreter-simulator

Spcification du rpertoire de lextension


Utilisez loption dADT -extdir pour indiquer loutil ADT le rpertoire contenant les extensions natives (fichiers ANE).
Pour plus dinformations sur cette option, voir Options associes aux fichiers et chemins la page 191.

Vrification de la prise en charge du priphrique cible de lapplication par le


fichier ANE
Lorsquil fournit un fichier ANE, le dveloppeur de lextension native vous indique les plates-formes prises en charge
par lextension. Vous pouvez galement utiliser un outil dextraction pour accder au contenu du fichier ANE. Les
fichiers extraits comprennent un rpertoire pour chaque plate-forme prise en charge.
Il est important de connatre les plates-formes prises en charge par lextension lors de la mise en package de
lapplication qui utilise le fichier ANE. Tenez compte des rgles suivantes :
Pour crer un package dapplication Android, le fichier ANE doit inclure la plate-forme Android-ARM. Par ailleurs,
le fichier ANE doit inclure la plate-forme par dfaut et au moins une autre plate-forme.
Pour crer un package dapplication iOS, le fichier ANE doit inclure la plate-forme iPhone-ARM. Par ailleurs, le
fichier ANE doit inclure la plate-forme par dfaut et au moins une autre plate-forme.
Pour crer un package de lapplication Simulateur iOS, le fichier ANE doit inclure la plate-forme iPhone-x86.
Pour crer un package dapplication Mac OS X, le fichier ANE doit inclure la plate-forme MacOS-x86 . Par ailleurs,
le fichier ANE doit inclure la plate-forme par dfaut et au moins une autre plate-forme.
Pour crer un package dapplication Windows, le fichier ANE doit inclure la plate-forme Windows-x86 . Par
ailleurs, le fichier ANE doit inclure la plate-forme par dfaut et au moins une autre plate-forme.

Dernire mise jour le 6/3/2017


163

Chapitre 10 : Compilateurs ActionScript


Pour pouvoir inclure du code ActionScript et MXML dans une application AIR, vous devez le compiler. Si vous utilisez
un IDE (Integrated Development Environment), tel quAdobe Flash Builder ou Adobe Flash Professional, il gre la
compilation en arrire-plan. Si vous ne faites pas appel un IDE ou que vous utilisez un script de cration, vous pouvez
toutefois appeler les compilateurs ActionScript partir de la ligne de commande pour crer des fichiers SWF.

Prsentation des outils de ligne de commande dAIR


intgrs au kit SDK Flex
Chaque outil de ligne de commande que vous utilisez pour crer une application AIR appelle loutil de cration
dapplications correspondant :
amxmlc appelle mxmlc pour compiler les classes dapplication.
acompc appelle compc pour compiler les classes de bibliothque et de composant.
aasdoc appelle asdoc pour gnrer des fichiers de documentation partir des commentaires du code source.
La seule diffrence entre les versions AIR et Flex des outils, cest que la version AIR charge les options de configuration
partir du fichier air-config.xml et non du fichier flex-config.xml
Les outils du kit SDK Flex et leurs options de ligne de commande sont dcrits en dtail dans la Documentation Flex.
Les outils du kit SDK de Flex sont dcrits dans les grandes lignes, afin de vous permettre de vous familiariser avec eux
et de mettre en vidence les diffrences entre la cration dapplications Flex et la cration dapplications AIR.

Voir aussi
Cration dune premire application de bureau AIR laide du kit SDK de Flex la page 38

Configuration des compilateurs


En rgle gnrale, vous spcifiez les options de compilation sur la ligne de commande et par le biais dun ou de
plusieurs fichiers de configuration. Le fichier de configuration global du kit SDK Flex contient les valeurs par dfaut
utilises chaque excution des compilateurs. Vous pouvez le modifier en fonction de votre environnement de
dveloppement. Le rpertoire frameworks de linstallation du kit SDK Flex contient deux fichiers de configuration Flex
globaux. Utilisez le fichier air-config.xml lorsque vous excutez le compilateur amxmlc. Il configure le compilateur
pour AIR en incluant les bibliothques AIR. Utilisez le fichier flex-config.xml lorsque vous excutez mxmlc.
Les valeurs de configuration par dfaut sont adaptes pour sinitier au fonctionnement de Flex et AIR. Lorsque vous
vous lancez dans un projet de grande envergure, examinez plus en dtail toutes les options disponibles. Vous pouvez
dfinir des valeurs propres un projet pour les options de compilation dans un fichier de configuration local, qui est
prioritaire sur les valeurs globales dans tout projet donn.
Remarque : aucune option de compilation ne sutilise spcifiquement pour les applications AIR. Vous devez cependant
rfrencer les bibliothques AIR lors de la compilation dune application AIR. En rgle gnrale, ces bibliothques sont
rfrences dans un fichier de configuration au niveau du projet, dans un fichier rserv un outil de cration tel quAnt
ou directement sur la ligne de commande.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 164
Compilateurs ActionScript

Compilation de fichiers sources MXML et ActionScript


pour AIR
Vous avez la possibilit de compiler les actifs Adobe ActionScript 3.0 et MXML de lapplication AIR laide du
compilateur MXML de ligne de commande (amxmlc). (Il est inutile de compiler les applications HTML. Pour
compiler un fichier SWF dans Flash Professional, il suffit de publier le clip dans un fichier SWF.)
Pour appeler amxmlc, utilisez la syntaxe de ligne de commande de base suivante :
amxmlc [compiler options] -- MyAIRApp.mxml

o [compiler options] indique les options de ligne de commande utilises pour compiler lapplication AIR.
La commande amxmlc appelle le compilateur mxmlc Flex standard avec un paramtre supplmentaire,
+configname=air. Ce paramtre indique au compilateur dutiliser le fichier air-config.xml la place du fichier flex-
config.xml. Mise part cette diffrence, lemploi damxmlc est en tout point identique celui de mxmlc.
Le compilateur charge le fichier de configuration air-config.xml indiquant les bibliothques AIR et Flex gnralement
requises pour compiler une application AIR. Une autre solution consiste utiliser un fichier de configuration local, de
niveau projet, destin remplacer des options disponibles dans la configuration globale ou lui en ajouter dautres.
En gnral, le moyen le plus simple de crer un fichier de configuration local consiste modifier une copie de la version
globale. Vous pouvez charger le fichier local laide de loption -load-config :
-load-config=project-config.xml Remplace les options globales.
-load-config+=project-config.xml Ajoute des valeurs supplmentaires aux options globales admettant plus dune
valeur, telles que loption -library-path. Les options globales admettant une seule valeur sont remplaces.
Si vous appliquez une convention dappellation spciale aux fichiers de configuration, le compilateur amxmlc charge
automatiquement le fichier local. Si, par exemple, le fichier MXML principal sintitule RunningMan.mxml, nommez le
fichier de configuration local RunningMan-config.xml. A prsent, pour compiler lapplication, vous devez
uniquement saisir :
amxmlc RunningMan.mxml

RunningMan-config.xml est charg automatiquement, car son nom de fichier correspond celui du fichier MXML
compil.

Exemples dutilisation du compilateur amxmlc


Les exemples suivants illustrent lutilisation du compilateur amxmlc. (Seules les ressources ActionScript et MXML de
lapplication doivent tre compiles.)
Compilation dun fichier MXML AIR :
amxmlc myApp.mxml

Compilation et dfinition dun nom de sortie :


amxmlc output anApp.swf -- myApp.mxml

Compilation dun fichier ActionScript AIR :


amxmlc myApp.as

Spcification dun fichier de configuration pour le compilateur :


amxmlc load-config config.xml -- myApp.mxml

Ajout doptions supplmentaires provenant dun autre fichier de configuration :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 165
Compilateurs ActionScript

amxmlc load-config+=moreConfig.xml -- myApp.mxml

Ajout de bibliothques sur la ligne de commande (en plus des bibliothques dj prsentes dans le fichier de
configuration) :
amxmlc library-path+=/libs/libOne.swc,/libs/libTwo.swc -- myApp.mxml

Compilation dun fichier MXML AIR sans recourir un fichier de configuration (Win) :
mxmlc -library-path [AIR SDK]/frameworks/libs/air/airframework.swc, ^
[AIR SDK]/frameworks/libs/air/airframework.swc, ^
-library-path [Flex SDK]/frameworks/libs/framework.swc ^
-- myApp.mxml

Compilation dun fichier MXML AIR sans recourir un fichier de configuration (Mac OS X ou Linux) :
mxmlc -library-path [AIR SDK]/frameworks/libs/air/airframework.swc, \
[AIR SDK]/frameworks/libs/air/airframework.swc, \
-library-path [Flex 3 SDK]/frameworks/libs/framework.swc \
-- myApp.mxml

Compilation dun fichier MXML AIR afin dutiliser une bibliothque partage lexcution :
amxmlc -external-library-path+=../lib/myLib.swc -runtime-shared-libraries=myrsl.swf --
myApp.mxml

Compilez un fichier MXML AIR pour utiliser un fichier ANE (veillez utiliser -external-library-path pour le
fichier ANE) :
amxmlc -external-library-path+=../lib/myANE.ane -output=myAneApp.swf -- myAneApp.mxml

Compilation partir du code Java (dont le chemin de classe est dfini de manire inclure mxmlc.jar) :
java flex2.tools.Compiler +flexlib [Flex SDK 3]/frameworks +configname=air [additional
compiler options] -- myApp.mxml

Loption flexlib identifie lemplacement du rpertoire des structures SDK Flex, ce qui permet au compilateur de
localiser le fichier flex_config.xml.
Compilation partir du code Java (sans chemin de classe dfini) :
java -jar [Flex SDK 2]/lib/mxmlc.jar +flexlib [Flex SDK 3]/frameworks +configname=air
[additional compiler options] -- myApp.mxml

Pour appeler le compilateur via Apache Ant (une tche Java est utilise dans cet exemple pour excuter mxmlc.jar) :
<property name="SDK_HOME" value="C:/Flex46SDK"/>
<property name="MAIN_SOURCE_FILE" value="src/myApp.mxml"/>
<property name="DEBUG" value="true"/>
<target name="compile">
<java jar="${MXMLC.JAR}" fork="true" failonerror="true">
<arg value="-debug=${DEBUG}"/>
<arg value="+flexlib=${SDK_HOME}/frameworks"/>
<arg value="+configname=air"/>
<arg value="-file-specs=${MAIN_SOURCE_FILE}"/>
</java>
</target>

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 166
Compilateurs ActionScript

Compilation dun composant ou dune bibliothque de


code AIR (Flex)
Servez-vous du compilateur de composants (acompc) afin de compiler des bibliothques et des composants
indpendants AIR. Le compilateur de composants acompc se comporte comme le compilateur amxmlc, lexception
des points suivants :
Vous devez spcifier les classes au sein de la base de code inclure dans la bibliothque ou le composant.
acompc ne recherche pas automatiquement un fichier de configuration local. Pour utiliser un fichier de
configuration de projet, vous devez spcifier loption load-config.
La commande acompc appelle le compilateur de composants compc Flex standard, mais elle charge ses options de
configuration partir du fichier air-config.xml au lieu du fichier flex-config.xml.

Fichier de configuration du compilateur de composants


Faites appel un fichier de configuration local afin dviter de saisir (et peut-tre de mal orthographier) le chemin
source et les noms de classes sur la ligne de commande. Insrez loption -load-config la ligne de commande acompc
afin de charger le fichier de configuration local.
Lexemple suivant illustre une configuration de dveloppement dune bibliothque dote de deux classes,
ParticleManager et Particle, toutes deux contenues dans le package com.adobe.samples.particles. Les fichiers de
classe se trouvent dans le dossier source/com/adobe/samples/particles.
<flex-config>
<compiler>
<source-path>
<path-element>source</path-element>
</source-path>
</compiler>
<include-classes>
<class>com.adobe.samples.particles.ParticleManager</class>
<class>com.adobe.samples.particles.Particle</class>
</include-classes>
</flex-config>

Pour compiler la bibliothque laide du fichier de configuration intitul ParticleLib-config.xml, saisissez :


acompc -load-config ParticleLib-config.xml -output ParticleLib.swc

Pour excuter la mme commande uniquement sur la ligne de commande, saisissez :


acompc -source-path source -include-classes com.adobe.samples.particles.Particle
com.adobe.samples.particles.ParticleManager -output ParticleLib.swc

(Tapez la commande entire sur une ligne ou utilisez le caractre de suite de ligne sur le shell de commande.)

Exemples utilisant acompc


Dans ces exemples, il est suppos que vous utilisez un fichier de configuration intitul myLib-config.xml.
Compilation dun composant ou dune bibliothque AIR :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 167
Compilateurs ActionScript

acompc -load-config myLib-config.xml -output lib/myLib.swc

Compilation dune bibliothque partage lexcution :


acompc -load-config myLib-config.xml -directory -output lib

(Notez quavant dexcuter la commande, vous devez vrifier que le dossier lib existe et quil est vide.)

Dernire mise jour le 6/3/2017


168

Chapitre 11 : Application de dbogage du


lanceur AIR (ADL)
Lapplication de dbogage du lanceur AIR (ADL) permet dexcuter la fois des applications SWF et HTML lors de la
phase de dveloppement. Grce ADL, vous pouvez excuter une application sans la mettre en package et linstaller
au pralable. Par dfaut, ADL utilise un moteur dexcution fourni avec le kit SDK. Autrement dit, il est inutile
dinstaller le moteur dexcution sparment pour se servir dADL.
ADL imprime les instructions trace et les erreurs dexcution au format de sortie standard, mais ne prend pas en charge
les points darrt ou dautres fonctions de dbogage. Vous pouvez utiliser loutil Flash Debugger (ou un environnement
de dveloppement intgr tel que Flash Builder) pour rsoudre les problmes plus complexes.
Remarque : si vos instructions trace() ne saffichent pas sur la console, assurez-vous de ne pas avoir spcifi
ErrorReportingEnable ou TraceOutputFileEnable dans le fichier mm.cfg. Pour plus dinformations sur
lemplacement propre la plate-forme de ce fichier, voir Modification du fichier mm.cfg.
AIR prend directement en charge le dbogage. Vous navez donc pas besoin dune version de dbogage du moteur
dexcution (contrairement Adobe Flash Player). Pour effectuer le dbogage sur la ligne de commande, vous utilisez
le dbogueur de Flash et lapplication de dbogage du lanceur AIR (ADL).
Le dbogueur de Flash est distribu dans le rpertoire du kit SDK Flex. Les versions natives, telles que fdb.exe sous
Windows, rsident dans le sous-rpertoire bin. La version Java se trouve dans le sous-rpertoire lib. Lapplication de
dbogage du lanceur AIR (ADL), adl.exe, figure dans le rpertoire bin de linstallation du kit SDK Flex (il nexiste pas
de version propre Java).
Remarque : il est impossible de dmarrer une application AIR directement laide du dbogueur de Flash (fdb), car celui-
ci tente de la lancer laide de Flash Player. Laissez plutt lapplication AIR se connecter une session fdb en cours.

Utilisation de lapplication ADL


Pour excuter une application laide dADL, utilisez la syntaxe suivante :
adl application.xml

o application.xml est le fichier descripteur de lapplication.


La syntaxe complte dADL est la suivante :
adl [-runtime runtime-directory]
[-pubid publisher-id]
[-nodebug]
[-atlogin]
[-profile profileName]
[-screensize value]
[-extdir extension-directory]
application.xml
[root-directory]
[-- arguments]

(Les lments entre crochets, [], sont facultatifs.)

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 169
Application de dbogage du lanceur AIR (ADL)

-runtime RpertoireMoteurExcution Indique le rpertoire contenant le moteur dexcution utiliser. Si vous ne le


prcisez pas, le rpertoire du moteur dexcution situ dans le mme kit SDK que le programme ADL est utilis. Si vous
dplacez ADL hors de son dossier SDK, spcifiez le rpertoire du moteur dexcution. Sous Windows et Linux,
indiquez le rpertoire contenant le dossier Adobe AIR. Sous Mac OS X, spcifiez le rpertoire contenant
Adobe AIR.framework.

-pubid IdentifiantEditeur Affecte la valeur indique comme identifiant dditeur de lapplication AIR pour cette
excution. Lutilisation dun ID dditeur temporaire vous permet de tester les fonctions dune application AIR (telles
que la communication via une connexion locale) ncessitant ce type didentifiant afin didentifier une application de
manire unique. Depuis la version 1.5.3 dAIR, vous pouvez galement stipuler lidentifiant dditeur dans le fichier
descripteur de lapplication (nutilisez donc pas ce paramtre).
Remarque : depuis la version 1.5.3 dAIR, un identifiant dditeur nest plus automatiquement calcul et affect une
application AIR. Vous pouvez stipuler un identifiant dditeur lorsque vous crez une mise jour dapplication AIR
existante, mais les nouvelles applications ne ncessitent pas - et ne devraient pas comporter - didentifiant dditeur.
-nodebug Dsactive la prise en charge du dbogage. Si cette option est utilise, le processus de lapplication ne peut
pas se connecter au programme Flash Debugger et les botes de dialogue relatives aux exceptions non gres sont
masques. (Toutefois, les instructions trace sont toujours imprimes dans la fentre de la console.) La dsactivation de
la fonction de dbogage permet dacclrer lexcution de votre application et dmuler plus troitement le mode
dexcution dune application installe.
-atlogin Simule le lancement de lapplication lors de la connexion. Cet indicateur permet de tester la logique
applicative qui sexcute uniquement lorsquune application est configure de sorte dmarrer lorsque lutilisateur se
connecte. Lors de lutilisation de -atlogin, la proprit reason de lobjet InvokeEvent envoye lapplication
correspond login, et non standard ( moins que lapplication soit dj en cours dexcution).
-profile NomProfil Lapplication ADL dbogue lapplication avec le profil indiqu. La valeur NomProfil gre lune des
valeurs suivantes :
desktop
extendedDesktop
mobileDevice
Si le descripteur de lapplication comprend un lment supportedProfiles, le profil spcifi avec lindicateur -
profile doit figurer dans la liste prise en charge. Si vous nutilisez pas lindicateur -profile, le premier profil du
descripteur de lapplication fait office de profil actif. Si le descripteur de lapplication ne comprend pas dlment
supportedProfiles et que vous nutilisez pas lindicateur -profile, le profil desktop est utilis.

Pour plus dinformations, voir supportedProfiles la page 252 et Profils de priphrique la page 259.
-screensize valeur Taille de lcran simule utiliser lors de lexcution dune application associe au profil
mobileDevice sur le bureau. Indiquez la taille de lcran en slectionnant le type dcran prdfini ou saisissez les
dimensions (en pixels) de la largeur et de la hauteur standard correspondant au mode Portrait, plus la largeur et la
hauteur en plein cran. Pour spcifier la valeur par type, utilisez lun des types dcran prdfinis suivants :

Type dcran Largeur x hauteur standard Largeur x hauteur standard en plein


cran

480 720 x 480 720 x 480

720 1 280 x 720 1 280 x 720

1 080 1 920 x 1 080 1 920 x 1 080

Droid 480 x 816 480 x 854

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 170
Application de dbogage du lanceur AIR (ADL)

Type dcran Largeur x hauteur standard Largeur x hauteur standard en plein


cran

FWQVGA 240 x 432 240 x 432

FWVGA 480 x 854 480 x 854

HVGA 320 x 480 320 x 480

iPad 768 x 1 004 768 x 1 024

iPadRetina 1 536 x 2 008 1 536 x 2 048

iPhone 320 x 460 320 x 480

iPhoneRetina 640 x 920 640 x 960

iPhone5Retina 640 x 1 096 640 x 1 136

iPhone6 750 x 1 294 750 x 1 334

iPhone6Plus 1 242 x 2 148 1 242 x 2 208

iPod 320 x 460 320 x 480

iPodRetina 640 x 920 640 x 960

iPod5Retina 640 x 1 096 640 x 1 136

NexusOne 480 x 762 480 x 800

QVGA 240 x 320 240 x 320

SamsungGalaxyS 480 x 762 480 x 800

SamsungGalaxyTab 600 x 986 600 x 1 024

WQVGA 240 x 400 240 x 400

WVGA 480 x 800 480 x 800

Pour spcifier directement les dimensions de lcran en pixels, utilisez le format suivant :
widthXheight:fullscreenWidthXfullscreenHeight

Veillez toujours spcifier les dimensions (en pixels) correspondant au format Portrait, cest--dire de spcifier une
valeur de largeur infrieure la valeur de hauteur. Spcifiez par exemple comme suit lcran NexusOne :
-screensize 480x762:480x800

-extdir extension-directory Rpertoire dans lequel le moteur dexcution doit rechercher les extensions natives. Ce
rpertoire contient un sous-rpertoire pour chaque extension native quutilise lapplication. Chacun de ces sous-
rpertoires contient le fichier ANE extrait du package dune extension. Exemple :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 171
Application de dbogage du lanceur AIR (ADL)

C:\extensionDirs\
extension1.ane\
META-INF\
ANE\
Android-ARM\
library.swf
extension1.jar
extension.xml
signatures.xml
catalog.xml
library.swf
mimetype
extension2.ane\
META-INF\
ANE\
Android-ARM\
library.swf
extension2.jar
extension.xml
signatures.xml
catalog.xml
library.swf
mimetype

Lors de lutilisation du paramtre -extdir, tenez compte des points suivants :


La commande ADL requiert que chacun des rpertoires spcifis possde lextension de nom de fichier .ane. La
partie du nom de fichier qui prcde le suffixe .ane peut nanmoins correspondre nimporte quel nom de
fichier valide. Il nest toutefois pas impratif quelle corresponde la valeur de llment extensionID du fichier
descripteur de lapplication.
Vous pouvez spcifier plusieurs fois le paramtre -extdir.
Loutil ADT et loutil ADL traitent diffremment lutilisation du paramtre -extdir. Dans ADT, ce paramtre
spcifie un rpertoire contenant les fichiers ANE.
Vous pouvez galement utiliser la variable denvironnement AIR_EXTENSION_PATH pour spcifier les rpertoires
de lextension. Voir Variables denvironnement ADT la page 198.
application.xml Fichier descripteur dapplication. Voir Fichiers descripteurs dapplications AIR la page 217. Le
descripteur dapplication est lunique paramtre requis par ADL et, dans la plupart des cas, lunique paramtre
ncessaire.
RpertoireRacine Indique le rpertoire racine de lapplication excuter. Sil nest pas spcifi, cest le rpertoire
contenant le fichier descripteur dapplication qui est utilis.
-- arguments Toutes les chanes de caractres figurant aprs -- sont transmises lapplication sous forme
darguments de ligne de commande.
Remarque : lorsque vous lancez une application AIR dj en cours dexcution, aucune nouvelle occurrence de
lapplication nest ouverte. Au lieu de cela, un vnement invoke est distribu loccurrence en cours dexcution.

Exemples ADL
Excutez une application dans le rpertoire actif :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 172
Application de dbogage du lanceur AIR (ADL)

adl myApp-app.xml

Excutez une application dans un sous-rpertoire du rpertoire actif :


adl source/myApp-app.xml release

Excutez une application et transmettez deux arguments de ligne de commande, tick et tock :
adl myApp-app.xml -- tick tock

Excutez une application laide dun moteur dexcution spcifique :


adl -runtime /AIRSDK/runtime myApp-app.xml

Excutez une application sans prise en charge du dbogage :


adl -nodebug myApp-app.xml

Excutez une application du profil de priphrique mobile et simulez la taille de lcran Nexus One :
adl -profile mobileDevice -screensize NexusOne myMobileApp-app.xml

Excutez une application par le biais dApache Ant (les chemins illustrs dans lexemple se rfrent Windows) :
<property name="SDK_HOME" value="C:/AIRSDK"/>
<property name="ADL" value="${SDK_HOME}/bin/adl.exe"/>
<property name="APP_ROOT" value="c:/dev/MyApp/bin-debug"/>
<property name="APP_DESCRIPTOR" value="${APP_ROOT}/myApp-app.xml"/>

<target name="test">
<exec executable="${ADL}">
<arg value="${APP_DESCRIPTOR}"/>
<arg value="${APP_ROOT}"/>
</exec>
</target>

Codes derreur et de sortie dADL


Le tableau suivant dcrit les codes de sortie imprims par ADL :

Code de Description
sortie

0 Lancement russi. ADL se ferme aprs la fermeture de lapplication AIR.

1 Appel russi dune application AIR dj excute. Fermeture immdiate dADL.

2 Erreur dutilisation. Les arguments transmis ADL sont incorrects.

3 Moteur dexcution introuvable.

4 Impossible de dmarrer le moteur dexcution. En gnral, cela se produit car la version spcifie dans
lapplication ne correspond pas celle du moteur dexcution.

5 Une erreur dorigine inconnue sest produite.

6 Fichier descripteur dapplication introuvable.

7 Le contenu du descripteur de lapplication est incorrect. Cette erreur indique gnralement que le fichier
XML nest pas bien constitu.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 173
Application de dbogage du lanceur AIR (ADL)

Code de Description
sortie

8 Le fichier de contenu principal de lapplication (spcifi dans llment <content> du fichier descripteur
dapplication) est introuvable.

9 Le fichier du contenu principal de lapplication nest pas un fichier SWF ou HTML valide.

10 Lapplication ne prend pas en charge le profil spcifi par le biais de loption -profile.

11 Largument -screensize nest pas pris en charge dans le profil actuel.

Dernire mise jour le 6/3/2017


174

Chapitre 12 : Outil AIR Developer (ADT)


ADT est un outil de ligne de commande multifonctions destin au dveloppement dapplications AIR. Il permet
dexcuter les tches suivantes :
Mise en package dune application AIR en tant que fichier dinstallation .air
Mise en package dune application AIR en tant que fichier dinstallation natif (fichier dinstallation .exe sous
Windows, .ipa sous iOS ou .apk sous Android, par exemple)
Mise en package dune extension native en tant que fichier ANE (AIR Native Extension)
Signature dune application AIR avec un certificat numrique
Modification (migration) de la signature numrique utilise pour mettre jour une application
Identification des priphriques raccords un ordinateur
Cration dun certificat dveloppeur numrique auto-sign
Installation, lancement et dsinstallation distance dune application sur un priphrique mobile
Installation et dsinstallation distance du moteur dexcution dAIR sur un priphrique mobile
Loutil ADT est un programme Java intgr au kit de dveloppement dAIR. Vous devez disposer de Java 1.5 ou
ultrieur pour lutiliser. Le kit SDK comprend un fichier de script destin appeler loutil ADT. Pour utiliser ce script,
lemplacement du programme Java doit tre indiqu dans la variable denvironnement path. Si le rpertoire bin du kit
SDK dAIR est galement indiqu dans la variable denvironnement path, vous pouvez saisir adt sur la ligne de
commande, accompagn des arguments appropris, pour appeler loutil ADT. (Si vous ne savez pas comment
configurer la variable denvironnement path, consultez la documentation du systme dexploitation. Pour plus
dinformations, les procdures de configuration de path sur la plupart des systmes informatiques sont dcrites dans
la section Variables denvironnement path la page 321.)
Lordinateur doit disposer dau moins 2 Go de mmoire pour excuter loutil ADT. Si la mmoire disponible est
infrieure 2 Go, loutil ADT risque de ne pas disposer de suffisamment de mmoire, en particulier lors de la mise en
package dapplications pour iOS.
Sous rserve que Java et le rpertoire bin du kit SDK dAIR figurent tous deux dans la variable path, vous pouvez
excuter loutil ADT en appliquant la syntaxe de base suivante :
adt -command options

Remarque : la plupart des environnements de dveloppement intgrs (notamment Adobe Flash Builder et Adobe Flash
Professional) peuvent mettre en package et signer des applications AIR votre intention. En rgle gnrale, si vous utilisez
dj un tel environnement de dveloppement, il est inutile deffectuer ces tches courantes par le biais de loutil ADT. En
revanche, vous devrez peut-tre vous servir de loutil ADT en tant quoutil de ligne de commande pour excuter des
fonctions qui ne sont pas prises en charge par lenvironnement de dveloppement intgr. Vous pouvez par ailleurs utiliser
ADT en tant quoutil de ligne de commande dans le cadre dun processus de cration automatis.

Commandes de loutil ADT


Le premier argument transmis loutil ADT spcifie lune des commandes suivantes.
-package : met en package une application AIR ou une extension ANE (AIR Native Extension).

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 175
Outil AIR Developer (ADT)

-prepare : met en package une application AIR sous forme de fichier intermdiaire (AIRI), mais ne la signe pas. Il
est impossible dinstaller un fichier AIRI.
-sign : signe un package AIRI cr laide de la commande -prepare. Les commandes -prepare et -sign permettent
dexcuter la mise en package et la signature en plusieurs tapes. Vous disposez galement de la commande -sign
pour signer ou signer nouveau un package ANE.
-migrate : applique une signature de migration un package AIR sign, vous permettant ainsi dutiliser un nouveau
certificat dveloppeur ou un certificat renouvel.
-certificate : cre un certificat dveloppeur numrique auto-sign.
-checkstore : vrifie quil est possible daccder un certificat numrique dans un keystore.
-installApp : installe une application AIR sur un priphrique ou un mulateur de priphrique.
-launchApp : lance une application AIR sur un priphrique ou un mulateur de priphrique.
-appVersion : indique la version dune application AIR actuellement installe sur un priphrique ou un mulateur
de priphrique.
-uninstallApp : dsinstalle une application AIR partir dun priphrique ou dun mulateur de priphrique.
-installRuntime : installe le moteur dexcution dAIR sur un priphrique ou un mulateur de priphrique.
-runtimeVersion : indique la version du moteur dexcution dAIR actuellement installe sur un priphrique ou
un mulateur de priphrique.
-uninstallRuntime : dsinstalle le moteur dexcution dAIR actuellement install sur un priphrique ou un
mulateur de priphrique.
-version : indique le numro de la version de loutil ADT.
-devices : affiche des informations sur les priphriques mobiles ou les mulateurs raccords.
-help : affiche la liste de commandes et doptions.
De nombreuses commandes ADT partagent des ensembles associs de paramtres et dindicateurs doption. Ces
ensembles doptions font lobjet dune description dtaille distincte :
Options de signature du code de loutil ADT la page 189
Options associes aux fichiers et chemins la page 191
Options de connexion au dbogueur la page 192
Options dextension native la page 193

Commande ADT package


La commande -package doit tre excute partir du rpertoire principal de lapplication. Elle gre les syntaxes
suivantes :
Cration dun package AIR partir des fichiers dapplication du composant :
adt -package
AIR_SIGNING_OPTIONS
-target packageType
-sampler
-hideAneLibSymbols
NATIVE_SIGNING_OPTIONS
output
app_descriptor
FILE_OPTIONS

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 176
Outil AIR Developer (ADT)

Cration dun package natif partir des fichiers dapplication du composant :


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

Cration dun package natif qui inclut une extension native partir des fichiers dapplication du composant :
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

Cration dun package natif partir dun fichier AIR ou AIRI :


adt -package
-target packageType
NATIVE_SIGNING_OPTIONS
output
input_package

Cration dun package dextensions natives partir des fichiers dextension native du composant :
adt -package
AIR_SIGNING_OPTIONS
-target ane
output
ANE_OPTIONS

Remarque : il nest pas ncessaire de signer un fichier ANE ; les paramtres AIR_SIGNING_OPTIONS sont donc facultatifs
dans cet exemple.
AIR_SIGNING_OPTIONS Les options de signature AIR identifient le certificat utilis pour signer un fichier
dinstallation AIR. Les options de signature font lobjet dune description dtaille la section Options de signature
du code de loutil ADT la page 189.
-migrate Cet indicateur spcifie que lapplication est signe avec un certificat de migration en plus du certificat spcifi
par les paramtres AIR_SIGNING_OPTIONS. Cet indicateur nest valide que si vous mettez en package une application
de bureau sous la forme dun programme dinstallation natif et que lapplication utilise une extension native. Dans les
autres cas, une erreur survient. Les options de signature du certificat de migration sont spcifies dans les paramtres
MIGRATION_SIGNING_OPTIONS. Elles font lobjet dune description dtaille la section Options de signature
du code de loutil ADT la page 189. Lutilisation de lindicateur -migrate permet de crer une mise jour dune
application de bureau programme dinstallation natif qui utilise une extension native et de modifier le certificat de
signature du code de lapplication lors de lexpiration du certificat dorigine, par exemple. Pour plus dinformations,
voir Signature dune version mise jour dune application AIR la page 211.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 177
Outil AIR Developer (ADT)

Lindicateur -migrate de la commande -package est disponible dans AIR 3.6 et ultrieur.
-target Type de package crer. Les types de package pris en charge sont les suivants :
air : package AIR. air est la valeur par dfaut et il est inutile de spcifier lindicateur -target lors de la cration de
fichiers AIR ou AIRI.
airn : package dapplication natif pour priphriques associs au profil de tlvision tendu.
ane : package dextensions natives AIR
Cibles des packages Android
apk : package Android. Un package cr laide de cette cible ne peut tre install que sur un priphrique
Android et non sur un mulateur.
apk-captive-runtime : package Android qui inclut lapplication et une version captive du moteur dexcution
AIR. Un package cr laide de cette cible ne peut tre install que sur un priphrique Android et non sur un
mulateur.
apk-debug : package Android contenant des informations de dbogage complmentaires. (Les fichiers SWF de
lapplication doivent galement tre compils avec une prise en charge du dbogage.)
apk-emulator : package Android rserv un mulateur sans prise en charge du dbogage. (La cible apk-debug
permet dautoriser le dbogage sur les mulateurs et les priphriques.)
apk-profile : package Android qui prend en charge le profilage des performances et de la mmoire.
Cibles des packages iOS :
ipa-ad-hoc : package iOS destin une distribution ad hoc.
ipa-app-store : package iOS destin une distribution via lApp Store dApple.
ipa-debug : package iOS contenant des informations de dbogage complmentaires. (Les fichiers SWF de
lapplication doivent galement tre compils avec une prise en charge du dbogage.)
ipa-test : package iOS compil sans information de dbogage ou doptimisation.
ipa-debug-interpreter : fonctionnalit qui quivaut un package de dbogage, mais qui permet de compiler plus
rapidement. Nanmoins, le pseudo-code ActionScript est interprt et non traduit en code machine.
Lexcution du code est donc ralentie dans un package interpreter.
ipa-debug-interpreter-simulator : fonctionnalit quivalente ipa-debug-interpreter, mais mise en package
pour le simulateur iOS. Macintosh uniquement. Si vous utilisez cette option, vous devez inclure galement
loption -platformsdk en spcifiant le chemin vers le kit SDK du simulateur iOS.
ipa-test-interpreter : fonctionnalit qui quivaut un package de test, mais qui permet de compiler plus
rapidement. Nanmoins, le pseudo-code ActionScript est interprt et non traduit en code machine.
Lexcution du code est donc ralentie dans un package interpreter.
ipa-test-interpreter-simulator : fonctionnalit quivalente ipa-test-interpreter, mais mise en package pour le
simulateur iOS. Macintosh uniquement. Si vous utilisez cette option, vous devez inclure galement loption -
platformsdk en spcifiant le chemin vers le kit SDK du simulateur iOS.
native : programme dinstallation dapplication de bureau natif. Le type de fichier produit correspond au format
dinstallation natif du systme dexploitation sur lequel est excute la commande :
EXE : Windows
DMG : Mac
DEB : Ubuntu Linux (AIR 2.6 ou versions antrieures)
RPM Fedora ou OpenSuse Linux (AIR 2.6 ou versions antrieures)

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 178
Outil AIR Developer (ADT)

Pour plus dinformations, voir Mise en package dun programme dinstallation natif de bureau la page 58.
-sampler (iOS uniquement, AIR 3.4 et ultrieur) Active lchantillonneur ActionScript bas sur la tlmtrie dans les
applications iOS. Cet indicateur permet de profiler lapplication avec Adobe Scout. Bien que Scout puisse profiler le
contenu de nimporte quelle plate-forme Flash, lactivation de la tlmtrie dtaille vous permet de mieux connatre
la dure des fonctions ActionScript, les rendus DisplayList et Stage3D, etc. Notez que lutilisation de cet indicateur peut
avoir une incidence sur les performances ; par consquent, ne lutilisez pas pour les applications de production.
-hideAneLibSymbols (iOS uniquement, AIR 3.4 et les versions ultrieures) Les dveloppeurs dapplications peuvent
utiliser plusieurs extensions natives provenant de sources diverses, et si les fichiers ANE partagent un nom de symbole
commun, loutil ADT gnre une erreur de type symbole dupliqu dans le fichier dobjet . Dans certains cas, cette
erreur peut mme se manifester sous forme de blocage au moment de lexcution. Vous pouvez utiliser loption
hideAneLibSymbols pour indiquer si vous souhaitez rendre visibles les symboles de la bibliothque ANE uniquement
aux sources de cette bibliothque (yes) ou toutes les sources (no) :
yes : les symboles ANE sont masqus, ce qui rsout tous les conflits de symboles indsirables.
no : (valeur par dfaut) les symboles ANE ne sont pas masqus. Ce comportement est celui des versions antrieures
AIR 3.4.
-embedBitcode (iOS uniquement, AIR 25 et versions ultrieures) Les dveloppeurs dapplication peuvent utiliser
loption embedBitcode pour indiquer sil faut inclure le bitcode dans leur application iOS en spcifiant oui ou non. La
valeur par dfaut de cette option est non.
DEBUGGER_CONNECTION_OPTIONS Les options de connexion au dbogueur indiquent si un package
dboguer doit tenter de se connecter un dbogueur distant qui sexcute sur un autre ordinateur ou couter une
connexion issue dun dbogueur distant. Cet ensemble doptions est rserv aux packages mobiles dboguer (cibles
apk-debug et ipa-debug). Il est dcrit la section Options de connexion au dbogueur la page 192.
-airDownloadURL Spcifie une autre URL de tlchargement et dinstallation du moteur dexcution dAIR sur un
priphrique Android. Si vous ne spcifiez pas dautre URL, une application AIR redirige lutilisateur vers le moteur
dexcution dAIR dans Android Market, le cas chant.
Si lapplication est distribue via un site autre quAndroid Market gr par Google, il peut savrer ncessaire de
spcifier lURL de tlchargement du moteur dexcution dAIR partir de ce site. Certains autres sites nautorisent
pas les applications demander un tlchargement externe. Cette option est rserve aux packages Android.
NATIVE_SIGNING_OPTIONS Les options de signature natives identifient le certificat requis pour signer un fichier
de package natif. Ces options de signature permettent dappliquer une signature utilise par le systme dexploitation
natif, plutt que le moteur dexcution dAIR. Les options sont sinon identiques AIR_SIGNING_OPTIONS et font
lobjet dune description dtaille la section Options de signature du code de loutil ADT la page 189.
Les signatures natives sont prises en charge sous Windows et Android. Sous Windows, vous devez spcifier la fois
les options de signature AIR et les options de signature natives. Sous Android, vous ne pouvez spcifier que les options
de signature natives.
Dans la plupart des cas, un mme certificat de signature du code peut appliquer la fois une signature AIR et une
signature native. Certains cas de figure font toutefois exception la rgle. Google stipule, par exemple, que toutes les
applications destines Android Market doivent imprativement tre signes laide dun certificat valide jusqu
lanne 2033 au moins. Cela signifie quun certificat dlivr par une autorit de certification reconnue, recommande
lors de lapplication dune signature AIR, ne doit pas tre utilis pour signer une application Android. (Aucune autorit
de certification ne dlivre de certificat de signature du code dont la priode de validit est aussi longue.)
output Nom du fichier de package crer. La dfinition de lextension du fichier est facultative. Si vous ne lindiquez
pas, une extension adapte la valeur -target et au systme dexploitation en cours est ajoute.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 179
Outil AIR Developer (ADT)

app_descriptor Chemin daccs au fichier descripteur de lapplication. Il est possible de spcifier un chemin relatif
(dfini par rapport au rpertoire actif) ou un chemin absolu. (Le fichier descripteur de lapplication est renomm
application.xml dans le fichier AIR.)
-platformsdk Chemin daccs au kit SDK de la plate-forme du priphrique cible :
Android : le kit SDK dAIR 2.6+ inclut les outils du kit SDK dAndroid SDK ncessaires limplmentation des
commandes de loutil ADT correspondantes. Ne dfinissez cette valeur que si vous souhaitez utiliser une autre
valeur du kit SDK dAndroid. Il est galement inutile dindiquer le chemin du kit SDK de plate-forme sur la ligne
de commande si la variable denvironnement AIR_ANDROID_SDK_HOME est dj dfinie. (Si les deux variables
sont dfinies, le chemin indiqu sur la ligne de commande est utilis.)
iOS : le kit SDK dAIR est livr avec un kit SDK iOS captif. Loption -platformsdk permet la mise en package
dapplications avec un kit SDK externe ; vous ntes donc pas oblig dutiliser le SDK iOS captif. Par exemple, si
vous avez cr une extension avec le dernier kit SDK iOS, vous pouvez spcifier ce kit SDK lors de la mise en
package de votre application. En outre, lorsque vous utilisez loutil ADT avec le simulateur iOS, vous devez toujours
inclure loption -platformsdk en spcifiant le chemin vers le kit SDK du simulateur iOS.
Les dveloppeurs dapplications -arch peuvent utiliser cet argument pour crer un package APK pour les plates-formes
x86, qui prend les valeurs suivantes :
armv7 - ADT met en package APK pour la plate-forme Android armv7.
x86 - ADT met en package APK pour la plate-forme Android x86.
armv7 est la valeur par dfaut lorsquaucune valeur nest spcifie
FILE_OPTIONS Identifie les fichiers dapplication inclure dans le package. Les options de fichier font lobjet dune
description dtaille la section Options associes aux fichiers et chemins la page 191. Ne spcifiez pas doptions
de fichier si vous crez un package natif partir dun fichier AIR ou AIRI.
input_airi A spcifier lors de la cration dun package natif partir dun fichier AIRI. Les options
AIR_SIGNING_OPTIONS sont obligatoires si la cible correspond air (ou quaucune cible nest spcifie).
input_air A spcifier lors de la cration dun package natif partir dun fichier AIR. Ne spcifiez pas doption
AIR_SIGNING_OPTIONS.
ANE_OPTIONS Identifie les options et les fichiers permettant de crer un package dextensions natives. Les options
du package dextensions sont dcrites de faon exhaustive dans Options dextension native la page 193.

Exemples de commandes ADT -package


Cration dun package de fichiers dapplication spcifiques figurant dans le rpertoire actif pour une application AIR
de type SWF :
adt package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.swf components.swc

Cration dun package de fichiers dapplication spcifiques figurant dans le rpertoire actif pour une application AIR
de type HTML :
adt package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.html AIRAliases.js
image.gif

Cration dun package de tous les fichiers et sous-rpertoires inclus dans le rpertoire de travail actif :
adt package -storetype pkcs12 -keystore ../cert.p12 myApp.air myApp.xml .

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 180
Outil AIR Developer (ADT)

Remarque : le fichier keystore contient la cl prive utilise pour signer lapplication. Veillez ne jamais inclure le
certificat de signature dans le package AIR. Si vous utilisez des caractres gnriques dans la commande ADT, dplacez
le fichier keystore afin quil ne soit pas inclus dans le package. Dans cet exemple, le fichier keystore (cert.p12) rside dans
le rpertoire parent.
Cration dun package contenant uniquement les fichiers principaux et un sous-rpertoire dimages :
adt package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.swf images

Cration dun package contenant une application HTML et tous les fichiers contenus dans les sous-rpertoires HTML,
de scripts et dimages sous-jacents :
adt package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml index.html AIRALiases.js
html scripts images

Cration dun package du fichier application.xml et du fichier SWF principal se trouvant dans un rpertoire de travail
(release/bin) :
adt package -storetype pkcs12 -keystore cert.p12 myApp.air release/bin/myApp.xml C
release/bin myApp.swf

Cration dun package des ressources provenant de plusieurs emplacements du systme de fichiers de dveloppement.
Dans cet exemple, les actifs de lapplication rsident dans les dossiers suivants avant la cration du package :
/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

Excution de la commande ADT suivante partir du rpertoire /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

Rsultats dans la structure de package suivante :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 181
Outil AIR Developer (ADT)

/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

Excution de loutil ADT en tant que programme Java pour une application SWF simple (sans dfinir le chemin de
classe) :
java jar {AIRSDK}/lib/ADT.jar package -storetype pkcs12 -keystore cert.p12 myApp.air
myApp.xml myApp.swf

Excution de loutil ADT en tant que programme Java pour une application HTML simple (sans dfinir le chemin de
classe) :
java jar {AIRSDK}/lib/ADT.jar package -storetype pkcs12 -keystore cert.p12 myApp.air
myApp.xml myApp.html AIRAliases.js

Excution de loutil ADT en tant que programme Java (le chemin de classe Java tant dfini de sorte inclure le
package ADT.jar) :
java -com.adobe.air.ADT package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml
myApp.swf

Excution de loutil ADT en tant que tche Java dans Apache Ant (bien quil soit plutt conseill dutiliser la
commande ADT directement dans les scripts Ant). Les chemins indiqus dans lexemple correspondent un systme
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>

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 182
Outil AIR Developer (ADT)

Remarque : sur certains ordinateurs, les caractres double octet figurant dans les chemins daccs de systme de fichiers
risquent dtre incorrectement interprts. Si tel est le cas, tentez de dfinir le JRE utilis pour excuter loutil ADT de sorte
utiliser le jeu de caractres UTF-8. Tel est le cas par dfaut dans le script de lancement de loutil ADT sous Mac et Linux.
Dans le fichier Windows adt.bat ou si vous excutez loutil ADT directement partir de Java, spcifiez loption -
Dfile.encoding=UTF-8 sur la ligne de commande Java.

Commande ADT prepare


La commande -prepare cre un package AIRI non sign. Il est impossible dutiliser seul un package AIRI. Utilisez la
commande -sign pour convertir un fichier AIRI en package AIR sign ou la commande package pour convertir le
fichier AIRI en package natif.
La commande -prepare gre la syntaxe suivante :
adt -prepare output app_descriptor FILE_OPTIONS

output Nom du fichier AIRI cr.


app_descriptor Chemin daccs au fichier descripteur de lapplication. Il est possible de spcifier un chemin relatif
(dfini par rapport au rpertoire actif) ou un chemin absolu. (Le fichier descripteur de lapplication est renomm
application.xml dans le fichier AIR.)
FILE_OPTIONS Identifie les fichiers dapplication inclure dans le package. Les options de fichier font lobjet dune
description dtaille la section Options associes aux fichiers et chemins la page 191.

Commande ADT sign


La commande -sign permet de signer les fichiers AIRI et ANE.
Elle gre la syntaxe suivante :
adt -sign AIR_SIGNING_OPTIONS input output

AIR_SIGNING_OPTIONS Les options de signature AIR identifient le certificat requis pour signer un fichier de
package. Les options de signature font lobjet dune description dtaille la section Options de signature du code de
loutil ADT la page 189.
input Nom du fichier AIRI ou ANE signer.
output Nom du package sign crer.
Si un fichier ANE est dj sign, lancienne signature est limine. (Il est impossible de signer nouveau un fichier AIR.
Pour utiliser une nouvelle signature en cas de mise jour dune application, utilisez la commande -migrate.)

Commande ADT migrate


La commande -migrate applique une signature de migration un fichier AIR. Vous devez utiliser une signature de
migration lorsque vous renouvelez ou modifiez le certificat numrique et devez mettre jour une application signe
laide de lancien certificat.
Pour plus dinformations sur la mise en package dapplications AIR avec signature de migration, voir Signature dune
version mise jour dune application AIR la page 211.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 183
Outil AIR Developer (ADT)

Remarque : le certificat de migration doit tre appliqu dans les 365 jours qui suivent lexpiration du certificat. Au terme
de ce dlai, il devient impossible de signer les mises jour dune application par le biais dune signature de migration. Les
utilisateurs peuvent commencer par mettre jour lapplication en installant une version associe une signature de
migration, puis installer la mise jour la plus rcente ou dsinstaller lapplication dorigine et installer le nouveau
package AIR.
Pour utiliser une signature de migration, commencez par signer lapplication AIR laide du nouveau certificat ou du
certificat renouvel ( laide des commandes -package ou -sign), puis appliquez la signature de migration par le biais
de lancien certificat et de la commande -migrate.
La commande -migrate utilise la syntaxe suivante :
adt -migrate AIR_SIGNING_OPTIONS input output

AIR_SIGNING_OPTIONS Options de signature AIR qui identifient le certificat dorigine utilis pour signer les
versions existantes de lapplication AIR. Les options de signature font lobjet dune description dtaille la section
Options de signature du code de loutil ADT la page 189.
input Fichier AIR dj sign par le biais du NOUVEAU certificat dapplication.
output Nom du package final qui contient les signatures issues du nouveau et de lancien certificats.
les fichiers dentre et de sortie AIR doivent porter un nom diffrent.
Remarque : La commande ADT migrate ne peut pas tre utilise avec les applications de bureau AIR incluant des
extensions natives, car ces applications ont t mises en package comme des programmes dinstallation natifs, pas comme
des fichiers .air. Pour modifier les certificats pour une application AIR qui inclut une extension native, mettez
lapplication en package en utilisant la Commande ADT package la page 175 avec lindicateur -migrate.

Commande ADT checkstore


La commande -checkstore permet de vrifier la validit dun keystore. La commande gre la syntaxe suivante :
adt -checkstore SIGNING_OPTIONS

SIGNING_OPTIONS Options de signature qui identifient le keystore valider. Les options de signature font lobjet
dune description dtaille la section Options de signature du code de loutil ADT la page 189.

Commande ADT certificate


La commande -certificate permet de crer un certificat de signature du code numrique auto-sign. La commande gre
la syntaxe suivante :
adt -certificate -cn name -ou orgUnit -o orgName -c country -validityPeriod years key-type
output password

-cn Chane assigne en tant que nom commun du nouveau certificat.


-ou Chane assigne en tant quunit organisationnelle charge de dlivrer le certificat. (Facultatif)
-o Chane assigne en tant quorganisation qui dlivre le certificat. (Facultatif)

-c Code pays ISO-3166 de deux lettres. Un certificat nest pas gnr si un code incorrect est indiqu. (Facultatif)

-validityPeriod Nombre dannes de validit du certificat. Si aucune valeur nest spcifie, une validit de cinq ans
est dfinie. (Facultatif)
key_type Type de cl utiliser pour que le certificat soit 2048-RSA.

output Chemin et nom du fichier de certificat gnrer.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 184
Outil AIR Developer (ADT)

password Mot de passe daccs au nouveau certificat. Le mot de passe est obligatoire si un fichier AIR est sign par le
biais de ce certificat.

Commande ADT installApp


La commande -installApp installe une application sur un priphrique ou un mulateur.
Vous devez dsinstaller une application existante avant de la rinstaller laide de cette commande.
La commande gre la syntaxe suivante :
adt -installApp -platform platformName -platformsdk path-to-sdk -device deviceID -package
fileName

-platform Nom de la plate-forme du priphrique. Spcifiez ios ou android.


-platformsdk Chemin vers le kit SDK de la plate-forme pour le priphrique cible (facultatif) :
Android : le kit SDK dAIR 2.6+ inclut les outils du kit SDK dAndroid SDK ncessaires limplmentation des
commandes de loutil ADT correspondantes. Ne dfinissez cette valeur que si vous souhaitez utiliser une autre
valeur du kit SDK dAndroid. Il est galement inutile dindiquer le chemin du kit SDK de plate-forme sur la ligne
de commande si la variable denvironnement AIR_ANDROID_SDK_HOME est dj dfinie. (Si les deux variables
sont dfinies, le chemin indiqu sur la ligne de commande est utilis.)
iOS : le kit SDK dAIR est livr avec un kit SDK iOS captif. Loption -platformsdk permet la mise en package
dapplications avec un kit SDK externe ; vous ntes donc pas oblig dutiliser le SDK iOS captif. Par exemple, si
vous avez cr une extension avec le dernier kit SDK iOS, vous pouvez spcifier ce kit SDK lors de la mise en
package de votre application. En outre, lorsque vous utilisez loutil ADT avec le simulateur iOS, vous devez toujours
inclure loption -platformsdk en spcifiant le chemin vers le kit SDK du simulateur iOS.
-device Spcifie le ios_simulator, le numro de srie (Android) ou le handle (iOS) du priphrique raccord. Sous iOS,
ce paramtre est obligatoire ; sous Android, ce paramtre doit tre spcifi uniquement lorsque plusieurs
priphriques ou mulateurs Android sont raccords votre ordinateur et en cours dexcution. Si le priphrique
spcifi nest pas connect, ADT renvoie le code de sortie 14 : Erreur de priphrique (Android) ou Priphrique
spcifi non valide (iOS). Si plusieurs priphriques ou mulateurs sont connects et quaucun priphrique nest
spcifi, loutil ADT renvoie le code de sortie 2 (erreur dutilisation).
Remarque : linstallation dun fichier IPA directement sur un priphrique iOS est possible sur AIR 3.4 et les versions
ultrieures, et ncessite iTunes 10.5.0 ou une version ultrieure.
Utilisez la commande adt -devices (disponible dans AIR 3.4 et les versions ultrieures) pour dterminer le handle
ou le numro de srie des priphriques raccords. Notez que sous iOS, vous utilisez le handle et non le UUID du
priphrique. Pour plus dinformations, voir Commande des priphriques ADT la page 188.
Sous Android, vous pouvez aussi utiliser loutil ADB intgr pour dresser la liste des numros de srie des
priphriques et mulateurs en cours dexcution connects :
adb devices

-package Nom de fichier du package installer. Sous iOS, ce fichier doit tre un fichier IPA. Sur Android, il doit sagir
dun package APK. Si le package spcifi est dj install, loutil ADT renvoie le code de sortie 14 (erreur de
priphrique).

Commande ADT appVersion


La commande -appVersion indique la version dune application installe sur un priphrique ou un mulateur. La
commande gre la syntaxe suivante :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 185
Outil AIR Developer (ADT)

adt -appVersion -platform platformName -platformsdk path_to_sdk -device deviceID -appid


applicationID

-platform Nom de la plate-forme du priphrique. Spcifiez ios ou android.


-platformsdk Chemin daccs au kit SDK de la plate-forme du priphrique cible :
Android : le kit SDK dAIR 2.6+ inclut les outils du kit SDK dAndroid SDK ncessaires limplmentation des
commandes de loutil ADT correspondantes. Ne dfinissez cette valeur que si vous souhaitez utiliser une autre
valeur du kit SDK dAndroid. Il est galement inutile dindiquer le chemin du kit SDK de plate-forme sur la ligne
de commande si la variable denvironnement AIR_ANDROID_SDK_HOME est dj dfinie. (Si les deux variables
sont dfinies, le chemin indiqu sur la ligne de commande est utilis.)
iOS : le kit SDK dAIR est livr avec un kit SDK iOS captif. Loption -platformsdk permet la mise en package
dapplications avec un kit SDK externe ; vous ntes donc pas oblig dutiliser le SDK iOS captif. Par exemple, si
vous avez cr une extension avec le dernier kit SDK iOS, vous pouvez spcifier ce kit SDK lors de la mise en
package de votre application. En outre, lorsque vous utilisez loutil ADT avec le simulateur iOS, vous devez toujours
inclure loption -platformsdk en spcifiant le chemin vers le kit SDK du simulateur iOS.
-device Spcifiez ios_simulator ou le numro de srie du priphrique. Ne spcifiez le priphrique que si plusieurs
priphriques ou mulateurs Android sont connects lordinateur et sont en cours dexcution. Si le priphrique
spcifi nest pas connect, loutil ADT renvoie le code de sortie 14 (erreur de priphrique). Si plusieurs priphriques
ou mulateurs sont connects et quaucun priphrique nest spcifi, loutil ADT renvoie le code de sortie 2 (erreur
dutilisation).
Sous Android, utilisez loutil ADB intgr pour dresser la liste des numros de srie des priphriques et mulateurs
en cours dexcution connects :
adb devices

-appid ID de lapplication AIR installe. Si aucune application dote de lID spcifi nest installe sur le priphrique,
loutil ADT renvoie le code de sortie 14 (erreur de priphrique).

Commande ADT launchApp


La commande -launchApp excute une application installe sur un priphrique ou un mulateur. La commande gre
la syntaxe suivante :
adt -launchApp -platform platformName -platformsdk path_to_sdk -device deviceID -appid
applicationID

-platform Nom de la plate-forme du priphrique. Spcifiez ios ou android.


-platformsdk Chemin daccs au kit SDK de la plate-forme du priphrique cible :
Android : le kit SDK dAIR 2.6+ inclut les outils du kit SDK dAndroid SDK ncessaires limplmentation des
commandes de loutil ADT correspondantes. Ne dfinissez cette valeur que si vous souhaitez utiliser une autre
valeur du kit SDK dAndroid. Il est galement inutile dindiquer le chemin du kit SDK de plate-forme sur la ligne
de commande si la variable denvironnement AIR_ANDROID_SDK_HOME est dj dfinie. (Si les deux variables
sont dfinies, le chemin indiqu sur la ligne de commande est utilis.)
iOS : le kit SDK dAIR est livr avec un kit SDK iOS captif. Loption -platformsdk permet la mise en package
dapplications avec un kit SDK externe ; vous ntes donc pas oblig dutiliser le SDK iOS captif. Par exemple, si
vous avez cr une extension avec le dernier kit SDK iOS, vous pouvez spcifier ce kit SDK lors de la mise en
package de votre application. En outre, lorsque vous utilisez loutil ADT avec le simulateur iOS, vous devez toujours
inclure loption -platformsdk en spcifiant le chemin vers le kit SDK du simulateur iOS.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 186
Outil AIR Developer (ADT)

-device Spcifiez ios_simulator ou le numro de srie du priphrique. Ne spcifiez le priphrique que si plusieurs
priphriques ou mulateurs Android sont connects lordinateur et sont en cours dexcution. Si le priphrique
spcifi nest pas connect, loutil ADT renvoie le code de sortie 14 (erreur de priphrique). Si plusieurs priphriques
ou mulateurs sont connects et quaucun priphrique nest spcifi, loutil ADT renvoie le code de sortie 2 (erreur
dutilisation).
Sous Android, utilisez loutil ADB intgr pour dresser la liste des numros de srie des priphriques et mulateurs
en cours dexcution connects :
adb devices

-appid ID de lapplication AIR installe. Si aucune application dote de lID spcifi nest installe sur le priphrique,
loutil ADT renvoie le code de sortie 14 (erreur de priphrique).

Commande ADT uninstallApp


La commande -uninstallApp supprime entirement une application installe sur un mulateur ou priphrique
distant. La commande gre la syntaxe suivante :
adt -uninstallApp -platform platformName -platformsdk path_to_sdk -device deviceID -appid
applicationID

-platform Nom de la plate-forme du priphrique. Spcifiez ios ou android.


-platformsdk Chemin daccs au kit SDK de la plate-forme du priphrique cible :
Android : le kit SDK dAIR 2.6+ inclut les outils du kit SDK dAndroid SDK ncessaires limplmentation des
commandes de loutil ADT correspondantes. Ne dfinissez cette valeur que si vous souhaitez utiliser une autre
valeur du kit SDK dAndroid. Il est galement inutile dindiquer le chemin du kit SDK de plate-forme sur la ligne
de commande si la variable denvironnement AIR_ANDROID_SDK_HOME est dj dfinie. (Si les deux variables
sont dfinies, le chemin indiqu sur la ligne de commande est utilis.)
iOS : le kit SDK dAIR est livr avec un kit SDK iOS captif. Loption -platformsdk permet la mise en package
dapplications avec un kit SDK externe ; vous ntes donc pas oblig dutiliser le SDK iOS captif. Par exemple, si
vous avez cr une extension avec le dernier kit SDK iOS, vous pouvez spcifier ce kit SDK lors de la mise en
package de votre application. En outre, lorsque vous utilisez loutil ADT avec le simulateur iOS, vous devez toujours
inclure loption -platformsdk en spcifiant le chemin vers le kit SDK du simulateur iOS.
-device Spcifiez ios_simulator ou le numro de srie du priphrique. Ne spcifiez le priphrique que si plusieurs
priphriques ou mulateurs Android sont connects lordinateur et sont en cours dexcution. Si le priphrique
spcifi nest pas connect, loutil ADT renvoie le code de sortie 14 (erreur de priphrique). Si plusieurs priphriques
ou mulateurs sont connects et quaucun priphrique nest spcifi, loutil ADT renvoie le code de sortie 2 (erreur
dutilisation).
Sous Android, utilisez loutil ADB intgr pour dresser la liste des numros de srie des priphriques et mulateurs
en cours dexcution connects :
adb devices

-appid ID de lapplication AIR installe. Si aucune application dote de lID spcifi nest installe sur le priphrique,
loutil ADT renvoie le code de sortie 14 (erreur de priphrique).

Commande ADT installRuntime


La commande -installRuntime installe le moteur dexcution dAIR sur un priphrique.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 187
Outil AIR Developer (ADT)

Vous devez dsinstaller toute version existante du moteur dexcution dAIR avant de le rinstaller par le biais de cette
commande.
La commande gre la syntaxe suivante :
adt -installRuntime -platform platformName -platformsdk path_to_sdk -device deviceID -package
fileName

-platform Nom de la plate-forme du priphrique. Cette commande est actuellement gre par la plate-forme Android
uniquement. Utilisez le nom, android.
-platformsdk Chemin daccs au kit SDK de la plate-forme du priphrique cible. A lheure actuelle, lunique kit SDK
de plate-forme pris en charge est Android. Le kit SDK dAIR 2.6+ inclut les outils du kit SDK dAndroid SDK
ncessaires limplmentation des commandes ADT correspondantes. Ne dfinissez cette valeur que si vous souhaitez
utiliser une autre valeur du kit SDK dAndroid. Il est galement inutile dindiquer le chemin du kit SDK de plate-forme
sur la ligne de commande si la variable denvironnement AIR_ANDROID_SDK_HOME est dj dfinie. (Si les deux
variables sont dfinies, le chemin indiqu sur la ligne de commande est utilis.)
-device Numro de srie du priphrique. Ne spcifiez le priphrique que si plusieurs priphriques ou mulateurs
sont connects lordinateur et sont en cours dexcution. Si le priphrique spcifi nest pas connect, loutil ADT
renvoie le code de sortie 14 (erreur de priphrique). Si plusieurs priphriques ou mulateurs sont connects et
quaucun priphrique nest spcifi, loutil ADT renvoie le code de sortie 2 (erreur dutilisation).
Sous Android, utilisez loutil ADB intgr pour dresser la liste des numros de srie des priphriques et mulateurs
en cours dexcution connects :
adb devices

-package Nom de fichier du moteur dexcution installer. Sur Android, il doit sagir dun package APK. Si aucun
package nest spcifi, le moteur dexcution adapt au priphrique ou lmulateur est slectionn parmi les options
proposes par le kit SDK dAIR. Si le moteur dexcution est dj install, loutil ADT renvoie le code de sortie 14
(erreur de priphrique).

Commande ADT runtimeVersion


La commande -runtimeVersion indique la version installe du moteur dexcution dAIR sur un priphrique ou un
mulateur. La commande gre la syntaxe suivante :
adt -runtimeVersion -platform platformName -platformsdk path_to_sdk -device deviceID

-platform Nom de la plate-forme du priphrique. Cette commande est actuellement gre par la plate-forme Android
uniquement. Utilisez le nom, android.
-platformsdk Chemin daccs au kit SDK de la plate-forme du priphrique cible. A lheure actuelle, lunique kit SDK
de plate-forme pris en charge est Android. Le kit SDK dAIR 2.6+ inclut les outils du kit SDK dAndroid SDK
ncessaires limplmentation des commandes ADT correspondantes. Ne dfinissez cette valeur que si vous souhaitez
utiliser une autre valeur du kit SDK dAndroid. Il est galement inutile dindiquer le chemin du kit SDK de plate-forme
sur la ligne de commande si la variable denvironnement AIR_ANDROID_SDK_HOME est dj dfinie. (Si les deux
variables sont dfinies, le chemin indiqu sur la ligne de commande est utilis.)
-device Numro de srie du priphrique. Ne spcifiez le priphrique que si plusieurs priphriques ou mulateurs
sont connects lordinateur et sont en cours dexcution. Si le moteur dexcution nest pas install ou que le
priphrique spcifi nest pas connect, loutil ADT renvoie le code de sortie 14 (erreur de priphrique). Si plusieurs
priphriques ou mulateurs sont connects et quaucun priphrique nest spcifi, loutil ADT renvoie le code de
sortie 2 (erreur dutilisation).

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 188
Outil AIR Developer (ADT)

Sous Android, utilisez loutil ADB intgr pour dresser la liste des numros de srie des priphriques et mulateurs
en cours dexcution connects :
adb devices

Commande ADT uninstallRuntime


La commande -uninstallRuntime supprime entirement le moteur dexcution dAIR dun priphrique ou dun
mulateur. La commande gre la syntaxe suivante :
adt -uninstallRuntime -platform platformName -platformsdk path_to_sdk -device deviceID

-platform Nom de la plate-forme du priphrique. Cette commande est actuellement gre par la plate-forme Android
uniquement. Utilisez le nom, android.
-platformsdk Chemin daccs au kit SDK de la plate-forme du priphrique cible. A lheure actuelle, lunique kit SDK
de plate-forme pris en charge est Android. Le kit SDK dAIR 2.6+ inclut les outils du kit SDK dAndroid SDK
ncessaires limplmentation des commandes ADT correspondantes. Ne dfinissez cette valeur que si vous souhaitez
utiliser une autre valeur du kit SDK dAndroid. Il est galement inutile dindiquer le chemin du kit SDK de plate-forme
sur la ligne de commande si la variable denvironnement AIR_ANDROID_SDK_HOME est dj dfinie. (Si les deux
variables sont dfinies, le chemin indiqu sur la ligne de commande est utilis.)
-device Numro de srie du priphrique. Ne spcifiez le priphrique que si plusieurs priphriques ou mulateurs
sont connects lordinateur et sont en cours dexcution. Si le priphrique spcifi nest pas connect, loutil ADT
renvoie le code de sortie 14 (erreur de priphrique). Si plusieurs priphriques ou mulateurs sont connects et
quaucun priphrique nest spcifi, loutil ADT renvoie le code de sortie 2 (erreur dutilisation).
Sous Android, utilisez loutil ADB intgr pour dresser la liste des numros de srie des priphriques et mulateurs
en cours dexcution connects :
adb devices

Commande des priphriques ADT


La commande -help de loutil ADT affiche les ID des priphriques et mulateurs actuellement raccords :
adt -devices -platform iOS|android

-platform Nom de la plate-forme vrifier. Spcifiez android ou iOS.


Remarque : sous iOS, cette commande requiert linstallation diTunes 10.5.0 ou dune version ultrieure.

Commande ADT help


La commande ADT -help affiche un rappel succinct des options de ligne de commande :
adt -help

La sortie daide utilise les conventions relatives aux symboles suivantes :


<> : les lments entre crochets indiquent les informations fournir.
() : les lments entre parenthses indiquent les options assimiles un groupe dans la sortie de la commande
daide.
ALL_CAPS : les lments en majuscules indiquent un ensemble doptions dcrit sparment.
| :OU. Par exemple, ( A | B ), signifie lment A ou lment B.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 189
Outil AIR Developer (ADT)

? : 0 ou 1. Un point dinterrogation suivi dun lment indique que ce dernier est facultatif et quune seule
occurrence est autorise, le cas chant.
* : 0 ou plus. Un astrisque suivi dun lment indique que ce dernier est facultatif et quun nombre illimit
doccurrences est autoris.
+ : 1 ou plus. Un signe plus suivi dun lment indique que ce dernier est obligatoire et que plusieurs occurrences
sont autorises.
aucun symbole : si un lment ne possde pas de symbole en suffixe, il est obligatoire et une seule occurrence est
autorise.

Ensembles doptions ADT


Plusieurs commandes ADT partagent des ensembles doptions.

Options de signature du code de loutil ADT


ADT utilise larchitecture JCA (Java Cryptography Architecture) pour accder aux cls prives et aux certificats
permettant de signer des applications AIR. Les options de signature permettent didentifier le keystore ainsi que la cl
prive et le certificat quil contient.
Le keystore doit comprendre la fois la cl prive et la chane de certificat associe. Si le certificat de signature est li
un certificat approuv qui rside sur lordinateur, cest le contenu du champ de nom commun du certificat qui saffiche
en tant que nom dditeur dans la bote de dialogue dinstallation dAIR.
Loutil ADT exige que le certificat soit conforme la norme x509v3 (RFC3280) et quil comprenne lextension
dutilisation avance de la cl dote des valeurs appropries la signature du code. Les contraintes inhrentes au
certificat sont respectes et pourraient empcher lutilisation de certains certificats pour signer une application AIR.
Remarque : le cas chant, loutil ADT fait appel aux paramtres proxy de lenvironnement dexcution Java (JRE, Java
Runtime Environment) pour se connecter des ressources Internet afin de vrifier les listes de rvocation de certificats et
dobtenir des horodatages. Si vous rencontrez des problmes lors de la connexion ces ressources Internet avec loutil ADT
alors que le rseau requiert des paramtres proxy spcifiques, vous devrez peut-tre configurer les paramtres proxy de JRE.

Syntaxe des options de signature AIR


Les options de signature font appel la syntaxe suivante (sur une seule ligne de commande) :
-alias aliasName
-storetype type
-keystore path
-storepass password1
-keypass password2
-providerName className
-tsa url

-alias Alias dune cl dans le keystore. Il est inutile de spcifier un alias lorsquun keystore contient uniquement un
certificat. Si aucun alias nest prcis, loutil ADT utilise la premire cl du keystore.
Toutes les applications de gestion de keystores ne permettent pas daffecter un alias des certificats. Avec le keystore
du systme Windows par exemple, vous devez utiliser le nom unique du certificat comme alias. Lutilitaire Java
Keytool vous permet de dresser la liste des certificats disponibles afin de dterminer les alias pertinents. Par exemple,
si vous excutez la commande :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 190
Outil AIR Developer (ADT)

keytool -list -storetype Windows-MY

la sortie suivante sera gnre pour un certificat :


CN=TestingCert,OU=QE,O=Adobe,C=US, PrivateKeyEntry,
Certificate fingerprint (MD5): 73:D5:21:E9:8A:28:0A:AB:FD:1D:11:EA:BB:A7:55:88

Pour faire rfrence ce certificat sur la ligne de commande dADT, dfinissez lalias sur :
CN=TestingCert,OU=QE,O=Adobe,C=US

Sous Mac OS X, lalias dun certificat dans la chane de cl correspond au nom affich dans lapplication Trousseau
daccs.
-storetype Type de keystore dtermin par limplmentation du keystore. Limplmentation par dfaut du keystore
comprise dans la plupart des installations Java prend en charge les types JKS et PKCS12. Java 5.0 assure la prise en
charge du type PKCS11 (permettant daccder aux keystores situs sur des jetons matriels) et du type Keychain
(permettant daccder la chane de cl Mac OS X). Java 6.0 prend en charge le type MSCAPI (sous Windows). Si
dautres fournisseurs JCA ont t installs et configurs, il se peut que dautres types de keystores soient disponibles.
Si aucun type de keystore nest spcifi, cest le type par dfaut correspondant au fournisseur JCA dfini par dfaut qui
sera utilis.

Type de magasin Format du keystore Version Java minimale

JKS Fichier keystore Java (.keystore) 1.2

PKCS12 Fichier PKCS12 (.p12 ou .pfx) 1.4

PKCS11 Jeton matriel 1.5

KeychainStore Chane de cl Mac OS X 1.5

Windows-MY ou MSCAPI 1.6


Windows-ROOT

-keystore Chemin daccs au fichier keystore pour les types de magasins bass sur un fichier.
-storepass Mot de passe requis pour accder au keystore. Si vous navez pas spcifi de mot de passe, loutil ADT vous
invite en entrer un.
-keypass Mot de passe requis pour accder la cl prive permettant de signer lapplication AIR. Si vous navez pas
spcifi de mot de passe, loutil ADT vous invite en entrer un.
Remarque : si vous entrez un mot de passe dans le cadre de la commande ADT, les caractres sont enregistrs dans
lhistorique de ligne de commande. Il est par consquent recommand dviter lutilisation des options -keypass ou -
storepass si la scurit du certificat est importante. Notez galement que si vous omettez les options de mot de passe, les
caractres saisis dans les invites de saisie de mot de passe ne saffichent pas (pour les mmes raisons de scurit). Saisissez
simplement le mot de passe et appuyez sur la touche Entre.
-providerName Fournisseur JCA conu pour le type de keystore spcifi. Si vous ne spcifiez pas de fournisseur,
loutil ADT utilise le fournisseur associ par dfaut au type de keystore.
-tsa Indique lURL dun serveur dhorodatage compatible RFC3161 des fins dhorodatage de la signature numrique.
Si vous navez pas spcifi dURL, un serveur dhorodatage par dfaut fourni par Geotrust est utilis. Ds lors que la
signature dune application AIR est horodate, il est encore possible dinstaller lapplication aprs lexpiration du
certificat de signature, car lhorodatage vrifie la validit du certificat au moment de lapposition de la signature.
Si loutil ADT ne parvient pas se connecter au serveur dhorodatage, la signature est annule et le package nest pas
cr. Pour dsactiver lhorodatage, spcifiez -tsa none. Toutefois, il devient impossible dinstaller une
application AIR mise en package sans horodatage une fois le certificat de signature arriv expiration.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 191
Outil AIR Developer (ADT)

Remarque : la plupart des options de signature correspondent loption quivalente de lutilitaire Java Keytool. Vous
pouvez utiliser ce dernier afin dexaminer et de grer des keystores sous Windows. Lutilitaire de scurit Apple sacquitte
galement de ces tches sous Mac OS X.
-provisioning-profile Fichier de configuration Apple iOS (requis par la mise en package dapplications iOS
uniquement).

Exemples doptions de signature


Signature laide dun fichier .p12 :
-storetype pkcs12 -keystore cert.p12

Signature laide du keystore Java par dfaut :


-alias AIRcert -storetype jks

Signature laide dun keystore Java spcifique :


-alias AIRcert -storetype jks -keystore certStore.keystore

Signature laide de la chane de cl Mac OS X :


-alias AIRcert -storetype KeychainStore -providerName Apple

Signature laide du keystore du systme Windows :


-alias cn=AIRCert -storeype Windows-MY

Signature laide dun jeton matriel (voir les instructions du fabricant du jeton concernant la configuration de Java
en vue dutiliser le jeton et de dfinir la valeur providerName pertinente) :
-alias AIRCert -storetype pkcs11 -providerName tokenProviderName

Signature sans horodatage incorpor :


-storetype pkcs12 -keystore cert.p12 -tsa none

Options associes aux fichiers et chemins


Les options associes aux fichiers et chemins spcifient tous les fichiers inclus dans le package. Elles grent la syntaxe
suivante :
files_and_dirs -C dir files_and_dirs -e file_or_dir dir -extdir dir

files_and_dirs Fichiers et rpertoires inclure dans le package du fichier AIR. Le nombre de fichiers et de rpertoires
spcifi nest pas limit, mais les noms doivent tre spars par un espace. Si vous indiquez un rpertoire, tous les
fichiers et sous-rpertoires quil contient, lexception des fichiers masqus, sont ajouts au package. (En outre, si le
fichier descripteur dapplication est spcifi, soit directement soit via le dveloppement de caractres gnriques ou de
rpertoires, il est ignor et exclu du package la seconde fois.) Les fichiers et rpertoires spcifis doivent se trouver dans
le rpertoire actif ou lun de ses sous-rpertoires. Utilisez loption -C pour changer de rpertoire actif.
Important : les caractres gnriques ne sont pas admis dans les arguments file_or_dir suivant loption C. (Les shells
de commande dveloppent les caractres gnriques avant de transmettre les arguments loutil ADT, ce qui incite ce
dernier rechercher des fichiers un emplacement erron.) Vous pouvez nanmoins continuer utiliser le caractre point
(.) pour indiquer le rpertoire actif. llment -C assets . copie, par exemple, le contenu intgral du rpertoire des actifs,
sous-rpertoires compris, dans le niveau racine du package de lapplication.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 192
Outil AIR Developer (ADT)

-C dir files_and_dirs Modifie le rpertoire de travail de la valeur de dir avant de traiter les fichiers et les
rpertoires successifs ajouts au package de lapplication (spcifi dans files_and_dirs). Les fichiers ou les
rpertoires sont ajouts la racine du package de lapplication. Il est possible dutiliser loption C de manire illimite
afin dinclure des fichiers provenant de divers emplacements du systme de fichiers. Si un chemin relatif est dfini pour
dir, il est toujours rsolu partir du rpertoire de travail initial.

Comme loutil ADT traite les fichiers et rpertoires inclus dans le package, les chemins relatifs dfinis entre le
rpertoire actif et les fichiers cible sont stocks. Ces chemins sont dvelopps dans la structure de rpertoires de
lapplication au moment de linstallation du package. Par consquent, en indiquant -C release/bin
lib/feature.swf, vous placez le fichier release/bin/lib/feature.swf dans le sous-rpertoire lib du dossier
racine de lapplication.
-e file_or_dir dir Place le fichier ou le rpertoire dans le rpertoire spcifi du package. Il est impossible dutiliser
cette option lors de la mise en package dun fichier ANE.
Remarque : llment <content> du fichier descripteur de lapplication doit indiquer lemplacement final du fichier
principal de lapplication au sein de larborescence de rpertoires du package de lapplication.
-extdir dir La valeur du paramtre dir correspond au nom du rpertoire dans lequel rechercher les extensions natives
(fichiers ANE). Spcifiez soit un chemin absolu soit un chemin relatif au rpertoire actuel. Vous pouvez spcifier
plusieurs fois loption -extdir.
Le rpertoire spcifi contient les fichiers ANE des extensions natives que lapplication utilise. Chaque fichier ANE de
ce rpertoire possde lextension de nom de fichier .ane. Il nest toutefois pas impratif que le nom de fichier qui
prcde lextension .ane soit identique la valeur de llment extensionID du fichier descripteur de lapplication.
Par exemple, si vous utilisez -extdir ./extensions, le rpertoire extensions peut avoir laspect suivant :
extensions/
extension1.ane
extension2.ane

Remarque : loutil ADT et loutil ADL traitent diffremment lutilisation de loption -extdir. Dans ADL, cette option
spcifie un rpertoire contenant des sous-rpertoires, chacun contenant un fichier ANE extrait du package. Dans ADT,
cette option spcifie un rpertoire contenant les fichiers ANE.

Options de connexion au dbogueur


Lorsque la cible du package est apk-debug, ipa-debug ou ipa-debug-interpreter, il est possible dutiliser les options de
connexion pour indiquer si lapplication mobile va tenter de se connecter un dbogueur distance (normalement
utilis pour le dbogage wi-fi) ou couter une connexion entrante partir dun dbogueur distance (normalement
utilis pour le dbogage USB). Utilisez loption -connect pour tablir une connexion un dbogueur, loption -
listen pour accepter une connexion manant dun dbogueur via une connexion USB. Ces options sexcluent
mutuellement, cest--dire quil est impossible de les utiliser ensemble.
Loption -connect gre la syntaxe suivante :
-connect hostString

-connect Si cet indicateur est spcifi, lapplication tente de se connecter un dbogueur distant.
hostString Chane didentification de lordinateur qui excute loutil de dbogage Flash, FDB. Si cet indicateur nest
pas spcifi, lapplication tente de se connecter un dbogueur qui sexcute sur lordinateur de cration du package.
La chane hostString peut tre un nom de domaine complet, NomMachine.SousGroupe.exemple.com, ou une adresse
IP, 192.168.4.122. Si la machine spcifie (ou dfinie par dfaut) est introuvable, le moteur dexcution affiche une
bote de dialogue permettant de saisir un nom dhte valide.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 193
Outil AIR Developer (ADT)

Loption -listen gre la syntaxe suivante :


-listen port

-listen Si cet lment est spcifi, le moteur dexcution attend une connexion manant dun dbogueur distant.
port (Facultatif) port dcoute. Par dfaut, le moteur dexcution coute sur le port 7936. Pour plus dinformations sur
lutilisation de loption -listen, voir Dbogage distance avec le programme FDB via USB la page 112.

Options de profilage dapplication Android


Si le package a pour cible apk-profile, les options de profilage permettent de spcifier le fichier SWF prcharg requis
des fins de profilage de performance et de mmoire. Les options de profilage grent la syntaxe suivante :
-preloadSWFPath directory

-preloadSWFPath Si cet indicateur est spcifi, lapplication tente de trouver le fichier SWF prcharg dans le
rpertoire indiqu. Sil nest pas spcifi, loutil ADT inclut le fichier SWF prcharg issu du kit SDK dAIR.
directory Rpertoire contenant le fichier SWF prcharg de profilage.

Options dextension native


Les options dextension native spcifient les options et fichiers requis pour mettre en package un fichier ANE associ
une extension native. Utilisez ces options avec une commande de package ADT dans laquelle loption -target est
dfinie sur ane.
extension-descriptor -swc swcPath
-platform platformName
-platformoptions path/platform.xml
FILE_OPTIONS

extension-descriptor Fichier descripteur de lextension native.


-swc Fichier SWC contenant les ressources et le code ActionScript associs lextension native.
-platform Nom de la plate-forme prise en charge par le fichier ANE. Vous pouvez inclure plusieurs options -
platform, chacune avec son paramtre FILE_OPTIONS.

-platformoptions Chemin vers le fichier doptions dune plate-forme (platform.xml). Utilisez ce fichier pour spcifier
les options personnalises de lditeur de liens, les bibliothques partages et les bibliothques statiques tierces utilises
par lextension. Pour plus dinformations et dexemples, voir Bibliothques iOS natives.
FILE_OPTIONS Identifie les fichiers de la plate-forme native inclure au package, notamment les bibliothques
statiques inclure au package de lextension native. Les options de fichier font lobjet dune description dtaille la
section Options associes aux fichiers et chemins la page 191. (Notez quil est impossible dutiliser loption -e lors
de la mise en package dun fichier ANE.)

Voir aussi
Mise en package dune extension native

Messages derreur du programme ADT


Les tableaux ci-aprs recensent les erreurs pouvant tre signales par le programme ADT et leurs causes probables.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 194
Outil AIR Developer (ADT)

Erreurs de validation du fichier descripteur dapplication

Code derreur Description Remarques

100 Le fichier descripteur dapplication ne peut Recherchez les erreurs de syntaxe XML
pas tre analys. ventuelles dans le fichier descripteur
dapplication, par exemple des balises non
fermes.

101 Espace de nom manquant Ajoutez lespace de nom ncessaire.

102 Espace de nom non valide Vrifiez lorthographe de lespace de nom.

103 lment ou attribut inattendu Supprimez les lments ou les attributs


fautifs. Les valeurs personnalises ne sont
pas autorises dans le fichier descripteur.

Vrifiez lorthographe du nom des


lments ou des attributs.

Assurez-vous que ces lments soient


placs dans llment parent appropri et
que les attributs soient utiliss avec les
lments corrects.

104 lment ou attribut manquant Ajoutez llment ou lattribut requis.

105 Llment ou lattribut contient une valeur Corrigez la valeur fautive.


non valide.

106 Combinaison dattributs de fentre non Certains paramtres de fentre, tels que
valide transparency = true et
systemChrome = standard ne peuvent
pas tre utiliss simultanment. Modifiez
lun des paramtres incompatibles.

107 La taille minimale de la fentre est Modifiez lun des paramtres de taille.
suprieure sa taille maximale.

108 Attribut dj utilis dans un lment


prcdent

109 Doublon Supprimez le doublon.

110 Un lment au moins du type spcifi est Ajoutez llment requis.


obligatoire.

111 Aucun des profils stipuls dans le fichier Ajoutez un profil la liste supportedProfies
descripteur de lapplication ne prend en qui prend en charge les extensions natives.
charge les extensions natives.

112 La cible AIR ne prend pas en charge les Slectionnez une cible qui prend en charge
extensions natives. les extensions natives.

113 <nativeLibrary> et <initializer> doivent Vous devez spcifier une fonction


tre spcifis conjointement. dinitialisation pour chaque bibliothque
native de lextension native.

114 <finalizer> dtect sans <nativeLibrary>. Ne spcifiez pas dlment finalizer, sauf si
la plate-forme utilise une bibliothque
native.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 195
Outil AIR Developer (ADT)

Code derreur Description Remarques

115 La plate-forme par dfaut ne doit pas Ne spcifiez pas de bibliothque native
contenir dimplmentation native. dans llment de plate-forme par dfaut.

116 Linvocation du navigateur nest pas prise Il est impossible de dfinir llment
en charge pour cette cible. <allowBrowserInvocation> sur true
pour la cible de mise en package spcifie.

117 Cette cible requiert au moins n espaces de Modifiez lespace de noms AIR dans le
noms pour mettre en package les descripteur de lapplication en dfinissant
extensions natives. une valeur prise en charge.

Pour plus dinformations sur les espaces de noms, les lments, les attributs et leurs valeurs valides, voir Fichiers
descripteurs dapplications AIR la page 217.
Erreurs des icnes dapplication

Code derreur Description Remarques

200 Le fichier dicne ne peut pas tre ouvert. Vrifiez la prsence du fichier
lemplacement spcifi.

Servez-vous dune autre application pour


vrifier que le fichier peut tre ouvert.

201 La taille de licne nest pas correcte. La taille de licne (en pixels) doit
correspondre la balise XML. Par exemple,
pour llment de descripteur
dapplication :

<image32x32>icon.png</image32x3
2>

La taille de limage icon.png doit tre


exactement de 32x32 pixels.

202 Le fichier dicne contient un format Seul le format PNG est pris en charge.
dimage non pris en charge. Convertissez les images en un autre format
avant de mettre votre application en
package.

Erreurs du fichier dapplication

Code derreur Description Remarques

300 Le fichier est manquant ou ne peut pas tre Un fichier spcifi sur la ligne de
ouvert. commande est introuvable ou ne peut pas
tre ouvert.

301 Le fichier descripteur dapplication est Le fichier descripteur dapplication est


manquant ou ne peut pas tre ouvert. introuvable lemplacement spcifi ou ne
peut pas tre ouvert.

302 Le fichier de contenu racine nest pas dans Le fichier SWF ou HTML rfrenc dans
le package. llment <content> du descripteur
dapplication doit tre ajout dans le
package via son inclusion dans la liste des
fichiers sur la ligne de commande dADT.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 196
Outil AIR Developer (ADT)

Code derreur Description Remarques

303 Le fichier dicne nest pas dans le package. Les fichiers dicne spcifis dans le
descripteur dapplication doivent tre
ajouts dans le package via leur inclusion
dans la liste des fichiers sur la ligne de
commande dADT. Les fichiers dicne ne
sont pas ajouts automatiquement.

304 Le contenu initial de la fentre nest pas Le fichier rfrenc dans llment
valide. <content> du descripteur dapplication
nest pas reconnu comme un fichier HTML
ou SWF valide.

305 La version SWF du contenu initial de la La version SWF du fichier rfrenc dans
fentre dpasse la version de lespace de llment <content> du descripteur
nom. dapplication nest pas prise en charge par
la version dAIR spcifie dans lespace de
noms du descripteur. Par exemple, tenter
de crer un package avec un fichier SWF10
(Flash Player 10) en tant que contenu initial
dune application AIR 1.1 gnre cette
erreur.

306 Profil non pris en charge Le profil que vous spcifiez dans le fichier
descripteur dapplication nest pas pris en
charge. Voir supportedProfiles la
page 252.

307 Lespace de noms doit correspondre au Utilisez lespace de noms adapt aux
moins nnn. fonctionnalits de lapplication (tel que
lespace de noms 2.0).

Codes de sortie des autres erreurs

Code de sortie Description Remarques

2 Erreur dutilisation Vrifiez si les arguments de ligne de


commande contiennent des erreurs.

5 Erreur inconnue Cette erreur dsigne une situation que les


conditions derreur habituelles ne peuvent
pas expliquer. Les causes potentielles
comprennent une incompatibilit entre
ADT et lenvironnement dexcution Java
(JRE), des installations ADT ou JRE
corrompues et des erreurs de
programmation dans ADT.

6 Impossible dcrire dans le rpertoire de Assurez-vous que le rpertoire de sortie


sortie spcifi (ou implicite) soit accessible et que
le lecteur qui lhberge dispose de
suffisamment despace disque.

7 Impossible daccder au certificat Assurez-vous que le chemin daccs au


magasin de cls soit correctement spcifi.

Vrifiez que le certificat est accessible dans


le magasin de cls. Lutilitaire Java 1.6
Keytool peut tre utilis pour dpanner les
problmes daccs au certificat.

8 Certificat non valide Le fichier du certificat na pas t cr


correctement, a t modifi, est arriv
expiration ou a t rvoqu.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 197
Outil AIR Developer (ADT)

Code de sortie Description Remarques

9 Impossible de signer un fichier AIR Vrifiez les options de signature transmises


ADT.

10 Impossible de crer lhorodatage ADT na pas pu se connecter au serveur


dhorodatage. Si vous vous connectez
Internet via un serveur proxy, vous devrez
peut-tre configurer les paramtres proxy
de JRE.

11 Erreur de cration de certificat Vrifiez les arguments de ligne de


commande utiliss pour la cration des
signatures.

12 Entre non valide Vrifiez les chemins de fichier et les autres


arguments transmis ADT sur la ligne de
commande.

13 Kit SDK de priphrique introuvable Vrifiez la configuration du kit SDK du


priphrique. Loutil ADT ne trouve pas le
kit SDK du priphrique requis pour
excuter la commande spcifie.

14 Erreur de priphrique Loutil ADT ne peut pas excuter la


commande en raison dun problme ou
dune restriction lis au priphrique. Ce
code de sortie est, par exemple, gnr lors
dune tentative de dsinstallation dune
application qui na pas t installe.

15 Pas de priphrique Vrifiez quun priphrique est connect et


sous tension ou quun mulateur est en
cours dexcution.

16 Composants GPL introuvables Le kit SDK dAIR actif ne contient pas tous
les composants requis pour excuter
lopration.

17 chec de loutil de mise en package du Le package na pas pu tre cr, car les
priphrique. composants attendus du systme
dexploitation sont manquants.

Erreurs Android

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 198
Outil AIR Developer (ADT)

Code de sortie Description Remarques

400 La version actuelle du kit SDK dAndroid Vrifiez lorthographe du nom de


ne prend pas en charge lattribut. lattribut et assurez-vous quil correspond
un attribut valide de llment dans
lequel il apparat. Il sera peut-tre
ncessaire de dfinir lindicateur -
platformsdk dans la commande ADT si
lattribut a t introduit aprs Android 2.2.

401 La version actuelle du kit SDK dAndroid Vrifiez lorthographe de la valeur de


ne prend pas en charge la valeur de lattribut et assurez-vous que celle-ci est
lattribut. gre par lattribut. Il sera peut-tre
ncessaire de dfinir lindicateur -
platformsdk dans la commande ADT si la
valeur de lattribut a t introduite aprs
Android 2.2.

402 La version actuelle du kit SDK dAndroid Vrifiez lorthographe du nom de la balise
ne prend pas en charge la balise XML. XML et assurez-vous quil sagit dun
lment de document manifeste Android
valide. Il sera peut-tre ncessaire de
dfinir lindicateur -platformsdk dans la
commande ADT si llment a t
introduit aprs Android 2.2.

403 Il est interdit de remplacer une balise Lapplication tente de remplacer un


Android lment de manifeste Android dont
lutilisation est rserve AIR. Voir
Paramtres Android la page 79.

404 Il est interdit de remplacer un attribut Lapplication tente de remplacer un


Android attribut de manifeste Android dont
lutilisation est rserve AIR. Voir
Paramtres Android la page 79.

405 La balise Android %1 doit tre le premier Dplacez la balise spcifie


lment dans la balise manifestAdditions. lemplacement requis.

406 Lattribut %1 de la balise Android %2 Fournissez une valeur valide pour


possde la valeur non valide %3. lattribut.

Variables denvironnement ADT


Le cas chant, loutil ADT lit la valeur des variables denvironnement suivantes :
AIR_ANDROID_SDK_HOME spcifie le chemin daccs au rpertoire racine du kit SDK dAndroid (le rpertoire
qui contient le dossier des outils). Le kit SDK dAIR 2.6+ inclut les outils du kit SDK dAndroid SDK ncessaires
limplmentation des commandes ADT correspondantes. Ne dfinissez cette valeur que si vous souhaitez utiliser une
autre valeur du kit SDK dAndroid. Si cette variable est dfinie, il est inutile de spcifier loption -platformsdk lors de
lexcution de commandes ADT qui en ont besoin. Si cette variable et loption de ligne de commande sont dfinies, le
chemin spcifi sur la ligne de commande est utilis.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 199
Outil AIR Developer (ADT)

AIR_EXTENSION_PATH spcifie une liste de rpertoires dans lesquels rechercher les extensions natives requises
par une application. Une recherche logique est effectue dans cette liste de rpertoires aprs avoir spcifi les
rpertoires dextensions natives sur la ligne de commande dADT. La commande ADL a galement recours cette
variable denvironnement.
Remarque : sur certains ordinateurs, les caractres double octet figurant dans les chemins daccs de systme de fichiers
stocks dans ces variables denvironnement risquent dtre incorrectement interprts. Si tel est le cas, tentez de dfinir le
JRE utilis pour excuter loutil ADT de sorte utiliser le jeu de caractres UTF-8. Tel est le cas par dfaut dans le script
de lancement de loutil ADT sous Mac et Linux. Dans le fichier Windows adt.bat ou si vous excutez loutil ADT
directement partir de Java, spcifiez loption -Dfile.encoding=UTF-8 sur la ligne de commande Java.

Dernire mise jour le 6/3/2017


200

Chapitre 13 : Signature dapplications AIR

Signature numrique dun fichier AIR


Le fait de signer numriquement vos fichiers dinstallation AIR laide dun certificat dlivr par une autorit de
certification reconnue rassure pleinement vos utilisateurs sur ltat de lapplication quils installent : cette signature
garantit que lapplication na pas t modifie accidentellement, ou intentionnellement dans le but de nuire, et vous
identifie en tant signataire (diteur). AIR affiche le nom de lditeur pendant linstallation lorsque lapplication AIR est
signe laide dun certificat approuv ou li par une chane de certificats un certificat approuv sur lordinateur
utilis pour linstallation :

Bote de dialogue de confirmation de linstallation dune application signe par un certificat approuv

Si vous signez une application laide dun certificat auto-sign (ou dun certificat qui nest pas li par une chane un
certificat approuv), lutilisateur doit accepter que les risques scuritaires dcoulant de linstallation de lapplication
sont plus importants. La bote de dialogue dinstallation fait tat de ces risques supplmentaires :

Bote de dialogue de confirmation de linstallation dune application signe par un certificat auto-sign

Important : des personnes mal intentionnes peuvent falsifier un fichier AIR en usurpant votre identit si elles obtiennent
le fichier magasin de signatures ou dcouvrent votre cl priv.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 201
Signature dapplications AIR

Certificats dveloppeur
Les obligations lgales, restrictions et garanties de scurit impliquant lutilisation de certificats de signature de code
sont brivement exposes dans les dclarations des pratiques de certification ou dclarations CPS (Certificate
Practice Statements) et les contrats dabonns publis par lautorit de certification mettrice. Pour plus
dinformations sur les contrats des autorits de certification publiant actuellement des certificats dveloppeurs AIR,
voir les documents suivants :
ChosenSecurity (http://www.chosensecurity.com/products/tc_publisher_id_adobe_air.htm)
ChosenSecurity CPS (http://www.chosensecurity.com/resource_center/repository.htm)
GlobalSign (http://www.globalsign.com/code-signing/index.html)
GlobalSign CPS (http://www.globalsign.com/repository/index.htm)
Dclaration CPS de Thawte (http://www.thawte.com/cps/index.html) en anglais
Enonc des pratiques de certification de VeriSign (EPC)4 (http://www.verisign.com/repository/CPS/)
Contrat dabonnement de VeriSign (https://www.verisign.fr/repository/index.html)

A propos de la signature de code AIR


Lorsquun fichier AIR est sign, une signature numrique est ajoute dans le fichier dinstallation. La signature
comprend un rsum du package, utilis pour vrifier que le fichier AIR na pas t modifi depuis quil a t sign, et
englobe des informations sur le certificat de signature qui permettent de vrifier lidentit de lditeur.
Lenvironnement AIR utilise linfrastructure de cl publique (PKI) qui est prise en charge par le biais du magasin de
certificats du systme dexploitation afin de dterminer la fiabilit dun certificat. Pour que les informations de lditeur
soient contrles, lordinateur sur lequel une application AIR est installe doit faire confiance directement au certificat
utilis pour signer lapplication AIR, ou faire confiance une chane de certificats liant ce certificat une autorit de
certification approuve.
Si un fichier AIR est sign laide dun certificat nappartenant pas une chane le rattachant lun des certificats
racines approuvs (et en rgle gnrale ceci englobe tous les certificats auto-signs), les informations de lditeur ne
peuvent pas tre vrifies. Si lenvironnement AIR peut dterminer que le package AIR na pas t modifi depuis quil
a t sign, il ny a par contre aucun moyen de savoir qui est lauteur et le signataire de ce fichier.
Remarque : un utilisateur peut choisir de faire confiance un certificat auto-sign, dans ce cas toute application AIR
signe laide de ce certificat affiche le nom de lditeur en guise de valeur du champ de nom commun dans le certificat.
Lenvironnement AIR ne fournit aucune possibilit lutilisateur de dsigner un certificat comme tant approuv. Le
certificat (sans la cl prive) doit tre fourni sparment lutilisateur et celui-ci doit utiliser lun des moyens proposs
par le systme dexploitation, ou tout autre outil appropri, pour importer le certificat lemplacement appropri dans le
magasin de certificats du systme.

A propos des identifiants dditeur AIR


Important : depuis la version 1.5.3 dAIR, lutilisation de lidentifiant dditeur est dconseille et ce dernier nest plus
calcul partir du certificat dveloppeur. Les nouvelles applications ne requirent plus didentifiant dditeur et ne
devraient pas lutiliser. Lors de la mise jour dapplications existantes, vous devez stipuler lidentifiant dditeur original
dans le fichier descripteur dapplication.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 202
Signature dapplications AIR

Avant la version 1.5.3 dAIR, le programme dinstallation dune application AIR gnrait un identifiant dditeur lors
de linstallation dun fichier AIR. Cet identifiant tait propre au certificat de signature du fichier AIR. Si vous rutilisiez
le mme certificat pour plusieurs applications AIR, le mme identifiant dditeur leur tait appliqu. La signature dune
mise jour dapplication par le biais dun autre certificat, voire dune occurrence renouvele du certificat original
entranait la modification de lidentifiant dditeur.
Depuis la version 1.5.3 dAIR, aucun identifiant dditeur nest affect par AIR. Le fichier descripteur dune application
publie avec AIR 1.5.3 peut stipuler une chane didentifiant dditeur. Ne stipulez didentifiant dditeur que lors de
la publication de mises jour dapplications originellement associes aux versions dAIR antrieures 1.5.3. Si vous ne
stipulez pas didentifiant original dans le fichier descripteur dapplication, le nouveau package AIR nest pas trait
comme une mise jour de lapplication existante.
Pour dterminer lidentifiant dditeur original, recherchez le fichier publisherid dans le sous-rpertoire META-
INF/AIR du rpertoire dinstallation de lapplication originale. La chane que contient ce fichier correspond
lidentifiant dditeur. Le fichier descripteur de lapplication doit stipuler le moteur dexcution dAIR 1.5.3 (ou version
ultrieure) dans la dclaration despace de noms pour que vous puissiez stipuler manuellement lidentifiant dditeur.
Sil existe, lidentifiant dditeur est utilis comme suit :
Dans la cl de chiffrement destine au magasin local chiffr
Dans le chemin du rpertoire de stockage dapplication
Dans la chane de connexion associe aux connexions locales
Dans la chane didentit destine appeler une application par le biais de lAPI intgre au navigateur dAIR
Dans lOSID (dfinition dinterface de service ouverte) utilise lors de la cration de programmes dinstallation/de
dsinstallation personnaliss
Toute modification de lidentifiant dditeur entrane un changement de comportement de toute fonctionnalit AIR
base sur celui-ci. Il devient, par exemple, impossible daccder aux donnes stockes dans le magasin local chiffr et
la chane de connexion associe toute occurrence de Flash ou dAIR qui cre une connexion locale lapplication doit
contenir le nouvel identifiant. Lidentifiant dditeur dune application installe ne doit pas tre modifie dans
AIR 1.5.3 ou ultrieur. Si vous utilisez un autre identifiant dditeur lorsque vous publiez un package AIR, le
programme dinstallation traite le nouveau package comme une autre application plutt quune mise jour.

A propos des formats de certificats


Les outils de signature AIR acceptent tous les magasins de cls accessibles par lintermdiaire de larchitecture de
chiffrement Java, ou architecture JCA (Java Cryptography Architecture). Ceci englobe les fichiers de magasins de cls,
comme les fichiers au format PKCS12 (utilisant gnralement une extension de fichier .pfx ou p12), les fichiers
.keystore de Java, les magasins de cls matriels PKCS11 et les magasins de cls systme. Les formats de magasins de
cls auxquels loutil ADT peut accder dpendent de la version et de la configuration du moteur dexcution Java qui
est utilis pour excuter cet outil. Laccs certains types de magasins de cls, comme les jetons (priphriques de
scurit) matriels PKCS11, peut ncessiter linstallation et la configuration de pilotes logiciels et de modules
dextension JCA supplmentaires.
Pour signer des fichiers AIR, vous pouvez utiliser la plupart des certificats dveloppeurs existants ou en obtenir un
nouveau publi expressment pour la signature des applications AIR. Vous pouvez par exemple utiliser lun des types
de certificats suivants publis par VeriSign, Thawte, GlobalSign ou ChosenSecurity :
ChosenSecurity
ID dditeur TC pour Adobe AIR

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 203
Signature dapplications AIR

GlobalSign
Certificat dveloppeur ObjectSign
Thawte :
Certificat de dveloppeur AIR
Certificat de dveloppeur Apple
Certificat de dveloppeur JavaSoft
Certificat Microsoft Authenticode
VeriSign :
ID numrique Adobe AIR
ID numrique Microsoft Authenticode
ID numrique Sun Java Signing
Remarque : le certificat doit tre cr pour la signature de code. Vous ne pouvez pas utiliser de certificat SSL ou dautres
types de certificats pour signer des fichiers AIR.

Horodatages
Lorsque vous signez un fichier AIR, loutil de cration de packages fait une demande auprs du serveur dune autorit
dhorodatage en vue dobtenir une date et une heure de signature pouvant tre vrifies indpendamment.
Lhorodatage obtenu est incorpor au fichier AIR. Tant que le certificat utilis pour la signature est valable au moment
de cette signature, il est toujours possible dinstaller le fichier AIR, mme aprs lexpiration du certificat. Par contre, si
aucun horodatage nest obtenu, le fichier AIR perd toute possibilit dinstallation lorsque le certificat expire ou est
rvoqu.
Par dfaut, les outils de cration de packages AIR obtiennent un horodatage. Cependant, afin de permettre la mise en
package des applications malgr une indisponibilit du service dhorodatage, vous pouvez dsactiver loption
dhorodatage. Adobe recommande la prsence dun horodatage dans tout fichier AIR distribu publiquement.
Lautorit dhorodatage par dfaut qui est utilise par les outils de cration de package AIR est GeoTrust.

Obtention dun certificat


Pour obtenir un certificat, il suffit gnralement de se rendre sur le site Web de lautorit de certification et de suivre
la procdure dacquisition indique par la socit. Les outils utiliss pour laborer le fichier de magasin de cls
ncessaire aux outils AIR dpendent du type de certificat achet, de la faon dont le certificat est stock sur lordinateur
receveur et, dans certains cas, du navigateur utilis pour obtenir ce certificat. Par exemple, pour obtenir et exporter un
certificat Adobe Developer publi par Thawte, vous devez utiliser Mozilla Firefox. Le certificat peut ensuite tre
export directement sous forme de fichier .p12 ou .pfx partir de linterface utilisateur de Firefox.
Remarque : la version 1.5 et les versions ultrieures de Java ne prennent pas en charge les caractres ASCII tendus dans
les mots de passe de protection des fichiers de certificats PKCS12. Les outils de dveloppement AIR font appel Java pour
crer les packages AIR signs. Si vous exportez le certificat au format .p12 ou .pfx, le mot de passe ne doit contenir que des
caractres ASCII standard.
Vous pouvez gnrer un certificat auto-sign par le biais de loutil ADT utilis pour la mise en package des fichiers
dinstallation AIR. Il est galement possible dutiliser dautres outils tiers.
Pour consulter la procdure de cration dun certificat auto-sign, ainsi que les instructions de signature dun
fichier AIR, voir Outil AIR Developer (ADT) la page 174. Vous pouvez galement exporter et signer des fichiers
AIR par lintermdiaire de Flash Builder, Dreamweaver et de la mise jour AIR pour Flash.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 204
Signature dapplications AIR

Lexemple suivant dcrit la procdure dobtention dun certificat de dveloppeur AIR auprs de lautorit de
certification Thawte, et sa prparation pour lutiliser avec loutil ADT.

Exemple : obtention dun certificat de dveloppeur AIR auprs de lautorit Thawte


Remarque : cet exemple nest quune illustration parmi les nombreuses possibilits disponibles pour acqurir et prparer
un certificat de signature de code. Chaque autorit de certification possde ses propres stratgies et procdures.
Pour acqurir un certificat de dveloppeur AIR, le site Web de Thawte ncessite lutilisation du navigateur Firefox de
Mozilla. La cl prive pour le certificat est stocke dans le magasin de cls du navigateur. Assurez-vous que le magasin
de cls de Firefox est scuris laide dun mot de passe principal et que lordinateur lui-mme est install dans un
endroit sr et protg. (Vous pouvez exporter et supprimer le certificat et la cl prive depuis le magasin de cls du
navigateur une fois la procdure dacquisition acheve.)
Au cours de la procdure dinscription du certificat, une paire de cl prive/publique est gnre. La cl prive est
automatiquement stocke dans le magasin de cls Firefox. Vous devez utiliser le mme navigateur sur le mme
ordinateur pour faire la demande dun certificat sur le site Web de Thawte et procder sa rcupration.
1 Visitez le site Web de Thawte et affichez la Page Produits Certificats dveloppeur (signature de code).
2 A partir de la liste des certificats proposs, slectionnez le certificat du dveloppeur Adobe Air.
3 Suivez les trois tapes de la procdure dinscription. Vous devez fournir des informations sur votre organisation et
les coordonnes de la personne contacter. Thawte procde ensuite lopration du contrle didentit, ce qui peut
faire lobjet dune demande de renseignements complmentaires. Cette vrification acheve, un courrier
lectronique vous est adress, il contient des instructions sur la procdure de rcupration du certificat.
Remarque : vous trouverez des informations supplmentaires sur la nature des documents fournir en suivant ce
lien : https://www.thawte.com/ssl-digital-certificates/free-guides-whitepapers/pdf/enroll_codesign_eng.pdf.
4 Rcuprez le certificat mis depuis le site Thawte. Le certificat est automatiquement enregistr dans le magasin de
cls Firefox.
5 Exportez un fichier de magasin de cls contenant la cl prive et le certificat partir du magasin de cls Firefox en
procdant comme suit :
Remarque : lorsquils sont exports partir de Firefox, la cl prive et le certificat sont transmis dans un format p12
(pfx) exploitable par loutil ADT, Flex, Flash et Dreamweaver.
a Ouvrez la bote de dialogue Gestionnaire de certificats :
b Sous Windows : ouvrez Outils > Options > Avanc > Chiffrement > Afficher les certificats.
c Sous Mac OS : ouvrez Firefox > Prfrences > Avanc > Chiffrement > Afficher les certificats.
d Sous Linux : ouvrez Edition > Prfrences > Avanc > Chiffrement > Afficher les certificats.
e Slectionnez le certificat dveloppeur Adobe AIR partir de la liste des certificats et cliquez sur le bouton
Sauvegarder.
f Entrez un nom de fichier et indiquez lemplacement vers lequel exporter le fichier de magasin de cls, puis
cliquez sur Enregistrer.
g Si vous utilisez la fonction de mot de passe principal de Firefox et que vous voulez exporter le fichier, vous tes
invit prciser votre mot de passe pour le dispositif logiciel de scurit. (Ce mot de passe nest utilis que par
Firefox.)
h Dans la bote de dialogue Choisir un mot de passe de sauvegarde du certificat, crez un mot de passe pour le
fichier de magasin de cls.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 205
Signature dapplications AIR

Important : ce mot de passe protge le fichier de magasin de cls et il est requis lorsque le fichier est utilis pour
signer des applications AIR. Votre choix devrait se porter de prfrence sur un mot de passe scuris.
i Cliquez sur OK. Vous devriez recevoir un message de sauvegarde du mot de passe vous informant que
lopration a russi. Le fichier de magasin de cls, qui contient la cl prive et le certificat, est sauvegard au
moyen dune extension de fichier .p12 (au format PKCS12).
6 Utilisez le fichier de magasin de cls export avec loutil AIR Developer (ADT), Flash Builder, Flash Professional
ou Dreamweaver. Le mot de passe cr pour le fichier est demand chaque fois quune application AIR est signe.
Important : la cl prive et le certificat demeurent stocks dans le magasin de cls Firefox. Si cette procdure vous permet
dexporter un exemplaire supplmentaire du fichier de certificat, vous obtenez galement un autre point daccs quil faut
absolument protger pour prserver la scurit de votre certificat et de votre cl prive.

Changement de certificats
Il savre parfois ncessaire de changer de certificat pour signer les mises jour de lapplication AIR. Cette opration
est ainsi requise dans les circonstances suivantes :
Renouvellement du certificat dveloppeur original
Mise niveau partir dun certificat auto-sign vers un certificat mis par une autorit de certification
Changement dun certificat auto-sign sur le point dexpirer
Changement dun certificat commercial, par exemple lorsque les informations relatives lidentit de votre socit
sont modifies
Pour quAIR traite un fichier AIR comme une mise jour, vous devez signer la fois les fichiers AIR originaux et les
fichiers AIR de mise jour laide du mme certificat ou appliquer une signature de migration de certificat la mise
jour. Une signature de migration est une seconde signature applique au package AIR de mise jour laide du
certificat original. La signature de migration se base sur le certificat original pour attester que le signataire est bien
lditeur original de lapplication.
Lorsquun fichier AIR dot dune signature de migration est install, le nouveau certificat devient le certificat principal.
Les mises jour suivantes ne ncessitent pas de signature de migration. Dans la mesure du possible, vous devez
toutefois continuer appliquer des signatures de migration pour prendre en compte les utilisateurs qui neffectuent
pas toutes les mises jour.
Important : vous devez changer de certificat et appliquer une signature de migration la mise jour avec le certificat
original avant son expiration. Si vous neffectuez pas cette procdure, les utilisateurs doivent dsinstaller la version
existante de lapplication avant den installer une nouvelle version. Pour AIR 1.5.3 ou ultrieur, vous pouvez appliquer
une signature de migration laide dun certificat arriv expiration dans les 365 jours qui suivent la date dexpiration.
Il est toutefois impossible dappliquer la signature dapplication principale laide du certificat arriv expiration.
Pour changer de certificats :
1 Crez une mise jour de votre application.
2 Crez le package et signez le fichier AIR de mise jour laide du nouveau certificat.
3 Signez le fichier AIR de nouveau au moyen du certificat original (grce la commande -migrate de loutil ADT).
Un fichier AIR dot dune signature de migration est, dautres gards, un fichier AIR tout fait normal. Si
lapplication est installe sur un systme vierge de toute version originale, lenvironnement AIR installe la nouvelle
version de la faon habituelle.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 206
Signature dapplications AIR

Remarque : avant la version 1.5.3 dAIR, signer une application AIR laide dun certificat renouvel ne ncessitait pas
toujours une signature de migration. Depuis la version 1.5.3 dAIR, les certificats renouvels requirent imprativement
une signature de migration.
Pour appliquer une signature de migration, utilisez la Commande ADT migrate la page 182, comme le dcrit la
section Signature dune version mise jour dune application AIR la page 211.
Remarque : La commande ADT migrate ne peut pas tre utilise avec les applications de bureau AIR incluant des
extensions natives, car ces applications ont t mises en package comme des programmes dinstallation natifs, pas comme
des fichiers .air. Pour modifier les certificats pour une application AIR qui inclut une extension native, mettez
lapplication en package en utilisant la Commande ADT package la page 175 avec lindicateur -migrate.

Changement didentit dans une application


Dans les versions dAIR antrieures 1.5.3, lidentit dune application AIR changeait lors de linstallation dune mise
jour laquelle tait applique une signature de migration. Modifier lidentit dune application a diverses
consquences, savoir :
La nouvelle version de lapplication ne peut pas accder aux donnes contenues dans le magasin local chiffr
existant.
Lemplacement du rpertoire de stockage de lapplication change. Les donnes situes lancien emplacement ne
sont pas copies dans le nouveau rpertoire. (Par contre, la nouvelle application peut localiser le rpertoire dorigine
en fonction de lancien ID dditeur).
Lapplication ne peut plus ouvrir une seule connexion locale au moyen de lancien ID dditeur.
La chane didentit permettant daccder une application partir dune page Web change.
LOSID (dfinition dinterface de service ouverte) de lapplication change. (LOSID est utilise lors de la cration de
programmes dinstallation/de dsinstallation personnaliss.)
Lidentit de lapplication ne doit pas changer lors de la publication dune mise jour avec AIR 1.5.3 ou ultrieur. Le
descripteur dapplication du fichier AIR de mise jour doit comporter les identifiants dapplication et dditeur
originaux. Le nouveau package nest sinon pas trait comme une mise jour.
Remarque : lorsque vous publiez une nouvelle application avec AIR 1.5.3 ou une version ultrieure, ne stipulez pas
didentifiant dditeur.

Terminologie
Cette section propose un glossaire des termes essentiels votre comprhension lorsque vous dcidez de signer une
application pour la distribuer publiquement.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 207
Signature dapplications AIR

Terme Description

Autorit de certification Entit dans un rseau infrastructure de cl publique qui sert de tiers de confiance et qui, en
dfinitive, atteste de lidentit du propritaire dune cl publique. Normalement, une autorit de
certification met des certificats numriques, signs par sa propre cl prive, pour attester quelle
a effectivement contrl lidentit du dtenteur du certificat.

Dclaration des pratiques de Prsente les diffrentes pratiques et stratgies de lautorit de certification dans lmission et la
certification (Dclaration CPS) vrification des certificats. La dclaration des pratiques de certification, ou dclaration CPS
(Certification Practice Statement), fait partie intgrante du contrat qui lie lautorit de certification
avec ses abonns et parties de confiance. Elle dcrit galement dans les grandes lignes les
stratgies labores pour la vrification didentit et le niveau des garanties offertes par les
certificats fournis.

Liste de rvocation de certificats Liste des certificats mis qui ont t rvoqus et qui ne devraient plus tre considrs comme
dignes de confiance. Lenvironnement dexcution AIR vrifie la liste de rvocation des certificats
la signature dune application AIR et, si aucun horodatage nest prsent, renouvelle lopration
lorsque lapplication est installe.

Chane de certificats Une chane de certificats est une squence de certificats dans laquelle chaque certificat prsent a
t sign par le certificat qui lui succde.

Certificat numrique Document numrique contenant des informations sur lidentit du propritaire, la cl publique du
propritaire et lidentit du certificat lui-mme. Un certificat mis par une autorit de certification
est lui-mme sign par un certificat appartenant lautorit de certification mettrice.

Signature numrique Rsum ou message chiffr ne pouvant tre dchiffr qu laide de la paire cl publique et moiti
de la cl publique-prive. Dans une infrastructure de cl publique (PKI), une signature numrique
contient un ou plusieurs certificats numriques qui, en bout de chane, remontent jusqu
lautorit de certification. Une signature numrique peut servir garantir quun message (ou un
fichier informatique) na subi aucune modification depuis sa signature (dans les limites de la
garantie fournie par lalgorithme de chiffrement utilis) et, en admettant que lautorit de
certification mettrice soit juge digne de confiance, attester de lidentit du signataire.

Magasin de cls Base de donnes contenant des certificats numriques et, dans certains cas, les cls prives
associes.

architecture de chiffrement Java Architecture extensible propre la gestion et laccs des magasins de cls. Pour plus
(architecture JCA) dinformations, voir le Guide de rfrence de larchitecture JCA.

PKCS #11 Norme de chiffrement dinterface pour jeton labore par RSA Laboratories. Un magasin de cls
sur jeton (priphrique de scurit) matriel.

PKCS #12 Norme dcrivant la syntaxe des changes dinformations personnelles labore par RSA
Laboratories. Fichier de magasin de cls ; il contient habituellement une cl prive et son certificat
numrique associ.

Cl prive Systme de chiffrement asymtrique de la moiti prive de la cl deux composants public-priv.


La cl prive doit tre conserve dans un endroit secret et ne devrait jamais tre transmise via un
rseau. Les messages signs numriquement sont chiffrs par le signataire au moyen de la cl
prive.

Cl publique Systme de chiffrement asymtrique de la moiti publique de la cl deux composants public-


priv. La cl publique est disponible sans rserve : elle sert dchiffrer des messages chiffrs
laide de la cl prive.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 208
Signature dapplications AIR

Terme Description

Infrastructure de cl publique (PKI) Systme bas sur lapprobation dans lequel les autorits de certification garantissent lidentit des
propritaires de cls publiques. Les clients du rseau font confiance aux certificats numriques
mis par une autorit de certification approuve pour vrifier lidentit du signataire dun message
numrique (ou dun fichier).

Horodatage Donne signe numriquement qui contient la date et lheure auxquelles un vnement est
survenu. Loutil ADT peut englober un horodatage partir dun serveur de temps RFC 3161 (en
anglais) dans un package AIR. Lorsquil est prsent, lenvironnement AIR utilise lhorodatage pour
tablir la validit dun certificat au moment de la signature. Ceci permet linstallation dune
application AIR aprs lexpiration du certificat de signature.

Autorit dhorodatage Organisation ayant autorit pour mettre des horodatages. Pour tre reconnu par
lenvironnement AIR, lhorodatage doit tre conforme au protocole RFC 3161 et la signature de cet
horodatage doit tre lie par une chane de certificats un certificat racine de confiance sur
lordinateur dinstallation.

Certificats iOS
Les certificats dveloppeurs dlivrs par Apple permettent de signer les applications iOS, notamment celles qui sont
dveloppes dans Adobe AIR. Il est obligatoire dappliquer une signature laide dun certificat de dveloppement
Apple pour installer une application sur un priphrique de test. Lapplication dune signature par le biais dun
certificat de distribution est obligatoire pour distribuer lapplication finalise.
Pour signer une application, loutil ADT doit pouvoir accder au certificat dveloppeur et la cl prive associe. Le
fichier de certificat en tant que tel ne comprend pas de cl prive. Vous devez crer un keystore sous forme de fichier
dchange dinformations personnelles (.p12 or .pfx) qui contient la fois le certificat et la cl prive. Voir Conversion
dun certificat de dveloppement en fichier de keystore P12 la page 209.

Gnration dune demande de signature de certificat


Pour obtenir un certificat de dveloppement, vous gnrez une demande de signature de certificat, que vous envoyez
au portail iOS Provisioning Portal dApple.
Le processus de demande de signature de certificat gnre une paire cl publique-cl prive. La cl prive demeure sur
lordinateur. Vous envoyez la demande de signature de certificat contenant la cl publique et les informations
didentification Apple, qui fait office dautorit de certification. Apple signe le certificat par le biais de son propre
certificat WWDR (World Wide Developer Relations).

Gnration dune demande de signature de certificat sous Mac OS


Sous Mac OS, vous disposez de lapplication Trousseau daccs pour gnrer une demande de signature de code.
Lapplication Trousseau daccs rside dans le sous-rpertoire Utilitaires du rpertoire Applications. Vous trouverez
des instructions de gnration de la demande de signature de certificat sur le portail iOS Provisioning Portal dApple.

Gnration dune demande de signature de certificat sous Windows


Il est recommand aux dveloppeurs Windows dobtenir le certificat de dveloppement iPhone sur un ordinateur Mac.
Il leur est toutefois possible dobtenir ce certificat sous Windows. Commencez par crer une demande de signature de
certificat (fichier CSR) par le biais dOpenSSL en procdant comme suit :
1 Installez OpenSSL sur lordinateur Windows. (Accdez http://www.openssl.org/related/binaries.html.)
Il sera peut-tre ncessaire dinstaller galement les fichiers redistribuables Visual C++ 2008, recenss sur la page
de tlchargement OpenSSL. (Il est toutefois inutile dinstaller Visual C++ sur lordinateur.)
2 Ouvrez une session de commande Windows et accdez au rpertoire bin dOpenSSL (c:\OpenSSL\bin\, par
exemple).

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 209
Signature dapplications AIR

3 Crez la cl prive en entrant le texte ci-dessous sur la ligne de commande :


openssl genrsa -out mykey.key 2048

Enregistrez cette cl prive. Vous en aurez besoin ultrieurement.


Lorsque vous utilisez OpenSSL, tenez compte de tous les messages derreur. Mme si OpenSSL gnre un message
derreur, il est possible que la sortie de fichiers continue. Ces fichiers risquent toutefois dtre inutilisables. Si des
messages derreur sont gnrs, vrifiez la syntaxe et excutez nouveau la commande.
4 Crez le fichier CSR en entrant le texte ci-dessous sur la ligne de commande :
openssl req -new -key mykey.key -out CertificateSigningRequest.certSigningRequest -subj
"/emailAddress=yourAddress@example.com, CN=John Doe, C=US"

Remplacez ladresse lectronique, la valeur CN (nom du certificat) et la valeur C (pays) par vos coordonnes.
5 Tlchargez le fichier CSR sur le site du centre des dveloppeurs iPhone dApple. (Voir Demande de certificat de
dveloppement iPhone et cration dun profil de configuration .)

Conversion dun certificat de dveloppement en fichier de keystore P12


Pour crer un keystore P12, vous devez combiner le certificat de dveloppement Apple la cl prive associe dans un
fichier unique. Le processus de cration du fichier de keystore varie selon la mthode utilise pour gnrer la demande
de signature du certificat original et lemplacement de stockage de la cl prive.

Conversion du certificat de dveloppement iPhone en fichier P12 sous Mac OS


Une fois le certificat iPhone tlcharg dApple, exportez-le au format keystore P12. Procdez comme suit sous Mac OS :
1 Ouvrez lapplication Trousseau daccs (qui rside dans le dossier Applications/Utilitaires).
2 Si vous navez pas encore ajout le certificat au trousseau, slectionnez Fichier > Importer. Accdez ensuite au
fichier de certificat (fichier .cer) que vous avez obtenu dApple.
3 Slectionnez la catgorie Cls dans Trousseau daccs.
4 Slectionnez la cl prive associe au certificat de dveloppement iPhone.
La cl prive est identifie par le certificat public du dveloppeur iPhone : <Prnom> <Nom> auquel elle est
associe.
5 Cliquez sur le certificat de dveloppement iPhone en appuyant sur Commande et slectionnez Export iPhone
Developer: Name....
6 Enregistrez le keystore au format de fichier change dinformations personnelles (.p12).
7 Vous serez invit crer un mot de passe utilis lorsque vous signez des applications par le biais du keystore ou
lorsque vous transfrez la cl et le certificat stocks dans ce keystore vers un autre keystore.

Conversion dun certificat de dveloppement Apple en fichier P12 sous Windows


Pour dvelopper des applications AIR for iOS, vous devez disposer dun fichier de certificat P12. Vous gnrez ce
certificat partir du fichier de certificat de dveloppement iPhone envoy par Apple.
1 Convertissez le certificat de dveloppement reu dApple en certificat PEM. Excutez linstruction de ligne de
commande suivante partir du rpertoire bin dOpenSSL :
openssl x509 -in developer_identity.cer -inform DER -out developer_identity.pem -outform PEM

2 Si vous utilisez la cl prive extraite du trousseau sur un ordinateur Mac, convertissez-la en cl PEM :
openssl pkcs12 -nocerts -in mykey.p12 -out mykey.pem

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 210
Signature dapplications AIR

3 Vous pouvez maintenant gnrer un fichier P12 valide bas sur la cl et la version PEM du certificat de
dveloppement iPhone :
openssl pkcs12 -export -inkey mykey.key -in developer_identity.pem -out iphone_dev.p12

Si vous utilisez une cl issue du trousseau Mac OS, utilisez la version PEM gnre ltape prcdente. Si tel nest
pas le cas, utilisez la cl OpenSSL gnre prcdemment (sous Windows).

Cration dun fichier AIR intermdiaire non sign


laide de loutil ADT
La commande -prepare permet de crer un fichier AIR intermdiaire non sign. Un fichier AIR intermdiaire doit
tre sign laide de la commande -sign dADT pour pouvoir gnrer un fichier dinstallation AIR valide.
La commande -prepare admet les mmes indicateurs et paramtres que la commande -package ( lexception des
options de signature). Ces deux commandes ne diffrent que par le fait que le fichier de sortie est sign ou non. Le
fichier intermdiaire est gnr avec la mme extension de nom de fichier : airi.
Pour signer un fichier intermdiaire AIR, utilisez la commande -sign dADT (Voir Commande ADT prepare la
page 182.)

Exemple dutilisation de la commande ADT -prepare


adt -prepare unsignedMyApp.airi myApp.xml myApp.swf components.swc

Signature dun fichier intermdiaire AIR laide de


loutil ADT
Pour signer un fichier intermdiaire AIR laide dADT, utilisez la commande -sign dADT. La commande sign
fonctionne uniquement avec les fichiers intermdiaires AIR (dots de lextension airi). Il est impossible de signer un
fichier AIR une seconde fois.
Pour crer un fichier intermdiaire AIR, utilisez la commande -prepare dADT (Voir Commande ADT prepare
la page 182.)

Signature dun fichier AIRI


Faites appel la commande -sign dADT en respectant la syntaxe suivante :
adt -sign SIGNING_OPTIONS airi_file air_file

SIGNING_OPTIONS Les options de signature permettent didentifier la cl prive et le certificat utiliss pour
signer le fichier AIR. Ces options sont dcrites la section Options de signature du code de loutil ADT la
page 189.
airi_file Chemin daccs au fichier intermdiaire AIR non sign signer.
air_file Nom du fichier AIR crer.

Exemple dutilisation de la commande ADT -sign


adt -sign -storetype pkcs12 -keystore cert.p12 unsignedMyApp.airi myApp.air

Pour plus dinformations, voir Commande ADT sign la page 182.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 211
Signature dapplications AIR

Signature dune version mise jour dune application


AIR
Chaque fois que vous crez une version mise jour dune application AIR existante, vous signez lapplication mise
jour. Dans le meilleur des cas, vous pouvez signer la version mise jour laide du mme certificat que celui que vous
aviez utilis pour la version prcdente. La procdure est alors parfaitement identique celle de la premire signature
de lapplication.
Si le certificat utilis pour signer la version prcdente de lapplication est arriv expiration ou a t remplac, vous
pouvez utiliser le certificat renouvel ou le certificat de remplacement pour signer la version mise jour. Pour ce faire,
signez lapplication avec le nouveau certificat et appliquez une signature de migration en utilisant le certificat dorigine.
La signature de migration garantit que le propritaire du certificat original a publi la mise jour.
Avant dappliquer une signature de migration, tenez compte des lments suivants :
Pour pouvoir appliquer une signature de migration, le certificat original doit tre valide ou tre arriv expiration
il y a moins de 365 jours. La dure de ce dlai est susceptible dtre modifie ultrieurement.
Remarque : jusqu la version 2.6 dAIR, ce dlai tait de 180 jours.
Il est impossible dappliquer une signature de migration au terme du dlai de 365 jours qui suit lexpiration du
certificat. Dans ce cas, les utilisateurs doivent dsinstaller la version existante avant dinstaller la version mise jour.
Le dlai de 365 jours ne sapplique quaux applications pour lesquelles lespace de noms spcifie AIR 1.5.3 ou une
version ultrieure dans le fichier descripteur.
Important : la signature de mises jour par le biais de signatures de migration issues de certificats arrivs expiration
ne constitue quune solution temporaire. Pour une solution long terme, crez un flux de travail de signature standardis
destin grer le dploiement de mises jour dapplication. Par exemple, signez chaque mise jour avec le certificat le
plus rcent et appliquez un certificat de migration en utilisant le certificat avec lequel la dernire version a t signe (le
cas chant). Chargez chaque mise jour vers sa propre URL, depuis laquelle les utilisateurs peuvent tlcharger
lapplication. Pour plus dinformations, voir Flux de travail de signature associ aux mises jour dapplication la
page 275.
Le tableau et la figure qui suivent rsument le flux de travail associ aux signatures de migration :

Scnario tat du certificat Action du dveloppeur Action de lutilisateur


dorigine

Application base Valide Publiez la version la plus rcente de Aucune action requise
sur le moteur lapplication AIR.
dexcution Lapplication est automatiquement
dAdobe AIR 1.5.3 mise niveau.
ou ultrieur
Arriv expiration, mais Signez lapplication laide du nouveau Aucune action requise
le dlai de 365 jours certificat. Appliquez une signature de
nest pas dpass migration en utilisant le certificat expir. Lapplication est automatiquement
mise niveau.

Arriv expiration et Il est impossible dappliquer la signature de Dsinstallez la version actuelle de


dlai dpass migration la mise jour de lapplication AIR. lapplication AIR et installez la
version la plus rcente.
Vous devez plutt publier une autre version de
lapplication AIR laide dun nouveau certificat.
Les utilisateurs peuvent installer la nouvelle
version aprs avoir dsinstall la version
existante de lapplication AIR.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 212
Signature dapplications AIR

Scnario tat du certificat Action du dveloppeur Action de lutilisateur


dorigine

Application Valide Publiez la version la plus rcente de Aucune action requise


base sur le lapplication AIR.
Lapplication est automatiquement
moteur mise niveau.
dexcution
dAdobe Arriv expiration et Il est impossible dappliquer la signature de Dsinstallez la version actuelle de
AIR 1.5.2 ou dlai dpass migration la mise jour de lapplication AIR. lapplication AIR et installez la
antrieur version la plus rcente.
Vous devez plutt publier une autre version de
Lidentifiant lapplication AIR laide dun nouveau certificat.
dditeur Les utilisateurs peuvent installer la nouvelle
figurant dans le version aprs avoir dsinstall la version
descripteur existante de lapplication AIR.
dapplication de
la mise jour
correspond
celui de la
version
prcdente

Application Tous les tats Signez lapplication AIR laide dun certificat Dsinstallez la version actuelle de
base sur le valide et publiez la version la plus rcente de lapplication AIR et installez la
moteur lapplication AIR version la plus rcente.
dexcution
dAdobe
AIR 1.5.2 ou
antrieur

Lidentifiant
dditeur
figurant dans le
descripteur
dapplication de
la mise jour ne
correspond pas
celui de la
version
prcdente

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 213
Signature dapplications AIR

1.0
C1

Version dAIR antrieure 1.5.3 Version 1.5.3 ou ultrieure dAIR

Nouvelle
ID diteur Non installation Non
identique valeur Le certificat a-t-il
dorigine? expir?
1.0
C1
Supprimer
Oui Oui

2.0
C2
Oui Non
Le certificat a-t-il Installer Priode dexpiration
expir? < 180 jours?
Les utilisateurs
doivent dsinstaller
lancienne version
pour installer la
Non version mise jour. Oui

Publier mise jour

Crez une version mise jour de lapplication.

Signez lapplication avec le nouveau certificat C2.

Appliquez la signature de migration lapplication


avec le certificat dorigine C1 laide de la
commande adt -migrate.

Lgendes:
1.0 Ancienne application
C1 Ancien certificat
2.0 Nouvelle application
C2 Nouveau certificat

Flux de travail de signature associ aux mises jour

Migration dune application AIR en vue dutiliser un nouveau certificat


Pour effectuer la migration dune application AIR vers un nouveau certificat lors de la mise jour de lapplication :
1 Crez une mise jour de votre application.
2 Crez le package et signez le fichier AIR de mise jour laide du nouveau certificat.
3 Signez nouveau le fichier AIR au moyen du certificat dorigine en utilisant la commande -migrate.
Un fichier AIR sign avec la commande -migrate permet de mettre jour de toute version prcdente de lapplication
signe laide de lancien certificat, mais aussi dinstaller une nouvelle version de lapplication.
Remarque : lors de la mise jour dune application publie pour une version dAIR antrieure 1.5.3, stipulez
lidentifiant dditeur original dans le fichier descripteur de lapplication. Les utilisateurs de lapplication devront sinon
dsinstaller la version antrieure avant dinstaller la mise jour.
Faites appel la commande -migrate dADT en respectant la syntaxe suivante :
adt -migrate SIGNING_OPTIONS air_file_in air_file_out

SIGNING_OPTIONS Les options de signature permettent didentifier la cl prive et le certificat utiliss pour
signer le fichier AIR. Ces options doivent identifier le certificat de signature dorigine. Elles sont dcrites la
section Options de signature du code de loutil ADT la page 189.
air_file_in Fichier AIR destin la mise jour, sign au moyen du nouveau certificat.
air_file_out Fichier AIR crer.
Remarque : les fichiers dentre et de sortie AIR doivent porter un nom diffrent.
Lexemple montre lappel dADT avec lindicateur -migrate pour appliquer une signature de migration une version
mise jour dune application AIR :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 214
Signature dapplications AIR

adt -migrate -storetype pkcs12 -keystore cert.p12 myAppIn.air myApp.air

Remarque : la commande -migrate a t ajoute loutil ADT dans la version 1.1 dAIR.

Migration dune application AIR avec programme dinstallation natif afin


dutiliser un nouveau certificat
Une application AIR publie en tant que programme dinstallation natif (par exemple, une application qui utilise lAPI
dextension native) ne peut pas tre signe laide de la commande ADT -migrate car il sagit dune application native
spcifique la plate-forme, pas dun fichier .air. Pour effectuer la migration dune application AIR publie en tant
quextension native vers un nouveau certificat, mieux vaut procder comme suit :
1 Crez une mise jour de votre application.
2 Assurez-vous que, dans votre fichier de descripteur dapplication (app.xml), la balise <supportedProfiles> inclut
le profil de bureau et le profil de bureau tendu (extendedDesktop) (ou retirez la balise <supportedProfiles> du
descripteur dapplication).
3 Mettez en package et signez lapplication mise jour en tant que fichier .air en utilisant la commande ADT -
package avec le nouveau certificat.

4 Appliquez le certificat de migration au fichier .air laide de la commande ADT -migrate en utilisant le certificat
dorigine (comme dcrit plus haut dans Migration dune application AIR en vue dutiliser un nouveau certificat
la page 213).
5 Mettez le fichier .air en package dans un programme dinstallation natif en utilisant la commande ADT -package
avec lindicateur -target native. Comme lapplication est dj signe, vous navez pas besoin de spcifier un
certificat de signature cette tape.
Lexemple suivant illustre les tapes 3 5 de ce processus. Le code appelle ADT avec la commande -package, puis avec
-migrate et enfin une nouvelle fois avec -package afin de mettre en package une version mise jour dune
application AIR sous forme de programme dinstallation natif :
adt -package -storetype pkcs12 -keystore new_cert.p12 myAppUpdated.air myApp.xml myApp.swf
adt -migrate -storetype pkcs12 -keystore original_cert.p12 myAppUpdated.air myAppMigrate.air
adt -package -target native myApp.exe myAppMigrate.air

Migration dune application AIR qui utilise une extension native en vue
dutiliser un nouveau certificat
Une application AIR qui utilise une extension native ne peut pas tre signe laide de la commande ADT -migrate.
Il est galement impossible deffectuer sa migration laide de la procdure de migration dune application AIR avec
programme dinstallation natif, car elle ne peut pas tre publie en tant que fichier .air intermdiaire. Pour effectuer la
migration dune application AIR qui utilise une extension native vers un nouveau certificat, mieux vaut procder
comme suit :
1 Crez une mise jour de votre application.
2 Mettez en package et signez le programme dinstallation natif de la mise jour en utilisant la commande ADT -
package. Mettez lapplication en package avec le nouveau certificat, et incluez lindicateur -migrate dsignant le
certificat dorigine.
Utilisez la syntaxe suivant pour appeler la commande ADT -package avec lindicateur -migrate :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 215
Signature dapplications AIR

adt -package AIR_SIGNING_OPTIONS -migrate MIGRATION_SIGNING_OPTIONS -target package_type


NATIVE_SIGNING_OPTIONS output app_descriptor FILE_OPTIONS

AIR_SIGNING_OPTIONS Les options de signature permettent didentifier la cl prive et le certificat utiliss


pour signer le fichier AIR. Ces options identifient le nouveau certificat de signature. Elles sont dcrites la section
Options de signature du code de loutil ADT la page 189.
MIGRATION_SIGNING_OPTIONS Les options de signature permettent didentifier la cl prive et le certificat
utiliss pour signer le fichier AIR. Ces options identifient le certificat de signature dorigine. Elles sont dcrites la
section Options de signature du code de loutil ADT la page 189.
Les autres options sont les mmes que celles utilises pour la mise en package dune application AIR avec
programme dinstallation natif et sont dcrites la section Commande ADT package la page 175.
Lexemple suivant montre comment appeler ADT avec la commande -package et lindicateur -migrate en vue de
mettre en package une version mise jour dune application AIR qui utilise une extension native et dappliquer une
signature de migration la mise jour :
adt -package -storetype pkcs12 -keystore new_cert.p12 -migrate -storetype pkcs12 -keystore
original_cert.p12 -target native myApp.exe myApp.xml myApp.swf

Remarque : lindicateur -migrate de la commande -package est disponible dans ADT dans AIR 3.6 et ultrieur.

Cration dun certificat auto-sign laide de loutil ADT


Les certificats auto-signs permettent de produire un fichier dinstallation AIR valide. Ils nassurent toutefois quune
scurit limite aux utilisateurs. Il est impossible de vrifier lauthenticit des certificats auto-signs. Lorsquun
fichier AIR auto-sign est install, les informations relatives lditeur sont prsentes lutilisateur comme tant
inconnues. Un certificat gnr par ADT est valable pendant cinq ans.
Si vous crez une mise jour dune application AIR signe laide dun certificat gnr automatiquement, vous devez
utiliser le mme certificat pour signer les fichiers AIR dorigine et de mise jour. Les certificats gnrs par ADT sont
toujours uniques, mme si les paramtres dfinis sont identiques pour plusieurs dentre eux. Par consquent, si vous
souhaitez auto-signer des mises jour au moyen dun certificat gnr par loutil ADT, conservez en lieu sr le
certificat dorigine. De plus, vous ne pourrez pas crer de fichier AIR mis jour aprs lexpiration du certificat initial
gnr par ADT. (Vous pouvez certes diter de nouvelles applications dotes dun autre certificat, mais pas de
nouvelles versions de la mme application.)
Important : en raison des limites des certificats auto-signs, Adobe vous recommande vivement dutiliser un certificat
commercial mis par une autorit de certification rpute pour signer des applications AIR destines au public.
Le certificat et la cl prive associe gnrs par loutil ADT sont stocks dans un fichier keystore de type PKCS12. Le
mot de passe spcifi est dfini sur la cl proprement dite, pas dans le keystore.

Exemples de gnration de certificats


adt -certificate -cn SelfSign -ou QE -o "Example, Co" -c US 2048-RSA newcert.p12 39#wnetx3tl
adt -certificate -cn ADigitalID 1024-RSA SigningCert.p12 39#wnetx3tl

Pour signer des fichiers AIR laide de ces certificats, utilisez les options de signature avec les commandes -package
ou -prepare dADT :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 216
Signature dapplications AIR

-storetype pkcs12 -keystore newcert.p12 -storepass 39#wnetx3tl


-storetype pkcs12 -keystore SigningCert.p12 -storepass 39#wnetx3tl

Remarque : la version 1.5 et les versions ultrieures de Java ne prennent pas en charge les caractres ASCII tendus dans
les mots de passe de protection des fichiers de certificats PKCS12. Le mot de passe ne doit contenir que des caractres
ASCII standard.

Dernire mise jour le 6/3/2017


217

Chapitre 14 : Fichiers descripteurs


dapplications AIR
Toute application AIR requiert un fichier descripteur dapplication. Le fichier descripteur dune application est un
document XML qui dfinit les proprits de base de cette dernire.
De nombreux environnements de dveloppement prenant AIR en charge gnrent automatiquement un descripteur
dapplication lorsque vous crez un projet. Dans le cas contraire, vous devez crer votre propre fichier descripteur. Un
exemple de fichier descripteur, descriptor-sample.xml, se trouve dans le rpertoire samples des kits SDK AIR et Flex.
Vous pouvez attribuer nimporte quel nom un fichier descripteur dapplication. Lorsque vous mettez en package
lapplication, le nom du fichier descripteur dapplication est remplac par application.xml. Le fichier est ensuite
plac dans un rpertoire spcial au sein du package AIR.

Exemple de fichier descripteur dapplication


Le document descripteur dapplication suivant dfinit les proprits de base utilises par la plupart des applications AIR :
<?xml version="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/3.0">
<id>example.HelloWorld</id>
<versionNumber>1.0.1</versionNumber>
<filename>Hello World</filename>
<name>Example Co. AIR Hello World</name>
<description>
<text xml:lang="en">This is an example.</text>
<text xml:lang="fr">C'est un exemple.</text>
<text xml:lang="es">Esto es un ejemplo.</text>
</description>
<copyright>Copyright (c) 2010 Example Co.</copyright>
<initialWindow>
<title>Hello World</title>
<content>
HelloWorld.swf
</content>
</initialWindow>
<icon>
<image16x16>icons/smallIcon.png</image16x16>
<image32x32>icons/mediumIcon.png</image32x32>
<image48x48>icons/bigIcon.png</image48x48>
<image128x128>icons/biggerIcon.png</image128x128>
</icon>
</application>

Si lapplication utilise un fichier HTML comme contenu racine plutt quun fichier SWF, seul llment <content>
est diffrent :
<content>
HelloWorld.html
</content>

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 218
Fichiers descripteurs dapplications AIR

Modifications apportes au fichier descripteur


dapplication
Le fichier descripteur dapplication AIR a t modifi dans les versions suivantes dAIR.

Modifications apportes au fichier descripteur dans AIR 1.1


lments dapplication autoriss name et description localiser par le biais de llment text.

Modifications apportes au fichier descripteur dans AIR 1.5


Llment contentType est devenu un enfant obligatoire de llment fileType.

Modifications apportes au fichier descripteur dans AIR 1.5.3


Llment publisherID a t ajout pour autoriser les applications spcifier une valeur didentifiant dditeur.

Modifications apportes au fichier descripteur dans AIR 2.0


lments ajouts :
aspectRatio

autoOrients

fullScreen

image29x29 (voir imageNxN)

image57x57

image72x72

image512x512

iPhone

renderMode

supportedProfiles

Modifications apportes au fichier descripteur dans AIR 2.5


lment supprim : version
lments ajouts :
android

extensionID

extensions

image36x36 (voir imageNxN)

manifestAdditions

versionLabel

versionNumber

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 219
Fichiers descripteurs dapplications AIR

Modifications apportes au fichier descripteur dans AIR 2.6


lments ajouts :
image114x114 (voir imageNxN)

requestedDisplayResolution

softKeyboardBehavior

Modifications apportes au fichier descripteur dans AIR 3.0


lments ajouts :
colorDepth

direct comme valeur valide de renderMode


Llment renderMode nest plus ignor pour les plates-formes de bureau
Il est possible de spcifier llment <uses-sdk> dAndroid (alors que cela tait impossible auparavant).

Modifications apportes au fichier descripteur dans AIR 3.1


lments ajouts :
Entitlements la page 231

Modifications apportes au fichier descripteur dans AIR 3.2


lments ajouts :
depthAndStencil

supportedLanguages

Modifications apportes au fichier descripteur dans AIR 3.3


lments ajouts :
aspectRatio inclut dsormais loption ANY.

Modifications apportes au fichier descripteur dans AIR 3.4


lments ajouts :
image50x50 (voir imageNxN la page 239)

image58x58 (voir imageNxN la page 239)

image100x100 (voir imageNxN la page 239)

image1024x1024 (voir imageNxN la page 239)

Modifications apportes au fichier descripteur dans AIR 3.6


lments ajouts :
requestedDisplayResolution la page 250 dans llment iPhone la page 243 inclut dsormais un attribut
excludeDevices, vous permettant de spcifier si les cibles iOS utilisent une rsolution leve ou standard.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 220
Fichiers descripteurs dapplications AIR

Le nouvel lment requestedDisplayResolution la page 250 dans initialWindow la page 241 indique sil
faut utiliser une rsolution leve ou standard sur les plates-formes telles que les Mac quips dcrans haute
rsolution.

Modifications apportes au descripteur dAIR 3.7


lments ajouts :
Llment iPhone la page 243 propose maintenant un lment externalSwfs la page 233, qui permet
dindiquer une liste de fichiers SWF charger lexcution.
Llment iPhone la page 243 propose maintenant un lment forceCPURenderModeForDevices la
page 236, qui permet de forcer le mode de rendu UC pour un ensemble de priphriques spcifi.

Structure du fichier descripteur dapplication


Le fichier descripteur dapplication est un document XML dont la structure est la suivante :
<application xmlns="http://ns.adobe.com/air/application/3.0">
<allowBrowserInvocation>...<allowBrowserInvocation>
<android>
<colorDepth>...</colorDepth>
<manifestAdditions
<manifest>...</manifest>
]]>
</manifestAdditions
</android>
<copyright>...</copyright>
customUpdateUI>...</
<description>
<text xml:lang="...">...</text>
</description>
<extensions>
<extensionID>...</extensionID>
</extensions>
<filename>...</filename>
<fileTypes>
<fileType>
<contentType>...</contentType>
<description>...</description>
<extension>...</extension>
<icon>
<imageNxN>...</imageNxN>
</icon>
<name>...</name>
</fileType>
</fileTypes>
<icon>
<imageNxN>...</imageNxN>
</icon>
<id>...</id>
<initialWindow>
<aspectRatio>...</aspectRatio>
<autoOrients>...</autoOrients>

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 221
Fichiers descripteurs dapplications AIR

<content>...</content>
<depthAndStencil>...</depthAndStencil>
<fullScreen>...</fullScreen>
<height>...</height>
<maximizable>...</maximizable>
<maxSize>...</maxSize>
<minimizable>...</minimizable>
<minSize>...</minSize>
<renderMode>...</renderMode>
<requestedDisplayResolution>...</requestedDisplayResolution>
<resizable>...</resizable>
<softKeyboardBehavior>...</softKeyboardBehavior>
<systemChrome>...</systemChrome>
<title>...</title>
<transparent>...</transparent>
<visible>...</visible>
<width>...</width>
<x>...</x>
<y>...</y>
</initialWindow>
<installFolder>...</installFolder>
<iPhone>
<Entitlements>...</Entitlements>
<InfoAdditions>...</InfoAdditions>
<requestedDisplayResolution>...</requestedDisplayResolution>
<forceCPURenderModeForDevices>...</forceCPURenderModeForDevices>
<externalSwfs>...</externalSwfs>
</iPhone>
<name>
<text xml:lang="...">...</text>
</name>
<programMenuFolder>...</programMenuFolder>
<publisherID>...</publisherID>
< supportedLanguages la page 252>...</ supportedLanguages la page 252>
<supportedProfiles>...</supportedProfiles>
<versionNumber>...</versionNumber>
<versionLabel>...</versionLabel>
</application>

lments du fichier descripteur dapplication AIR


Le dictionnaire dlments suivant dcrit chaque lment valide dun fichier descripteur dapplication AIR.

allowBrowserInvocation
Adobe AIR 1.0 et ultrieur : facultatif

Permet lAPI intgre au navigateur AIR de dtecter et lancer lapplication.


Si vous dfinissez cette valeur sur true, tenez compte des implications au niveau de la scurit. Ces implications sont
dcrites dans Appel dune application AIR partir du navigateur (dveloppeurs ActionScript) et Appel dune
application AIR partir du navigateur (dveloppeurs HTML).
Pour plus dinformations, voir Lancement dune application AIR installe partir du navigateur la page 271.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 222
Fichiers descripteurs dapplications AIR

lment parent : application la page 222


lments enfants : aucun

Contenu
true ou false (valeur par dfaut)

Exemple
<allowBrowserInvocation>true </allowBrowserInvocation>

android
Adobe AIR 2.5 et versions ultrieures : facultatif

Permet dajouter des lments au fichier manifeste Android. AIR cre un fichier AndroidManifest.xml par package
APK. Llment android du fichier descripteur dapplication AIR permet de lui ajouter dautres lments. Cet lment
est ignor sur toutes les plates-formes, lexception dAndroid.
lment parent : application la page 222
lments enfants :
colorDepth la page 226
manifestAdditions la page 244

Contenu
lments qui dfinissent les proprits propres Android ajouter au fichier manifeste de lapplication Android.

Exemple
<android>
<manifestAdditions>
...
</manifestAdditions>
</android>

Voir aussi
Paramtres Android la page 79
The AndroidManifest.xml File (disponible en anglais uniquement)

application
Adobe AIR 1.0 et ultrieur : obligatoire

lment racine dun document descripteur dapplication AIR.


lment parent : aucun
lments enfants :
allowBrowserInvocation la page 221
android la page 222

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 223
Fichiers descripteurs dapplications AIR

copyright la page 228


customUpdateUI la page 229
description la page 230
extensions la page 233
filename la page 234
fileTypes la page 235
icon la page 238
id la page 239
initialWindow la page 241
installFolder la page 242
iPhone la page 243
name la page 247
programMenuFolder la page 248
publisherID la page 248
supportedLanguages la page 252
supportedProfiles la page 252
version la page 255
versionLabel la page 255
versionNumber la page 256

Attributs
minimumPatchLevel : niveau de correctif minimal du moteur dexcution dAIR requis par lapplication.
xmlns : lattribut despace de noms XML dtermine la version du moteur dexcution dAIR requise par lapplication.
Lespace de noms est modifi pour chaque nouvelle version majeure dAIR (mais non pour les correctifs mineurs). Le
dernier segment de lespace de noms, tel que 3.0 , indique la version du moteur dexcution requise par lapplication.
Les valeurs xmlns associes aux versions majeures dAIR sont les suivantes :
xmlns="http://ns.adobe.com/air/application/1.0"
xmlns="http://ns.adobe.com/air/application/1.1"
xmlns="http://ns.adobe.com/air/application/1.5"
xmlns="http://ns.adobe.com/air/application/1.5.2"
xmlns="http://ns.adobe.com/air/application/1.5.3"
xmlns="http://ns.adobe.com/air/application/2.0"
xmlns="http://ns.adobe.com/air/application/2.5"
xmlns="http://ns.adobe.com/air/application/2.6"
xmlns="http://ns.adobe.com/air/application/2.7"
xmlns="http://ns.adobe.com/air/application/3.0"
xmlns="http://ns.adobe.com/air/application/3.1"
xmlns="http://ns.adobe.com/air/application/3.2"
xmlns="http://ns.adobe.com/air/application/3,3"
xmlns="http://ns.adobe.com/air/application/3.4"
xmlns="http://ns.adobe.com/air/application/3.5"
xmlns="http://ns.adobe.com/air/application/3.6"
xmlns="http://ns.adobe.com/air/application/3.7"

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 224
Fichiers descripteurs dapplications AIR

Dans le cas des applications de type SWF, la version du moteur dexcution dAIR spcifie dans le fichier descripteur
dapplication dtermine la version SWF maximale pouvant tre charge en tant que contenu initial de lapplication.
Les applications qui spcifient AIR 1.0 ou AIR 1.1 ne peuvent utiliser que des fichiers SWF9 (Flash Player 9) en tant
que contenu initial, mme en cas dexcution avec le moteur dexcution dAIR 2. Les applications qui spcifient
AIR 1.5 (ou une version ultrieure) peuvent utiliser des fichiers SWF9 ou SWF10 (Flash Player 10) en tant que contenu
initial.
La version SWF dtermine la version des API AIR et Flash Player disponibles. Lorsquun fichier SWF9 est utilis en
tant que contenu initial dune application AIR 1.5, cette application na accs quaux API AIR 1.1 et Flash Player 9. De
plus, les modifications de comportement apportes aux API existantes dans AIR 2.0 ou Flash Player 10.1 nont aucun
effet. (Les modifications de scurit importantes apportes aux API sont une exception ce principe et peuvent tre
appliques de faon rtroactive aux correctifs prsents ou futurs du moteur dexcution.)
Pour les applications HTML, la version du moteur dexcution spcifie dans le descripteur dapplication dtermine
la version des API AIR et Flash Player accessible lapplication. Les comportements HTML, CSS et JavaScript sont
toujours dtermins par la version de WebKit utilise dans le moteur dexcution dAIR install, et non par le fichier
descripteur dapplication.
Lorsquune application AIR charge du contenu SWF, la version des API AIR et Flash Player disponibles pour ce
contenu dpend de la manire dont le contenu est charg. Il arrive que la version soit dtermine par lespace de noms
du descripteur dapplication, par la version du contenu en cours de chargement ou par la version du contenu charg.
Le tableau suivant montre comment la version de lAPI est dtermine en fonction de la mthode de chargement :

Mthode de chargement du contenu Mthode de dtermination de la version de lAPI

Contenu initial, application de type SWF Version SWF du fichier loaded

Contenu initial, application de type HTML Espace de nom du descripteur dapplication

SWF charg par le contenu SWF Version du contenu loading

Bibliothque SWF charge par le contenu HTML Espace de nom du descripteur dapplication
via la balise <script>

Fichier SWF charg par le contenu HTML, via les Espace de nom du descripteur dapplication
API AIR ou Flash Player (flash.display.Loader, par
exemple)

SWF charg par le contenu HTML via les balises Version SWF du fichier loaded
<object> ou <embed> (ou les API JavaScript
quivalentes)

Lors du chargement dun fichier SWF dune version diffrente de celle du contenu en cours de chargement, deux
problmes peuvent survenir :
Chargement dun fichier SWF dune version rcente par un fichier SWF dune version antrieure : les rfrences
aux API ajoutes versions rcentes dAIR et de Flash Player dans le contenu charg ne sont pas rsolues.
Chargement dun fichier SWF dune ancienne version par un fichier SWF dune version rcente : les API modifies
dans les versions rcentes dAIR et de Flash Player peuvent adopter un comportement auquel le contenu charg ne
sattend pas.

Contenu
Llment de lapplication contient des lments enfants qui dfinissent les proprits dune application AIR.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 225
Fichiers descripteurs dapplications AIR

Exemple
<?xml version="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/3.0">
<id>HelloWorld</id>
<version>2.0</version>
<filename>Hello World</filename>
<name>Example Co. AIR Hello World</name>
<description>
<text xml:lang="en">This is an example.</text>
<text xml:lang="fr">C'est un exemple.</text>
<text xml:lang="es">Esto es un ejemplo.</text>
</description>
<copyright>Copyright (c) 2010 Example Co.</copyright>
<initialWindow>
<title>Hello World</title>
<content>
HelloWorld.swf
</content>
<systemChrome>none</systemChrome>
<transparent>true</transparent>
<visible>true</visible>
<minSize>320 240</minSize>
</initialWindow>
<installFolder>Example Co/Hello World</installFolder>
<programMenuFolder>Example Co</programMenuFolder>
<icon>
<image16x16>icons/smallIcon.png</image16x16>
<image32x32>icons/mediumIcon.png</image32x32>
<image48x48>icons/bigIcon.png</image48x48>
<image128x128>icons/biggestIcon.png</image128x128>
</icon>
<customUpdateUI>true</customUpdateUI>
<allowBrowserInvocation>false</allowBrowserInvocation>
<fileTypes>
<fileType>
<name>adobe.VideoFile</name>
<extension>avf</extension>
<description>Adobe Video File</description>
<contentType>application/vnd.adobe.video-file</contentType>
<icon>
<image16x16>icons/avfIcon_16.png</image16x16>
<image32x32>icons/avfIcon_32.png</image32x32>
<image48x48>icons/avfIcon_48.png</image48x48>
<image128x128>icons/avfIcon_128.png</image128x128>
</icon>
</fileType>
</fileTypes>
</application>

aspectRatio
Adobe AIR 2.0 et versions ultrieures, iOS et Android : facultatif

Dfinit le format de lapplication.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 226
Fichiers descripteurs dapplications AIR

Si le format nest pas spcifi, lapplication souvre dans le format et lorientation naturels du priphrique.
Lorientation naturelle varie selon le priphrique. En rgle gnrale, il sagit du format portrait sur les priphriques
quips dun cran de petite taille, tels que les tlphones. Sur certains priphriques, tels que la tablette iPad,
lapplication souvre dans lorientation active. Dans AIR 3.3 et les versions ultrieures, cela sapplique la totalit de
lapplication et pas simplement laffichage initial.
lment parent : initialWindow la page 241
lments enfants : aucun

Contenu
portrait, landscape ou any

Exemple
<aspectRatio> landscape</aspectRatio>

autoOrients
Adobe AIR 2.0 et versions ultrieures, iOS et Android : facultatif

Indique si lorientation du contenu de lapplication est automatiquement modifie lorsque le priphrique pivote.
Pour plus dinformations, voir Orientation de la scne.
Si vous utilisez lorientation automatique, envisagez de dfinir les proprits align et scaleMode de lobjet Stage sur
les valeurs suivantes :
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;

Ces paramtres permettent lapplication de pivoter autour de langle suprieur gauche et interdisent la mise lchelle
automatique de son contenu. Bien que les autres modes de mise lchelle ajustent le contenu en fonction des
dimensions de la scne au terme de sa rotation, ils entranent galement un dcoupage, une distorsion ou une
rduction excessive du contenu. Il est quasiment toujours prfrable de redessiner le contenu ou den modifier
nouveau la disposition manuellement.
lment parent : initialWindow la page 241
lments enfants : aucun

Contenu
true ou false (valeur par dfaut)

Exemple
<autoOrients>true </autoOrients>

colorDepth
Adobe AIR 3 et versions ultrieures : facultatif

Indique quand utiliser la couleur 16 bits ou la couleur 32 bits.


Lutilisation de la couleur 16 bits peut augmenter les performances de rendu, au dtriment de la fidlit des couleurs.
Dans les versions antrieures AIR 3, la couleur 16 bits est toujours utilise sur Android. Dans AIR 3, la couleur 32 bits
est utilise par dfaut.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 227
Fichiers descripteurs dapplications AIR

Remarque : si votre application utilise la classe StageVideo, vous devez utiliser la couleur 32 bits.
lment parent : android la page 222
lments enfants : aucun

Contenu
Utilisez lune des valeurs suivantes :
16 bits
32 bits

Exemple
<android>
<colorDepth>16bit</colorDepth>
<manifestAdditions>...</manifestAdditions>
</android>

containsVideo
Indique si lapplication contiendra ou non tout contenu vido.
lment parent : android la page 222
lments enfants : aucun

Contenu
Utilisez lune des valeurs suivantes :
true
false

Exemple
<android>
<containsVideo>true</containsVideo>
<manifestAdditions>...</manifestAdditions>
</android>

content
Adobe AIR 1.0 et versions ultrieures : obligatoire

La valeur indique de llment content correspond lURL du fichier de contenu principal de lapplication. Il sagit
soit dun fichier SWF, soit dun fichier HTML. LURL est dfinie relativement la racine du dossier dinstallation de
lapplication. (Si une application AIR est excute avec ADL, lURL est relative au dossier contenant le fichier
descripteur dapplication. Vous disposez du paramtre root-dir dADL pour indiquer un autre rpertoire racine.)
lment parent : initialWindow la page 241
lments enfants : aucun

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 228
Fichiers descripteurs dapplications AIR

Contenu
URL relative au rpertoire de lapplication. La valeur de llment content tant assimile une URL, les caractres qui
composent le nom du fichier de contenu doivent respecter le codage URL, conformment aux rgles dfinies dans RFC
1738. Les caractres espace doivent par exemple tre cods sous la forme %20.

Exemple
<content>TravelPlanner.swf </content>

contentType
Adobe AIR 1.0 1.1 : facultatif. AIR 1.5 et versions ultrieures : obligatoire

contentType est obligatoire depuis AIR 1.5 (il tait facultatif dans AIR 1.0 et 1.1). Cette proprit aide certains
systmes dexploitation trouver lapplication la plus adapte pour ouvrir un fichier. Sa valeur doit correspondre au
type MIME du contenu du fichier. Notez que la valeur est ignore sous Linux si le type de fichier est dj enregistr et
a un type MIME attribu.
lment parent : fileType la page 234
lments enfants : aucun

Contenu
Type et sous-type MIME. Pour plus dinformations sur les types MIME, voir RFC2045 (disponible en anglais
uniquement).

Exemple
<contentType> text/plain</contentType>

copyright
Adobe AIR 1.0 et versions ultrieures : facultatif

Informations de copyright relatives lapplication AIR. Sous Mac OS, le texte de copyright saffiche dans la bote de
dialogue A propos de de lapplication installe. Sous Mac OS, les informations de copyright sont galement utilises
dans le champ NSHumanReadableCopyright du fichier Info.plist de lapplication.
lment parent : application la page 222
lments enfants : aucun

Contenu
Chane contenant les informations de copyright de lapplication.

Exemple
<copyright> 2010, Examples, Inc.All rights reserved. </copyright>

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 229
Fichiers descripteurs dapplications AIR

customUpdateUI
Adobe AIR 1.0 et versions ultrieures : facultatif

Indique si une application fournit ses propres botes de dialogue de mise jour. Si llment est dfini sur false, AIR
propose des botes de dialogue de mise jour standard lutilisateur. Seules les applications distribues en tant que
fichiers AIR disposent du systme de mise jour intgr dAIR.
Si llment customUpdateUI est dfini sur true dans la version installe de lapplication et que lutilisateur double-
clique sur le fichier AIR pour installer une nouvelle version ou procder la mise jour de lapplication par le biais de
la fonction dinstallation transparente, le moteur dexcution ouvre la version installe de lapplication. Le moteur
dexcution nouvre pas le programme dinstallation de lapplication AIR par dfaut. La logique de lapplication peut
alors dterminer la marche suivre pour lopration de mise jour. (LID dapplication et lID dditeur stocks dans
le fichier AIR doivent tre identiques aux valeurs de lapplication installe pour que la mise jour aboutisse.)
Remarque : le mcanisme customUpdateUI nintervient que lorsque lapplication est dj installe et que lutilisateur
double-clique sur le fichier dinstallation AIR contenant une mise jour ou quil installe une mise jour de lapplication
par le biais de la fonction dinstallation transparente. Que le paramtre customUpdateUI soit dfini sur true ou non,
vous pouvez tlcharger et dmarrer une mise jour par le biais de la logique de lapplication en affichant linterface
utilisateur personnalise si besoin est.
Pour plus dinformations, voir Mise jour des applications AIR la page 273.
lment parent : application la page 222
lments enfants : aucun

Contenu
true ou false (valeur par dfaut)

Exemple
<customUpdateUI> true</customUpdateUI>

depthAndStencil
Adobe AIR 3.2 et versions ultrieures : facultatif

Indique que lapplication requiert lutilisation du tampon de profondeur ou du tampon de modle. Ces tampons
sutilisent normalement avec du contenu 3D. Par dfaut, la valeur de cet lment est false en vue de dsactiver les
tampons de profondeur et de modle. Cet lment est ncessaire, car les tampons doivent tre allous au dmarrage
de lapplication, cest--dire avant le chargement de contenu.
Le paramtre de cet lment doit correspondre la valeur transmise pour largument enableDepthAndStencil la
mthode Context3D.configureBackBuffer(). Si les valeurs ne correspondent pas, AIR renvoie une erreur.
Cet lment est applicable uniquement lorsque renderMode = direct. Si renderMode nest pas gal direct, ADT
renvoie lerreur 118 :
<depthAndStencil> element unexpected for render mode cpu. It requires "direct" render mode.

lment parent : initialWindow la page 241


lments enfants : aucun

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 230
Fichiers descripteurs dapplications AIR

Contenu
true ou false (valeur par dfaut)

Exemple
<depthAndStencil> true</depthAndStencil>

description
Adobe AIR 1.0 et versions ultrieures : facultatif

Description de lapplication, affiche dans le programme dinstallation dune application AIR.


Si vous indiquez un nud texte unique (au lieu de plusieurs lments text), le programme dinstallation de
lapplication AIR utilise cette description, quelle que soit la langue systme active. Dans le cas contraire, le
programme dinstallation dune application AIR utilise la description la plus proche de la langue de linterface
utilisateur du systme dexploitation de lutilisateur. Prenons lexemple dune installation dans laquelle llment
description du fichier descripteur dapplication comprend une valeur pour le jeu de paramtres rgionaux en
(anglais). Le programme dinstallation dune application AIR utilise la description en si le systme de lutilisateur
identifie en (anglais) en tant que langue de linterface utilisateur. Il utilise galement la description en si la langue de
linterface utilisateur systme correspond en-US (anglais amricain). Toutefois, si la langue de linterface utilisateur
systme correspond en-US et que le fichier descripteur dapplication dfinit la fois les noms en-US et en-GB, le
programme dinstallation dAIR utilise la valeur en-US. Si lapplication ne dfinit pas de description qui corresponde
la langue de linterface utilisateur systme, le programme dinstallation dune application AIR utilise la premire
valeur description stipule dans le fichier descripteur de lapplication.
Pour plus dinformations sur le dveloppement dapplications multilingues, voir Localisation dapplications AIR
la page 309.
lment parent : application la page 222
lments enfants : text la page 254

Contenu
Le modle de descripteur dapplication AIR 1.0 ne permet de dfinir quun seul nud texte simple en tant que nom
(plutt que plusieurs lments text).
Dans AIR 1.1 (ou version ultrieure), il est possible de spcifier plusieurs langues dans llment description.
Lattribut xml:lang de chaque lment text dfinit un code de langue, comme indiqu ladresse suivante RFC4646
(http://www.ietf.org/rfc/rfc4646.txt).

Exemple
Description avec nud texte simple :
<description>This is a sample AIR application.</description>

Description avec lments text localiss en anglais, espagnol et franais (valide dans AIR 1.1 et ultrieur) :
<description>
<text xml:lang="en">This is an example.</text>
<text xml:lang="fr">C'est un exemple.</text>
<text xml:lang="es">Esto es un ejemplo.</text>
</description>

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 231
Fichiers descripteurs dapplications AIR

description
Adobe AIR 1.0 et versions ultrieures : obligatoire

Description du type de fichier affiche lintention de lutilisateur par le systme dexploitation. Il est impossible de la
localiser.
Voir aussi : description la page 230 en tant quenfant de llment application
lment parent : fileType la page 234
lments enfants : aucun

Contenu
Chane qui dcrit le contenu du fichier.

Exemple
<description> PNG image</description>

embedFonts
Vous permet dutiliser des polices personnalises sur StageText dans lapplication AIR. Cet lment est facultatif.
lment parent : application la page 222
lments enfants : font la page 236

Contenu
Llment embedFonts peut contenir un nombre illimit dlments font.

Exemple
<embedFonts>
<font>
<fontPath>ttf/space age.ttf</fontPath>
<fontName>space age</fontName>
</font>
<font>
<fontPath>ttf/xminus.ttf</fontPath>
<fontName>xminus</fontName>
</font>
</embedFonts>

Entitlements
Adobe AIR 3.1 et versions ultrieures, iOS uniquement : facultatif

iOS utilise des proprits appeles entitlements pour que lapplication puisse accder des ressources et
fonctionnalits supplmentaires. Utilisez llment Entitlements pour spcifier ces informations sur une application
iOS mobile.
lment parent : iPhone la page 243
lments enfants : lments Entitlements.plist iOS

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 232
Fichiers descripteurs dapplications AIR

Contenu
Contient les lments enfants qui stipulent les paires cl-valeur faisant office de paramtres Entitlements.plist dans
lapplication. Le contenu de llment Entitlements doit tre entour dun bloc CDATA. Pour plus dinformations, voir
le document Entitlement Key Reference dans iOS Developer Library (disponible en anglais uniquement).

Exemple
<iphone>
...
<Entitlements>
<![CDATA[
<key>aps-environment</key>
<string>development</string>
]]>
</Entitlements>
</iphone>

extension
Adobe AIR 1.0 et versions ultrieures : obligatoire

Chane correspondant lextension dun type de fichier.


lment parent : fileType la page 234
lments enfants : aucun

Contenu
Chane identifiant les caractres qui composent lextension du fichier (sans le point, . ).

Exemple
<extension> png</extension>

extensionID
Adobe AIR 2.5 et versions ultrieures

Indique lID dune extension ActionScript utilise par lapplication. LID est dfini dans le document descripteur de
lextension.
lment parent : extensions la page 233
lments enfants : aucun

Contenu
Chane identifiant lID de lextension ActionScript.

Exemple
<extensionID> com.example.extendedFeature</extensionID>

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 233
Fichiers descripteurs dapplications AIR

extensions
Adobe AIR 2.5 et versions ultrieures : facultatif

Identifie les extensions ActionScript utilises par une application.


lment parent : application la page 222
lments enfants : extensionID la page 232

Contenu
lments enfant extensionID contenant les ID dextension ActionScript issus du fichier descripteur de lextension.

Exemple
<extensions>
<extensionID>extension.first</extensionID>
<extensionID>extension.next</extensionID>
<extensionID>extension.last</extensionID>
</extensions>

externalSwfs
Adobe AIR 3.7 et versions ultrieures, iOS uniquement : facultatif

Indique le nom dun fichier texte contenant une liste de fichiers SWF configurer par ADT pour lhbergement
distance. Vous pouvez rduire la taille de tlchargement initiale de lapplication en compressant un sous-ensemble
des fichiers SWF utilises par votre application et en chargeant les fichiers SWF externes restants (actif uniquement)
lors de lexcution laide de la mthode Loader.load(). Pour utiliser cette fonction, vous devez compresser
lapplication de telle sorte quADT dplace tout le pseudo-code ActionScript (ABC) depuis les fichiers SWF chargs en
externe vers le fichier SWF principal de lapplication, laissant un fichier SWF qui contient uniquement des actifs. Cela
est ncessaire pour respecter la rgle de lApple Store qui interdit le tlchargement tout code une fois quune
application est installe.
Pour plus dinformations, reportez-vous Rduire la taille des tlchargements en chargeant des fichiers SWF
externes dactifs uniquement la page 91.
lment parent : iPhone la page 243, initialWindow la page 241
lments enfants : aucun

Contenu
Nom dun fichier texte contenant une liste dlimite par des virgules de ligne des fichiers SWF pour tre distance
hberg.

Attributs :
aucun.

Exemples
iOS :
<iPhone>
<externalSwfs>FileContainingListofSWFs.txt</externalSwfs>
</iPhone>

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 234
Fichiers descripteurs dapplications AIR

filename
Adobe AIR 1.0 et versions ultrieures : obligatoire

Chane utiliser en tant que nom de fichier de lapplication (sans extension) lors de linstallation de cette dernire. Le
fichier dapplication dmarre lapplication AIR dans le moteur dexcution. Si aucune valeur name nest dfinie,
llment filename fait galement office de nom du dossier dinstallation.
lment parent : application la page 222
lments enfants : aucun

Contenu
La proprit filename peut contenir tout caractre Unicode (UTF-8), lexception des caractres suivants, dont
lutilisation est interdite dans les noms de fichier dans divers systmes de fichiers :

Caractre Code hexadcimal

divers 0x00 x1F

* x2A

" x22

: x3A

> x3C

< x3E

? x3F

\ x5C

| x7C

Le dernier caractre de la valeur filename ne doit pas correspondre un point.

Exemple
<filename> MyApplication</filename>

fileType
Adobe AIR 1.0 et versions ultrieures : facultatif

Dcrit un type de fichier unique auquel peut tre associe lapplication.


lment parent : fileTypes la page 235
lments enfants :
contentType la page 228
description la page 231
extension la page 232
icon la page 238
name la page 248

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 235
Fichiers descripteurs dapplications AIR

Contenu
lments qui dcrivent un type de fichier.

Exemple
<fileType>
<name>foo.example</name>
<extension>foo</extension>
<description>Example file type</description>
<contentType>text/plain</contentType>
<icon>
<image16x16>icons/fooIcon16.png</image16x16>
<image48x48>icons/fooIcon48.png</imge48x48>
<icon>
</fileType>

fileTypes
Adobe AIR 1.0 et versions ultrieures : facultatif

Llment fileTypes permet de dclarer les types de fichiers auxquels peut tre associe une application AIR.
Lors de linstallation dune application AIR, tout type de fichier dclar est enregistr dans le systme dexploitation.
Si ces types de fichiers ne sont pas encore associs une autre application, ils sont associs lapplication AIR. Pour
remplacer une association existante entre un type de fichier et une autre application, utilisez la mthode
NativeApplication.setAsDefaultApplication() lexcution (de prfrence avec laccord de lutilisateur).

Remarque : les mthodes dexcution ne grent que les associations de types de fichiers dclars dans le descripteur
dapplication.
Llment fileTypes est facultatif.
lment parent : application la page 222
lments enfants : fileType la page 234

Contenu
Llment fileTypes peut contenir un nombre illimit dlments fileType.

Exemple
<fileTypes>
<fileType>
<name>adobe.VideoFile</name>
<extension>avf</extension>
<description>Adobe Video File</description>
<contentType>application/vnd.adobe.video-file</contentType>
<icon>
<image16x16>icons/AIRApp_16.png</image16x16>
<image32x32>icons/AIRApp_32.png</image32x32>
<image48x48>icons/AIRApp_48.png</image48x48>
<image128x128>icons/AIRApp_128.png</image128x128>
</icon>
</fileType>
</fileTypes>

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 236
Fichiers descripteurs dapplications AIR

font
Dcrit une police personnalise unique pouvant tre utilise dans lapplication AIR.
lment parent : embedFonts la page 231
lments enfants : fontName la page 236, fontPath la page 236

Contenu
lments spcifiant le nom de la police personnalise et son chemin daccs.

Exemple
<font>
<fontPath>ttf/space age.ttf</fontPath>
<fontName>space age</fontName>
</font>

fontName
Spcifie le nom de la police personnalise.
lment parent : font la page 236
lments enfants : aucun

Contenu
Nom de la police personnalise spcifier dans StageText.fontFamily

Exemple
<fontName>space age</fontName>

fontPath
Indique lemplacement du fichier de police personnalise.
lment parent : font la page 236
lments enfants : aucun

Contenu
Chemin daccs au fichier de police personnalis (en fonction de la source).

Exemple
<fontPath>ttf/space age.ttf</fontPath>

forceCPURenderModeForDevices
Adobe AIR 3.7 et versions ultrieures, iOS uniquement : facultatif

Forcer le mode de rendu UC pour un ensemble spcifi de priphriques. Cette fonction vous permet dactiver de
manire slective le mode de rendu GPU pour les priphriques iOS restants.
Vous ajoutez cette balise comme enfant de la balise iPhone et spcifiez une liste de noms de modles spars par des
espaces. Voici des noms de modle de priphrique valides :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 237
Fichiers descripteurs dapplications AIR

iPad1,1 iPhone1,1 iPod1,1

iPad2,1 iPhone1,2 iPod2,1

iPad2,2 iPhone2,1 iPod3,3

iPad2,3 iPhone3.1 iPod4,1

iPad2,4 iPhone3,2 iPod 5,1

iPad2,5 iPhone4,1

iPad3,1 iPhone5,1

iPad3,2

iPad3,3

iPad3,4

lment parent : iPhone la page 243, initialWindow la page 241


lments enfants : aucun

Contenu
Liste de noms de modles de priphrique spars par des espaces

Attributs :
aucun.

Exemples
iOS :
...
<renderMode>GPU</renderMode>
...
<iPhone>
...
<forceCPURenderModeForDevices>iPad1,1 iPhone1,1 iPhone1,2 iPod1,1
</forceCPURenderModeForDevices>
</iPhone>

fullScreen
Adobe AIR 2.0 et versions ultrieures, iOS et Android : facultatif

Indique si lapplication dmarre en mode Plein cran.


lment parent : initialWindow la page 241
lments enfants : aucun

Contenu
true ou false (valeur par dfaut)

Exemple
<fullscreen>true </fullscreen>

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 238
Fichiers descripteurs dapplications AIR

height
Adobe AIR 1.0 et versions ultrieures : facultatif

Hauteur initiale de la fentre principale de lapplication.


Si vous ne dfinissez pas de hauteur, elle est dtermine par les paramtres figurant dans le fichier SWF racine ou, dans
le cas dune application AIR de type HTML, par le systme dexploitation.
La hauteur maximale dune fentre est passe de 2 048 4 096 pixels dans AIR 2.
lment parent : initialWindow la page 241
lments enfants : aucun

Contenu
Entier positif dont la valeur ne doit pas dpasser 4 095.

Exemple
<height>4095 </height>

icon
Adobe AIR 1.0 et versions ultrieures : facultatif

La proprit icon dfinit un ou plusieurs fichiers dicne utiliser pour lapplication. Linclusion dune icne est
facultative. Si vous ne dfinissez pas la proprit icon, le systme dexploitation affiche une icne par dfaut.
Le chemin dfini est relatif au rpertoire racine de lapplication. Les fichiers dicne doivent tre au format PNG. Vous
pouvez indiquer les tailles dicne suivantes :
Sil existe un lment de taille donne, limage du fichier doit possder exactement la taille dfinie. Si toutes les tailles
ne sont pas disponibles, la taille la plus proche est mise lchelle en fonction de lutilisation requise de licne par le
systme dexploitation.
Remarque : les icnes indiques ne sont pas automatiquement ajoutes au package AIR. Les fichiers dicne doivent tre
inclus lemplacement relatif correct lors de la mise en package de lapplication.
Pour obtenir de meilleurs rsultats, fournissez une image dans chacune des tailles disponibles. Assurez-vous en outre
que lapparence des icnes est approprie en mode de couleur 16 et 32 bits.
lment parent : application la page 222
lments enfants : imageNxN la page 239

Contenu
lment imageNxN dfini pour chaque taille dicne requise.

Exemple
<icon>
<image16x16>icons/smallIcon.png</image16x16>
<image32x32>icons/mediumIcon.png</image32x32>
<image48x48>icons/bigIcon.png</image48x48>
<image128x128>icons/biggestIcon.png</image128x128>
</icon>

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 239
Fichiers descripteurs dapplications AIR

id
Adobe AIR 1.0 et versions ultrieures : obligatoire

Chane didentifiant de lapplication, appele ID dapplication. Un identifiant de type DNS inverse est souvent utilis,
mais ce type nest pas obligatoire.
lment parent : application la page 222
lments enfants : aucun

Contenu
La valeur de lidentifiant ne contient que les caractres suivants :
09
az
AZ
. (point)
- (tiret)
La valeur doit comporter entre 1 et 212 caractres. Cet lment est obligatoire.

Exemple
<id>org.example.application</id>

imageNxN
Adobe AIR 1.0 et versions ultrieures : facultatif

Dfinit le chemin daccs dicne par rapport au rpertoire de lapplication.


Vous pouvez utiliser les images dicne suivantes, chacune stipulant une taille dicne distincte :
image16x16
image29x29 (AIR 2+)
image32x32
image36x36 (AIR 2.5+)
image48x48
image50x50 (AIR 3.4+)
image57x57 (AIR 2+)
image58x58 (AIR 3.4+)
image72x72 (AIR 2+)
image100x100 (AIR 3.4+)
image114x114 (AIR 2.6+)
image128x128
image144x144 (AIR 3.4+)
image512x512 (AIR 2+)

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 240
Fichiers descripteurs dapplications AIR

image1024x1024 (AIR 3.4+)


Licne doit tre un fichier graphique PNG dont la taille correspond exactement la valeur indique par llment
image. Les fichiers dicne doivent tre inclus dans le package de lapplication. Les icnes auxquelles fait rfrence le
document descripteur de lapplication ne sont pas automatiquement intgres.
lment parent : application la page 222
lments enfants : aucun

Contenu
Le chemin daccs au fichier dicne peut contenir tout caractre Unicode (UTF-8), lexception des caractres
suivants, dont lutilisation est interdite dans les noms de fichier dans divers systmes de fichiers :

Caractre Code hexadcimal

divers 0x00 x1F

* x2A

" x22

: x3A

> x3C

< x3E

? x3F

\ x5C

| x7C

Exemple
<image32x32>icons/icon32.png</image32x32>

InfoAdditions
Adobe AIR 1.0 et versions ultrieures : facultatif

Permet de spcifier des proprits supplmentaires dune application iOS.


lment parent : iPhone la page 243
lments enfants : lments Info.plist iOS

Contenu
Contient les lments enfants qui stipulent les paires cl-valeur faisant office de paramtres Info.plist dans
lapplication. Le contenu de llment InfoAdditions doit tre entour dun bloc CDATA.
Pour plus dinformations sur les paires cl-valeur et leur expression en XML, voir Information Property List Key
Reference dans la bibliothque de rfrence pour liPhone dApple (disponible en anglais uniquement).

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 241
Fichiers descripteurs dapplications AIR

Exemple
<InfoAdditions>
<![CDATA[
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleBlackOpaque</string>
<key>UIRequiresPersistentWiFi</key>
<string>NO</string>
]]>
</InfoAdditions>

Voir aussi
Paramtres iOS la page 86

initialWindow
Adobe AIR 1.0 et versions ultrieures : obligatoire

Dfinit le principal fichier de contenu et laspect initial de lapplication.


lment parent : application la page 222
lments enfants : tous les lments suivants peuvent servir denfants de llment initialWindow. Selon quAIR
prend en charge ou non les fentres sur une plate-forme, certains lments sont toutefois ignors :

lment Bureau Mobile

aspectRatio la page 225 ignor utilis

autoOrients la page 226 ignor utilis

content la page 227 utilis utilis

depthAndStencil la utilis utilis


page 229

fullScreen la page 237 ignor utilis

height la page 238 utilis ignor

maximizable la utilis ignor


page 245

maxSize la page 246 utilis ignor

minimizable la utilis ignor


page 246

minSize la page 246 utilis ignor

renderMode la utilis (AIR 3.0 et versions utilis


page 249 ultrieures)

requestedDisplayResolutio utilis (AIR 3.6 et ultrieur) ignor


n la page 250

resizable la page 251 utilis ignor

softKeyboardBehavior ignor utilis


la page 251

systemChrome la utilis ignor


page 253

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 242
Fichiers descripteurs dapplications AIR

lment Bureau Mobile

title la page 254 utilis ignor

transparent la page 255 utilis ignor

visible la page 256 utilis ignor

width la page 257 utilis ignor

x la page 257 utilis ignor

y la page 257 utilis ignor

Contenu
lments enfants qui dfinissent laspect et le comportement dune application.

Exemple
<initialWindow>
<title>Hello World</title>
<content>
HelloWorld.swf
</content>
<depthAndStencil>true</depthAndStencil>
<systemChrome>none</systemChrome>
<transparent>true</transparent>
<visible>true</visible>
<maxSize>1024 800</maxSize>
<minSize>320 240</minSize>
<maximizable>false</maximizable>
<minimizable>false</minimizable>
<resizable>true</resizable>
<x>20</x>
<y>20</y>
<height>600</height>
<width>800</width>
<aspectRatio>landscape</aspectRatio>
<autoOrients>true</autoOrients>
<fullScreen>false</fullScreen>
<renderMode>direct</renderMode>
</initialWindow>

installFolder
Adobe AIR 1.0 et versions ultrieures : facultatif

Identifie le sous-rpertoire du rpertoire dinstallation par dfaut.


Sous Windows, le sous-rpertoire dinstallation par dfaut est le rpertoire Program Files. Sous Mac OS, il sagit du
rpertoire /Applications. Sous Linux, il sagit du rpertoire /opt/. Par exemple, si la proprit installFolder est
dfinie sur Acme et quune application sappelle ExempleApp , lapplication est installe dans C:\Program
Files\Acme\ExempleApp sous Windows, dans /Applications/Acme/Exemple.app sous Mac OS et dans
/opt/Acme/ExampleApp sous Linux.
La proprit installFolder est facultative. Si vous ne spcifiez pas la proprit installFolder, lapplication est
installe dans un sous-rpertoire du rpertoire dinstallation par dfaut, bas sur la proprit name.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 243
Fichiers descripteurs dapplications AIR

lment parent : application la page 222


lments enfants : aucun

Contenu
La proprit installFolder peut comporter nimporte quel caractre Unicode (UTF-8), lexception de ceux dont
lutilisation est interdite dans les noms de fichier dans divers systmes de fichiers (voir la proprit filename, qui
contient la liste dexceptions).
La barre oblique (/) fait office de caractre de sparation de rpertoire pour dfinir un sous-rpertoire imbriqu.

Exemple
<installFolder>utilities/toolA</installFolder>

iPhone
Adobe AIR 2.0, iOS uniquement : facultatif

Dfinit les proprits dune application propres iOS.


lment parent : application la page 222
lments enfants :
Entitlements la page 231
externalSwfs la page 233
forceCPURenderModeForDevices la page 236
InfoAdditions la page 240
requestedDisplayResolution la page 250

Voir aussi
Paramtres iOS la page 86

manifest
Adobe AIR 2.5 et versions ultrieures, Android uniquement : facultatif

Spcifie les informations ajouter au fichier manifeste Android associ lapplication.


lment parent : manifestAdditions la page 244
lments enfants : dfinis par le kit SDK dAndroid.

Contenu
Dun point de vue technique, llment manifest ne fait pas partie du modle de descripteur dune application AIR. Il
correspond la racine du document XML manifeste Android. Tout contenu intgr llment manifest doit
imprativement respecter le modle AndroidManifest.xml. Lorsque vous gnrez un fichier APK laide des outils
AIR, les informations que contient llment manifest sont copies dans la section correspondante du fichier
AndroidManifest.xml gnr de lapplication.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 244
Fichiers descripteurs dapplications AIR

Si vous spcifiez des valeurs de llment manifest dAndroid uniquement disponibles dans une version du kit SDK
plus rcente que celle directement prise en charge par AIR, vous devez dfinir lindicateur -platformsdk sur ADT
lors de la mise en package de lapplication. Dfinissez lindicateur sur le chemin du systme de fichiers pointant vers
une version du kit SDK dAndroid qui prend en charge les valeurs que vous ajoutez.
Llment manifest proprement parler doit tre dlimit par un bloc CDATA dans le fichier descripteur dapplication AIR.

Exemple
<![CDATA[
<manifest android:sharedUserID="1001">
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:required="false" android:name="android.hardware.camera"/>
<application android:allowClearUserData="true"
android:enabled="true"
android:persistent="true"/>
</manifest>
]]>

Voir aussi
Paramtres Android la page 79
The AndroidManifest.xml File (disponible en anglais uniquement)

manifestAdditions
Adobe AIR 2.5 et versions ultrieures, Android uniquement

Spcifie les informations ajouter au fichier manifeste Android.


Chaque application Android comprend un fichier manifeste qui dfinit les proprits de base de lapplication. En tant
que concept, le fichier manifeste Android est similaire au fichier descripteur dapplication AIR. Une application AIR
for Android comprend la fois un fichier descripteur dapplication et un fichier manifeste Android gnr
automatiquement. Lorsquune application AIR for Android est mise en package, les informations que contient
llment manifestAdditions sont ajoutes aux parties correspondantes du document manifeste Android.
lment parent : android la page 222
lments enfants : manifest la page 243

Contenu
Les informations que contient llment manifestAdditions sont ajoutes au document XML AndroidManifest.
AIR dfinit plusieurs entres manifeste dans le document manifeste Android gnr pour sassurer que les
fonctionnalits de lapplication et du moteur dexcution fonctionnent correctement. Il est impossible de remplacer les
paramtres suivants :
Il est impossible de dfinir les attributs suivants de llment manifest :
package
android:versionCode
android:versionName
Il est impossible de dfinir les attributs suivants de llment activity principal :
android:label

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 245
Fichiers descripteurs dapplications AIR

android:icon
Il est impossible de dfinir les attributs suivants de llment application :
android:theme
android:name
android:label
android:windowSoftInputMode
android:configChanges
android:screenOrientation
android:launchMode

Exemple
<manifestAdditions>
<![CDATA[
<manifest android:installLocation="preferExternal">
<uses-permission android:name="android.permission.INTERNET"/>
<application android:allowClearUserData="true"
android:enabled="true"
android:persistent="true"/>
</manifest>
]]>
</manifestAdditions>

Voir aussi
Paramtres Android la page 79
The AndroidManifest.xml File (disponible en anglais uniquement)

maximizable
Adobe AIR 1.0 et versions ultrieures : facultatif

Spcifie si la fentre peut tre agrandie.


Remarque : sur des systmes dexploitation qui assimilent lagrandissement dune fentre une opration de
redimensionnement, tel Mac OS X, les paramtres maximizable et resizable doivent tre dfinis sur false pour interdire
lexcution dun zoom ou dun redimensionnement de la fentre.
lment parent : initialWindow la page 241
lments enfants : aucun

Contenu
true (valeur par dfaut) ou false

Exemple
<maximizable>false </maximizable>

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 246
Fichiers descripteurs dapplications AIR

maxSize
Adobe AIR 1.0 et versions ultrieures : facultatif

Tailles maximales de la fentre. Si vous ne dfinissez pas de taille maximale, elle est dtermine par le systme
dexploitation.
lment parent : initialWindow la page 241
lments enfants : aucun

Contenu
Deux entiers qui reprsentent la largeur et la hauteur maximales, spars par un espace blanc.
Remarque : la taille de fentre maximale prise en charge par AIR est passe de 2 048x2 048 4 096x4 096 pixels dans
AIR 2. (Etant donn que les coordonnes de lcran sont de base zro, la valeur maximale gre par la largeur et la hauteur
est 4 095.)

Exemple
<maxSize>1024 360</maxSize>

minimizable
Adobe AIR 1.0 et versions ultrieures : facultatif

Spcifie si la fentre peut tre rduite.


lment parent : initialWindow la page 241
lments enfants : aucun

Contenu
true (valeur par dfaut) ou false

Exemple
<minimizable>false</minimizable>

minSize
Adobe AIR 1.0 et versions ultrieures : facultatif

Spcifie la taille minimale autorise de la fentre.


lment parent : initialWindow la page 241
lments enfants : aucun

Contenu
Deux entiers qui reprsentent la largeur et la hauteur minimales, spars par un espace blanc. Notez que la taille
minimale impose par le systme dexploitation prime sur la valeur dfinie dans le fichier descripteur dapplication.

Exemple
<minSize>120 60</minSize>

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 247
Fichiers descripteurs dapplications AIR

name
Adobe AIR 1.0 et versions ultrieures : facultatif

Titre de lapplication affich par le programme dinstallation dune application AIR.


Si aucun lment name nest indiqu, le programme dinstallation dune application AIR utilise llment filename
titre de nom dapplication.
lment parent : application la page 222
lments enfants : text la page 254

Contenu
Si vous indiquez un nud texte unique (au lieu de plusieurs lments <text>), le programme dinstallation de
lapplication AIR utilise ce nom, quelle que soit la langue systme active.
Le modle de fichier descripteur dapplication AIR 1.0 ne permet de dfinir quun seul nud texte simple en tant que
nom (plutt que plusieurs lments text). Dans AIR 1.1 (ou version ultrieure), il est possible de spcifier plusieurs
langues dans llment name.
Lattribut xml:lang de chaque lment text dfinit un code de langue, comme indiqu ladresse suivante RFC4646
(http://www.ietf.org/rfc/rfc4646.txt).
Le programme dinstallation dune application AIR utilise le nom le plus proche de la langue de linterface utilisateur
du systme dexploitation de lutilisateur. Prenons lexemple dune installation dans laquelle llment name du fichier
descripteur dapplication comprend une valeur pour le jeu de paramtres rgionaux en (anglais). Le programme
dinstallation dune application AIR utilise le nom en si le systme dexploitation identifie en (anglais) en tant que
langue de linterface utilisateur. Il utilise galement le nom en si la langue de linterface utilisateur systme correspond
en-US (anglais amricain). Toutefois, si la langue de linterface utilisateur correspond en-US et que le fichier
descripteur dapplication dfinit la fois les noms en-US et en-GB, le programme dinstallation dAIR utilise la valeur
en-US. Si lapplication ne dfinit pas de nom qui corresponde aux langues prises en charge par le systme
dexploitation, le programme dinstallation dune application AIR utilise la premire valeur name stipule dans le
fichier descripteur dapplication.
Llment name ne dfinit que le titre dapplication utilis par le programme dinstallation dune application AIR. Le
programme dinstallation dune application AIR prend en charge plusieurs langues : chinois traditionnel, chinois
simplifi, tchque, nerlandais, anglais, franais, allemand, italien, japonais, coren, polonais, portugais brsilien,
russe, espagnol, sudois et turc. Le programme dinstallation dune application AIR slectionne la langue affiche
(pour le texte autre que le titre et la description de lapplication) en fonction de la langue de linterface utilisateur
systme. La langue slectionne nest pas affecte par les paramtres du fichier descripteur dapplication.
Llment name ne dfinit pas les jeux de paramtres rgionaux disponibles pour lapplication installe en cours
dexcution. Pour plus dinformations sur le dveloppement dapplications multilingues, voir Localisation
dapplications AIR la page 309.

Exemple
Lexemple suivant dfinit un nom associ un nud texte simple :
<name>Test Application</name>

Lexemple suivant, valide dans AIR 1.1 et ultrieur, spcifie le nom dans trois langues (anglais, espagnol et franais)
par le biais de nuds dlment <text> :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 248
Fichiers descripteurs dapplications AIR

<name>
<text xml:lang="en">Hello AIR</text>
<text xml:lang="fr">Bonjour AIR</text>
<text xml:lang="es">Hola AIR</text>
</name>

name
Adobe AIR 1.0 et versions ultrieures : obligatoire

Identifie le nom dun type de fichier.


lment parent : fileType la page 234
lments enfants : aucun

Contenu
Chane reprsentant le nom dun type de fichier.

Exemple
<name>adobe.VideoFile</name>

programMenuFolder
Adobe AIR 1.0 et versions ultrieures : facultatif

Identifie lemplacement de stockage des raccourcis associs lapplication dans le menu Tous les programmes du
systme dexploitation Windows ou dans le menu Applications sous Linux. (Ce paramtre nest actuellement pas pris
en charge par les autres systmes dexploitation.)
lment parent : application la page 222
lments enfants : aucun

Contenu
La chane utilise par la valeur programMenuFolder peut comporter nimporte quel caractre Unicode (UTF-8),
lexception de ceux dont lutilisation est interdite dans les noms de fichier dans divers systmes de fichiers (voir
llment filename, qui contient la liste dexceptions). Le dernier caractre de cette valeur ne doit pas correspondre
une barre oblique (/).

Exemple
<programMenuFolder>Example Company/Sample Application</programMenuFolder>

publisherID
Adobe AIR 1.5.3 et versions ultrieures : facultatif

Identifie lidentifiant dditeur requis pour mettre jour une application AIR initialement cre dans AIR 1.5.2 ou une
version antrieure.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 249
Fichiers descripteurs dapplications AIR

Ne spcifiez un identifiant dditeur que si vous crez une mise jour dapplication. La valeur de llment
publisherID doit correspondre lidentifiant dditeur gnr par AIR pour la version antrieure de lapplication.
Lidentifiant dditeur dune application installe est indiqu dans le fichier META-INF/AIR/publisherid, qui rside
dans le dossier dans lequel est installe lapplication.
Les nouvelles applications cres dans AIR 1.5.3 ou ultrieur ne doivent pas spcifier didentifiant dditeur.
Pour plus dinformations, voir A propos des identifiants dditeur AIR la page 201.
lment parent : application la page 222
lments enfants : aucun

Contenu
Chane didentifiant dditeur.

Exemple
<publisherID>B146A943FBD637B68C334022D304CEA226D129B4.1</publisherID>

renderMode
Adobe AIR 2.0 et versions ultrieures : facultatif

Indique si lacclration par unit de processeur graphique (GPU) est utilise, sous rserve dtre prise en charge par
le priphrique actif.
lment parent : initialWindow la page 241
lments enfants : aucun

Contenu
Utilisez lune des valeurs suivantes :
auto (valeur par dfaut) : active actuellement le mode unit centrale.

cpu : lacclration matrielle nest pas utilise.

direct : la composition du rendu est effectue dans lunit centrale ; le blitting fait appel au processeur graphique.
Disponible dans AIR 3+.
Remarque : pour tirer profit de lacclration par processeur graphique du contenu Flash sur les plates-formes AIR
mobiles, Adobe recommande dutiliser renderMode="direct" (cest--dire, Stage3D) plutt que renderMode="gpu".
Adobe prend officiellement en charge les structures dapplication bases sur Stage3D suivantes et recommande leur
utilisation : Starling (2D) et Away3D (3D). Pour plus dinformations sur Stage3D et Starling/Away3D, voir
http://gaming.adobe.com/getstarted/.
gpu : lacclration matrielle est utilise, le cas chant.

Important : Nutilisez pas le mode de rendu sur GPU pour les applications Flex.

Exemple
<renderMode>direct</renderMode>

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 250
Fichiers descripteurs dapplications AIR

requestedDisplayResolution
Adobe AIR 2.6 et versions ultrieures, iOS uniquement ; Adobe AIR 3.6 et versions ultrieures, OS X (facultatif)

Indique si lapplication souhaite utiliser une rsolution standard ou haute sur un priphrique ou un ordinateur quip
dun cran haute rsolution. Si llment est dfini sur standard (valeur par dfaut), lcran est assimil par
lapplication un cran rsolution standard. Si llment est dfini sur high, lapplication peut adresser chaque pixel
haute rsolution.
Par exemple, sur un cran diPhone haute rsolution 640 x 960, si le paramtre est dfini sur standard, la dimension
de la scne en plein cran est de 320 x 480, et chaque pixel dapplication est rendu en utilisant quatre pixels dcran. Si
le paramtre est dfini sur high, la dimension de la scne en plein cran est 640 x 960.
Sur un priphrique quip dun cran haute rsolution, les dimensions de la scne correspondent celles de lcran,
quel que soit le paramtre utilis.
Si llment requestedDisplayResolution est imbriqu dans llment iPhone, il sapplique aux priphriques iOS.
Dans ce cas, lattribut excludeDevices peut tre utilis pour spcifier les priphriques auxquels le paramtre ne
sapplique pas.
Si llment requestedDisplayResolution est imbriqu dans llment initialWindow, il sapplique aux
applications AIR sur les ordinateurs MacBook Pro prenant en charge des crans haute rsolution. La valeur spcifie
sapplique toutes les fentres natives utilises dans lapplication. Limbrication de llment
requestedDisplayResolution dans llment initialWindow est pris en charge dans AIR 3.6 et ultrieur.

lment parent : iPhone la page 243, initialWindow la page 241


lments enfants : aucun

Contenu
Soit standard (valeur par dfaut), soit high

Attribut
excludeDevices : liste spare par des espaces de noms de modles iOS ou de prfixes de noms de modles. Cela permet
au dveloppeur de faire utiliser la haute rsolution par certains priphriques et la rsolution standard par dautres.
Cet attribut nest disponible que sous iOS (llment requestedDisplayResolution est imbriqu dans llment
iPhone). Lattribut excludeDevices est disponible dans AIR 3.6 et ultrieur.

Pour tout autre priphrique dont le nom de modle est spcifi dans cet attribut, la valeur
requestedDisplayResolution est linverse de la valeur spcifie. En dautres termes, si la valeur de
requestedDisplayResolution est high, les priphriques exclus utilisent la rsolution standard. Si la valeur de
requestedDisplayResolution est standard, les priphriques exclus utilisent la rsolution leve.

Les valeurs sont des noms de modles de priphriques iOS ou des prfixes de noms de modles. Par exemple, la valeur
iPad3,1 dsigne spcifiquement un iPad de 3e gnration avec Wi-Fi (et non un iPad de 3e gnration avec GSM ou
CDMA). Quant la valeur iPad3, elle fait rfrence tout iPad de 3e gnration. Une liste non officielle des noms de
modles de priphriques iOS est disponible sur la page Models du iPhone wiki (en anglais uniquement).

Exemples
Bureau :
<initialWindow>
<requestedDisplayResolution>high</requestedDisplayResolution>
</initialWindow>

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 251
Fichiers descripteurs dapplications AIR

iOS :
<iPhone>
<requestedDisplayResolution excludeDevices="iPad3
iPad4">high</requestedDisplayResolution>
</iPhone>

resizable
Adobe AIR 1.0 et versions ultrieures : facultatif

Spcifie si la fentre peut tre redimensionne.


Remarque : sur des systmes dexploitation qui assimilent lagrandissement dune fentre une opration de
redimensionnement, tel Mac OS X, les paramtres maximizable et resizable doivent tre dfinis sur false pour interdire
lexcution dun zoom ou dun redimensionnement de la fentre.
lment parent : initialWindow la page 241
lments enfants :

Contenu
true (valeur par dfaut) ou false

Exemple
<resizable>false</resizable>

softKeyboardBehavior
Adobe AIR 2.6 et versions ultrieures, profil mobile : facultatif

Spcifie le comportement par dfaut de lapplication lorsquun clavier virtuel est affich. Le comportement par dfaut
consiste dplacer lapplication vers le haut. Le moteur dexcution conserve lcran le champ de texte ou lobjet
interactif qui sont la cible daction. Utilisez loption pan si lapplication ne gre pas sa propre logique de traitement du
clavier.
Vous pouvez galement dsactiver le comportement par dfaut en dfinissant llment softKeyboardBehavior sur
none. Dans ce cas de figure, les champs de texte et les objets interactifs distribuent un vnement SoftKeyboardEvent
lors de laffichage du clavier logiciel, mais le moteur dexcution neffectue pas de panoramique ou de
redimensionnement de lapplication. Cest lapplication quil incombe de sassurer que la zone de saisie de texte nest
pas masque.
lment parent : initialWindow la page 241
lments enfants : aucun

Contenu
Soit none, soit pan. La valeur par dfaut est pan.

Exemple
<softKeyboardBehavior>none</softKeyboardBehavior>

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 252
Fichiers descripteurs dapplications AIR

Voir aussi
SoftKeyboardEvent

supportedLanguages
Adobe AIR 3.2 et versions ultrieures : facultatif

Identifie les langues prises en charge par lapplication. Cet lment est utilis uniquement par iOS, le moteur
dexcution captif de Mac et les applications Android. Cet lment est ignor par tous les autres types dapplications.
Si vous ne spcifiez pas cet lment, le programme de mise en package excute par dfaut les actions suivantes en
fonction du type dapplication :
iOS : les langues prises en charge par le moteur dexcution dAIR sont rpertories dans lApp Store diOS comme
langues prises en charges dans lapplication.
Moteur dexcution captif de Mac : toute application mise en package avec un paquet captif ne possde aucune
information de localisation.
Android : le paquet dapplication dispose de ressources pour toutes les langues prises en charge par le moteur
dexcution dAIR.
lment parent : application la page 222
lments enfants : aucun

Contenu
Liste de langues prises en charge, spare par des espaces. Les valeurs de langue valides correspondent aux valeurs
ISO 639-1 des langues prises en charge par le moteur dexcution dAIR : en, de, es, fr, it, ja, ko, pt, ru, cs, nl, pl,
sv, tr, zh, da, nb, iw.

Le programme de mise en package gnre une erreur si une valeur vide est spcifie pour llment
<supportedLanguages>.

Remarque : les balises localises (telles que le nom de la balise) ignorent la valeur dune langue si vous utilisez la balise
<supportedLanguages> alors quelle ne contient pas cette langue. Si une extension native dispose de ressources pour
une langue non spcifie par la balise <supportedLanguages>, un avertissement est renvoy et les ressources sont
ignores pour cette langue.

Exemple
<supportedLanguages>en ja fr es</supportedLanguages>

supportedProfiles
Adobe AIR 2.0 et versions ultrieures : facultatif

Identifie les profils pris en charge pour lapplication.


lment parent : application la page 222
lments enfants : aucun

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 253
Fichiers descripteurs dapplications AIR

Contenu
Vous pouvez inclure nimporte lesquelles des valeurs suivantes dans llment supportedProfiles :
desktop : le profil de bureau est associ aux applications AIR installes sur un ordinateur de bureau laide dun
fichier AIR. Ces applications nont pas accs la classe NativeProcess (qui assure la communication avec les
applications natives).
extendedDesktop : le profil de bureau tendu est associ aux applications AIR installes sur un ordinateur de
bureau laide dun programme dinstallation dapplication natif. Ces applications ont accs la classe
NativeProcess (qui assure la communication avec les applications natives).
mobileDevice : le profil de priphrique mobile est associ aux applications mobiles.

extendedMobileDevice : le profil de priphrique mobile tendu nest pas utilis actuellement.

La proprit supportedProfiles est facultative. Lorsque vous lomettez du fichier descripteur dapplication, il est
possible de compiler et de dployer lapplication pour tout profil.
Pour spcifier plusieurs profils, sparez-les par un espace. Le paramtre suivant, par exemple, stipule que lapplication
est uniquement disponible dans les profils de bureau et les profils tendus :
<supportedProfiles>desktop extendedDesktop</supportedProfiles>

Remarque : si vous excutez une application avec lapplication ADL et que vous ne spcifiez pas de valeur pour loption
ADL -profile, le premier profil du fichier descripteur dapplication est utilis. (Si aucun profil nest spcifi dans le
fichier descripteur dapplication, le profil de bureau est utilis.)

Exemple
<supportedProfiles>desktop mobileDevice</supportedProfiles>

Voir aussi
Profils de priphrique la page 259
Profils pris en charge la page 78

systemChrome
Adobe AIR 1.0 et versions ultrieures : facultatif

Indique si la fentre de lapplication initiale contient la barre de titre, les bordures et les contrles standard proposs
par le systme dexploitation.
Il est impossible de modifier le paramtre systemChrome de la fentre lexcution.
lment parent : initialWindow la page 241
lments enfants : aucun

Contenu
Utilisez lune des valeurs suivantes :
none : aucun chrome systme nest propos. Lapplication (ou une structure dapplication telle que Flex) est
responsable de laffichage du chrome de fentre.
standard (valeur par dfaut) : le chrome systme est propos par le systme dexploitation.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 254
Fichiers descripteurs dapplications AIR

Exemple
<systemChrome>standard</systemChrome>

text
Adobe AIR 1.1 et versions ultrieures : facultatif

Spcifie une chane localise.


Lattribut xml:lang dun lment text dfinit un code de langue, comme indiqu ladresse suivante RFC4646
(http://www.ietf.org/rfc/rfc4646.txt).
Le programme dinstallation dune application AIR utilise llment text associ la valeur de lattribut xml:lang la
plus proche de la langue de linterface utilisateur du systme dexploitation de lutilisateur.
Prenons lexemple dune installation dans laquelle llment text comprend une valeur pour le jeu de paramtres
rgionaux en (anglais). Le programme dinstallation dune application AIR utilise le nom en si le systme
dexploitation identifie en (anglais) en tant que langue de linterface utilisateur. Il utilise galement le nom en si la
langue de linterface utilisateur systme correspond en-US (anglais amricain). Toutefois, si la langue de linterface
utilisateur correspond en-US et que le fichier descripteur dapplication dfinit la fois les noms en-US et en-GB, le
programme dinstallation dAIR utilise la valeur en-US.
Si lapplication ne dfinit pas dlment text qui corresponde aux langues prises en charge par le systme
dexploitation, le programme dinstallation dune application AIR utilise la premire valeur name stipule dans le
fichier descripteur dapplication.
lments parents :
name la page 247
description la page 230
lments enfants : aucun

Contenu
Attribut xml:lang qui spcifie des paramtres rgionaux et une chane de texte localis.

Exemple
<text xml:lang="fr">Bonjour AIR</text>

title
Adobe AIR 1.0 et versions ultrieures : facultatif

Indique le titre figurant dans la barre de titre de la fentre initiale de lapplication.


Le titre ne saffiche que si llment systemChrome est dfini sur standard.
lment parent : initialWindow la page 241
lments enfants : aucun

Contenu
Chane contenant le titre de la fentre.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 255
Fichiers descripteurs dapplications AIR

Exemple
<title>Example Window Title</title>

transparent
Adobe AIR 1.0 et versions ultrieures : facultatif

Indique si la fentre initiale de lapplication est semi-transparente par rapport au bureau.


Une fentre transparente risque dtre trace plus lentement et de mobiliser plus de mmoire. Il est impossible de
modifier le paramtre transparent lexcution.
Important : vous ne pouvez dfinir transparent sur true que si systemChrome est dfini sur none.
lment parent : initialWindow la page 241
lments enfants : aucun

Contenu
true ou false (valeur par dfaut)

Exemple
<transparent>true</transparent>

version
Adobe AIR 1.0 2.0 : obligatoire, lment interdit dans AIR 2.5 et versions ultrieures

Identifie la version de lapplication.


La chane version est un indicateur dfini par lapplication. AIR ninterprte pas la chane de version de quelque faon
que ce soit. De ce fait, la version 3.0 nest pas considre comme tant plus rcente que la version 2.0 . Exemples :
1.0 , .4 , 0.5 , 4.9 , 1.3.4a .
Dans AIR 2.5 et ultrieur, llment version a t remplac par les lments versionNumber et versionLabel.
lment parent : application la page 222
lments enfants : aucun

Contenu
Chane contenant la version de lapplication.

Exemple
<version>0.1 Alpha</version>

versionLabel
Adobe AIR 2.5 et versions ultrieures : facultatif

Spcifie une chane indiquant la version intelligible.


La valeur de llment versionLabel, plutt que celle de llment versionNumber, est affiche dans les botes de
dialogue dinstallation. Si vous nutilisez pas llment versionLabel, versionNumber est utilis dans les deux cas.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 256
Fichiers descripteurs dapplications AIR

lment parent : application la page 222


lments enfants : aucun

Contenu
Chane contenant la version affiche publiquement.

Exemple
<versionLabel>0.9 Beta</versionlabel>

versionNumber
Adobe AIR 2.5 et versions ultrieures : obligatoire

Numro de version de lapplication.


lment parent : application la page 222
lments enfants : aucun

Contenu
Le numro de version peut contenir une squence de trois entiers au plus, spars par un point. Chaque entier est un
nombre compris entre 0 et 999 (inclus).

Exemples
<versionNumber>1.0.657</versionNumber>

<versionNumber>10</versionNumber>

<versionNumber>0.01</versionNumber>

visible
Adobe AIR 1.0 et versions ultrieures : facultatif

Indique si la fentre initiale de lapplication est visible ds sa cration.


Les fentres AIR, y compris la fentre initiale, sont par dfaut invisibles lors de leur cration. Pour afficher une fentre,
appelez la mthode activate() de lobjet NativeWindow ou dfinissez la proprit visible sur true. Il peut savrer
utile de masquer initialement la fentre principale, afin de ne pas afficher les modifications apportes la position,
la taille ou la disposition du contenu de la fentre.
Le composant Flex mx:WindowedApplication affiche et active automatiquement la fentre juste avant la distribution de
lvnement applicationComplete, moins que lattribut visible ne soit dfini sur false dans la dfinition MXML.
Sur les priphriques indiqus dans le profil mobile, qui ne prend pas en charge les fentres, le paramtre visible est
ignor.
lment parent : initialWindow la page 241
lments enfants : aucun

Contenu
true ou false (valeur par dfaut)

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 257
Fichiers descripteurs dapplications AIR

Exemple
<visible>true</visible>

width
Adobe AIR 1.0 et versions ultrieures : facultatif

Largeur initiale de la fentre principale de lapplication.


Si vous ne dfinissez pas de largeur, elle est dtermine par les paramtres figurant dans le fichier SWF racine ou, dans
le cas dune application AIR de type HTML, par le systme dexploitation.
La largeur maximale dune fentre est passe de 2 048 4 096 pixels dans AIR 2.
lment parent : initialWindow la page 241
lments enfants : aucun

Contenu
Entier positif dont la valeur ne doit pas dpasser 4 095.

Exemple
<width>1024</width>

x
Adobe AIR 1.0 et versions ultrieures : facultatif

Position horizontale de la fentre initiale dune application.


Dans la plupart des cas, il est prfrable de confier au systme dexploitation le soin de dterminer la position initiale
de la fentre, plutt que de dfinir une valeur fixe.
Lorigine du systme de coordonnes de lcran (0,0) correspond langle suprieur gauche de lcran principal de
lordinateur de bureau (dtermin par le systme dexploitation).
lment parent : initialWindow la page 241
lments enfants : aucun

Contenu
Valeur entire

Exemple
<x>120</x>

y
Adobe AIR 1.0 et versions ultrieures : facultatif

Position verticale de la fentre initiale dune application.


Dans la plupart des cas, il est prfrable de confier au systme dexploitation le soin de dterminer la position initiale
de la fentre, plutt que de dfinir une valeur fixe.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 258
Fichiers descripteurs dapplications AIR

Lorigine du systme de coordonnes de lcran (0,0) correspond langle suprieur gauche de lcran principal de
lordinateur de bureau (dtermin par le systme dexploitation).
lment parent : initialWindow la page 241
lments enfants : aucun

Contenu
Valeur entire

Exemple
<y>250</y>

Dernire mise jour le 6/3/2017


259

Chapitre 15 : Profils de priphrique


Adobe AIR 2 et ultrieur

Les profils sont un mcanisme de dfinition des classes des priphriques informatiques sur lesquels sexcute
lapplication. Un profil dfinit un ensemble dAPI et de fonctionnalits gnralement pris en charge par une classe
dtermine de priphrique. Les profils disponibles sont les suivants :
desktop
extendedDesktop
mobileDevice
extendedMobileDevice
Vous pouvez dfinir les profils associs lapplication dans le fichier descripteur de lapplication. Seuls les utilisateurs
qui disposent dun ordinateur ou dun priphrique stipul dans les profils inclus peuvent installer lapplication. Si
vous nincluez, par exemple, que le profil desktop dans le fichier descripteur de lapplication, les utilisateurs peuvent
installer et excuter lapplication sur un ordinateur de bureau uniquement.
Si vous incluez un profil que lapplication ne prend pas totalement en charge, lexprience de lutilisateur dans les
environnements de ce type risque de ne pas tre satisfaisante. Si vous ne spcifiez pas de profil dans le fichier
descripteur de lapplication, AIR ne restreint pas cette dernire. Vous pouvez mettre en package lapplication dans tous
les formats pris en charge et celle-ci peut tre installe par les utilisateurs qui disposent dun priphrique stipul dans
nimporte quel profil. Elle risque toutefois de ne pas fonctionner correctement lexcution.
Dans la mesure du possible, les restrictions associes aux profils sont imposes lorsque vous mettez en package
lapplication. Si, par exemple, vous incluez le profil extendedDesktop uniquement, il est impossible de mettre en
package lapplication en tant que fichier AIR, mais uniquement en tant que programme dinstallation natif. De mme,
si vous nincluez pas le profil mobileDevice, il est impossible de mettre en package lapplication en tant que fichier APK
Android.
Un priphrique informatique peut prendre en charge plusieurs profils. Sur un ordinateur de bureau, AIR prend, par
exemple, en charge les applications associes aux profils desktop et extendedDesktop. Une application associe au
profil extendedDesktop peut toutefois communiquer avec les processus natifs et vous devez IMPERATIVEMENT la
mettre en package en tant que programme dinstallation natif (exe, dmg, deb ou rpm). En revanche, une application
associe au profil desktop ne peut pas communiquer avec un processus natif. Vous pouvez la mettre en package en tant
que fichier AIR ou programme dinstallation natif.
Linclusion dune fonctionnalit dans un profil indique quelle est gnralement prise en charge par la classe de
priphrique correspondante. Ce qui ne signifie pas que chaque priphrique associ un profil prend en charge
chaque fonctionnalit. La plupart des tlphones portables, mais non leur totalit, contiennent par exemple un
acclromtre. Les classes et fonctionnalit qui ne sont pas universellement prises en charge grent gnralement une
proprit boolenne que vous pouvez vrifier avant dutiliser la fonctionnalit. Dans le cas dun acclromtre, par
exemple, vous pouvez tester la proprit statique Accelerometer.isSupported pour dterminer si le priphrique
actif en est quip.
Vous pouvez assigner les profils suivants lapplication AIR laide de llment supportedProfiles du fichier
descripteur de lapplication :
Bureau Le profil de bureau dfinit un ensemble de fonctionnalits rserv aux applications AIR installes en tant que
fichiers AIR sur un ordinateur de bureau. Ces applications sont installes et sexcutent sur les plates-formes de bureau
prises en charge (Mac OS, Windows et Linux). Les applications AIR dveloppes dans les versions dAIR antrieures

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 260
Profils de priphrique

la version 2 peuvent tre considres comme faisant partie du profil de bureau. Certaines API ne sont pas prises en
charge dans ce profil. Ainsi, les applications de bureau ne peuvent pas communiquer avec les processus natifs.
Bureau tendu Le profil de bureau tendu dfinit un ensemble de fonctionnalits rserv aux applications AIR qui
sont mises en package avec un programme dinstallation natif et installes par le biais de celui-ci. Ces programmes
dinstallation natifs sont des fichiers EXE sous Windows, DMG sous Mac OS et BIN, DEB ou RPM sous Linux. Les
applications du profil de bureau tendu sont dotes de fonctionnalits que ne possdent pas les applications du profil
de bureau. Pour plus dinformations, voir Mise en package dun programme dinstallation natif de bureau la
page 58.
Priphrique mobile Le profil de priphrique mobile dfinit un ensemble de fonctionnalits rserv aux applications
installes sur des priphriques mobiles (tels que tlphones portables et tablettes). Ces applications sinstallent et
sexcutent sur les plates-formes mobiles prises en charge, notamment sur Android, Blackberry Tablet OS et iOS.
Priphrique mobile tendu Le profil de priphrique mobile tendu dfinit un ensemble de fonctionnalits tendu
rserv aux applications installes sur des priphriques mobiles. Aucun priphrique ne prend actuellement en
charge ce profil.

Limitation des profils cible dans le fichier descripteur de


lapplication
Adobe AIR 2 et ultrieur

Depuis AIR 2, le fichier descripteur de lapplication contient llment supportedProfiles, qui permet de limiter les
profils cible. Le paramtre suivant, par exemple, stipule que lapplication est uniquement disponible dans le profil de
bureau :
<supportedProfiles>desktop</supportedProfiles>

Lorsque cet lment est dfini, lapplication peut uniquement tre mise en package dans les profils que vous indiquez.
Les valeurs disponibles sont les suivantes :
desktop : profil de bureau

extendedDesktop : profil de bureau tendu

mobileDevice : profil de priphrique mobile

Llment supportedProfiles est facultatif. Lorsque vous lomettez du fichier descripteur dapplication, il est
possible de mettre en package et de dployer lapplication pour tout profil.
Pour spcifier plusieurs profils dans llment supportedProfiles, sparez-les par un espace, comme suit :
<supportedProfiles>desktop extendedDesktop</supportedProfiles>

Fonctionnalits des diffrents profils


Adobe AIR 2 et ultrieur

Le tableau ci-dessous indique les classes et fonctionnalits qui ne sont pas prises en charge par tous les profils.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 261
Profils de priphrique

Classe ou fonctionnalit desktop extendedDeskt mobileDevice


op

Acclromtre (Accelerometer.isSupported) Non Non Vrifier

Accessibilit (Capabilities.hasAccessibility) Oui Oui Non

Annulation de lcho acoustique Oui Oui Non


(Microphone.getEnhancedMicrophone())

ActionScript 2 Oui Oui Non

Matrice CacheAsBitmap Non Non Oui

Camra (Camera.isSupported) Oui Oui Oui

CameraRoll Non Non Oui

CameraUI (CameraUI.isSupported) Non Non Oui

Paquets de moteur dexcution Oui Oui Oui

ContextMenu (ContextMenu.isSupported) Oui Oui Non

DatagramSocket Oui Oui Oui


(DatagramSocket.isSupported)

DockIcon Vrifier Vrifier Non


(NativeApplication.supportsDockIcon)

Glisser-dposer Oui Oui Vrifier


(NativeDragManager.isSupported)

EncyptedLocalStore Oui Oui Oui


(EncyptedLocalStore.isSupported)

Accs Flash (DRMManager.isSupported) Oui Oui Non

GameInput (GameInput.isSupported) Non Non Non

Golocalisation (Geolocation.isSupported) Non Non Vrifier

HTMLLoader (HTMLLoader.isSupported) Oui Oui Non

Editeur IME (IME.isSupported) Oui Oui Vrifier

LocalConnection Oui Oui Non


(LocalConnection.isSupported)

Microphone (Microphone.isSupported) Oui Oui Vrifier

Son multicanaux Non Non Non


(Capabilities.hasMultiChannelAudio())

Extensions natives Non Oui Oui

NativeMenu (NativeMenu.isSupported) Oui Oui Non

NativeProcess (NativeProcess.isSupported) Non Oui Non

NativeWindow (NativeWindow.isSupported) Oui Oui Non

NetworkInfo (NetworkInfo.isSupported) Oui Oui Vrifier

Ouverture de fichiers dans lapplication par Prise en charge Oui Non


dfaut restreinte

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 262
Profils de priphrique

Classe ou fonctionnalit desktop extendedDeskt mobileDevice


op

PrintJob (PrintJob.isSupported) Oui Oui Non

SecureSocket (SecureSocket.isSupported) Oui Oui Vrifier

ServerSocket (ServerSocket.isSupported) Oui Oui Oui

Shader Oui Oui Prise en charge


restreinte

Stage3D (Stage.stage3Ds.length) Oui Oui Oui

Orientation de la scne Non Non Oui


(Stage.supportsOrientationChange)

StageVideo Non Non Vrifier

StageWebView Oui Oui Oui


(StageWebView.isSupported)

Lancement de lapplication lors de Oui Oui Non


ltablissement de la connexion
(NativeApplication.supportsStartAtLogin)

StorageVolumeInfo Oui Oui Non


(StorageVolumeInfo.isSupported)

Mode inactif du systme Non Non Oui

SystemTrayIcon Vrifier Vrifier Non


(NativeApplication.supportsSystemTrayIcon
)

Entre Text Layout Framework Oui Oui Non

Updater (Updater.isSupported) Oui Non Non

XMLSignatureValidator Oui Oui Non


(XMLSignatureValidator.isSupported)

La signification des entres du tableau est la suivante :


Vrifier : la fonctionnalit est prise en charge sur certains priphriques du profil, mais pas tous. Vrifiez
lexcution si elle est prise en charge avant de lutiliser.
Prise en charge restreinte : la fonctionnalit est prise en charge, mais est sujette dimportantes restrictions. Pour
plus dinformations, voir la documentation approprie.
Non : la fonctionnalit nest pas prise en charge par le profil.
Oui : la fonctionnalit est prise en charge par le profil. Notez que certains priphriques ne sont pas quips du
matriel requis par une fonctionnalit. Tous les tlphones ne disposent par exemple pas dune camra.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 263
Profils de priphrique

Spcification de profils lors du dbogage laide de lapplication de


dbogage du lanceur AIR (ADL)
Adobe AIR 2 et ultrieur

Lapplication de dbogage du lanceur AIR (ADL) vrifie si vous avez spcifi les profils pris en charge dans llment
supportedProfiles du fichier descripteur dapplication. Si tel est le cas, lapplication ADL utilise par dfaut le
premier profil pris en charge de la liste lors du dbogage.
Vous pouvez spcifier le profil que doit utiliser loutil ADL laide de largument de ligne de commande -profile
(Voir Application de dbogage du lanceur AIR (ADL) la page 168.) Vous pouvez utiliser cet argument mme si
vous ne spcifiez pas de profil dans llment supportedProfiles du fichier descripteur dapplication. Toutefois, si
vous dfinissez llment supportedProfiles, il doit inclure le profil indiqu dans la ligne de commande, sans quoi
loutil ADL gnre une erreur.

Dernire mise jour le 6/3/2017


264

Chapitre 16 : API intgre au navigateur et


stocke dans le fichier AIR.SWF

Personnalisation du fichier badge.swf de linstallation


transparente
Outre lutilisation du fichier badge.swf fourni dans le SDK (kit de dveloppement logiciel), vous avez galement la
possibilit de crer votre propre fichier SWF pour lutiliser dans une page de navigateur. Le fichier SWF que vous avez
personnalis peut interagir avec le moteur dexcution de diffrentes faons :
Il peut installer une application AIR. Voir Installation dune application AIR partir du navigateur la
page 270.
Il peut vrifier si une application AIR particulire est installe. Voir Vrification partir dune page Web de la
prsence dune application AIR installe la page 269.
Il peut vrifier si le moteur dexcution est install. Voir Vrification de la prsence du moteur dexcution la
page 268.
Il peut lancer une application AIR installe sur le systme dun utilisateur. Voir Lancement dune application AIR
installe partir du navigateur la page 271.
Ces possibilits sont toutes fournies en appelant des API dans un fichier SWF, nomm air.swf, et hberg sur
adobe.com. air.swf. Vous pouvez personnaliser le fichier badge.swf et appeler les API air.swf partir de votre propre
fichier SWF.
En outre, un fichier SWF sexcutant dans le navigateur peut communiquer avec une application AIR en cours
dexcution grce lutilisation de la classe LocalConnection. Pour plus dinformations, voir Communications avec
dautres occurrences de Flash Player et dAIR (dveloppeurs ActionScript) ou Communications avec dautres
occurrences de Flash Player et dAIR (dveloppeurs HTML).
Important : les fonctionnalits dcrites dans cette section (et les API du fichier air.swf) impliquent linstallation pralable
dAdobe Flash Player 9 mise jour 3 ou ultrieur par lutilisateur final dans le navigateur Web sous Windows ou
Mac OS. Sous Linux, la fonction dinstallation transparente requiert Flash Player 10 (version 10,0,12,36 ou ultrieure).
Vous pouvez crire du code pour vrifier la version installe de Flash Player et fournir une autre interface lutilisateur
si la version requise de Flash Player nest pas installe. Par exemple, si une ancienne version de Flash Player est installe,
il est possible de fournir un lien vers la version tlcharger du fichier AIR (plutt que dutiliser le fichier badge.swf ou
lAPI air.swf pour installer une application).

Utilisation du fichier badge.swf pour installer une


application AIR
Le fichier badge.swf, qui est intgr aux kits SDK AIR et Flex, facilite lutilisation de la fonctionnalit dinstallation
transparente. Ce fichier peut installer le moteur dexcution et une application AIR partir dun lien dans une page Web.
Le fichier badge.swf et son code source vous sont fournis pour que vous en assuriez la distribution sur votre site Web.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 265
API intgre au navigateur et stocke dans le fichier AIR.SWF

Intgration du fichier badge.swf dans une page Web


1 Recherchez les fichiers suivants, qui rsident dans le rpertoire samples/badge du kit SDK AIR ou Flex, et ajoutez-
les au serveur Web.
badge.swf
default_badge.html
AC_RunActiveContent.js
2 Ouvrez la page default_badge.html dans un diteur de texte.
3 Dans la page default_badge.html, au niveau de la fonction JavaScript AC_FL_RunContent(), ajustez le paramtrage
FlashVars pour les paramtres suivants :

Paramtre Description

appname Nom de lapplication, affich par le fichier SWF lorsque le moteur dexcution nest pas install.

appurl (Obligatoire). URL du fichier AIR tlcharger. Vous devez utiliser une URL absolue, et non relative.

airversion (Obligatoire). Pour la version 1.0 du moteur dexcution, dfinissez ce paramtre sur 1.0.

imageurl URL de limage (facultative) afficher dans le badge.

buttoncolor Couleur du bouton Tlcharger (spcifie sous forme de valeur hexadcimale, telle que FFCC00).

messagecolor Couleur du message textuel affich sous le bouton lorsque le moteur dexcution nest pas install
(spcifie sous la forme dune valeur hexadcimale, telle que FFCC00).

4 La taille minimale du fichier badge.swf est de 217 pixels de large sur 180 de haut. Ajustez les valeurs des paramtres
width et height de la fonction AC_FL_RunContent() votre convenance.

5 Renommez le fichier default_badge.html et ajustez son code (ou englobez-le dans une autre page HTML) selon vos
besoins.
Remarque : ne dfinissez pas lattribut wmode de la balise HTML embed qui charge le fichier badge.swf ; conservez la
valeur par dfaut ("window"). Les autres paramtres wmode empchent linstallation sur certains systmes et leur
utilisation donne lieu une erreur : Erreur n 2044 : ErrorEvent non trait :. text=Erreur n 2074 : La scne est trop
petite pour contenir linterface utilisateur tlcharge.
Vous pouvez galement modifier et recompiler le fichier badge.swf. Pour plus dinformations, voir Modification du
fichier badge.swf la page 266.

Installation de lapplication AIR partir dun lien dinstallation transparente


propos dans une page Web
Une fois que vous avez ajout le lien de linstallation transparente une page, lutilisateur peut installer
lapplication AIR en cliquant sur le lien dans le fichier SWF.
1 Naviguez jusqu la page HTML dans un navigateur Web sur lequel Flash Player (version 9 mise jour 3 ou
ultrieure sous Windows et Mac OS, ou version 10 sous Linux) est install.
2 Dans cette page Web, cliquez sur le lien contenu dans le fichier badge.swf.
Si le moteur dexcution est install, passez ltape suivante.
Si le moteur dexcution nest pas install, une bote de dialogue saffiche pour vous proposer de linstaller.
Installez le moteur dexcution (voir Installation dAdobe AIR la page 3), puis passez ltape suivante.
3 Dans la fentre dinstallation, conservez les paramtres par dfaut slectionns, puis cliquez sur Continuer.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 266
API intgre au navigateur et stocke dans le fichier AIR.SWF

Sous Windows, lenvironnement dexcution AIR effectue les oprations suivantes :


Installation de lapplication dans c:\Program Files\
Cration dun raccourci sur le bureau pour ouvrir lapplication
Cration dun raccourci dans le menu Dmarrer
Ajout dune entre dans Ajout/Suppression de programmes du Panneau de configuration
Sous Mac OS, le programme dinstallation ajoute lapplication au rpertoire Applications (par exemple, dans le
rpertoire /Applications pour Mac OS).
Sur un ordinateur Linux, AIR effectue automatiquement les oprations suivantes :
Installation de lapplication dans /opt
Cration dun raccourci sur le bureau pour ouvrir lapplication
Cration dun raccourci dans le menu Dmarrer
Ajout dune entre dans le gestionnaire de package du systme
4 Slectionnez les options qui vous intressent, puis cliquez sur le bouton Installer.
5 Une fois que vous avez termin linstallation, cliquez sur Terminer.

Modification du fichier badge.swf


Les kits SDK de Flex et dAIR contiennent les fichiers sources associs au fichier badge.swf. Ces fichiers sont situs dans
le dossier samples/badge du kit SDK :

Fichiers sources Description

badge.fla Fichier Flash source, utilis pour compiler le fichier badge.swf. Le fichier badge.fla est compil dans un fichier
SWF 9 (pouvant tre charg dans Flash Player).

AIRBadge.as Classe ActionScript 3.0 dfinissant la classe de base utilise dans le fichier basdge.fla.

Vous pouvez utiliser Flash Professional pour modifier la conception de linterface visuelle du fichier badge.fla.
La fonction constructeur AIRBadge(), dfinie dans la classe AIRBadge, charge le fichier air.swf hberg ladresse
suivante http://airdownload.adobe.com/air/browserapi/air.swf. Le fichier air.swf contient le code pour lutilisation de
la fonctionnalit dinstallation transparente.
La mthode onInit() (dans la classe AIRBadge) est appele lorsque le chargement du fichier air.swf sest
correctement droul :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 267
API intgre au navigateur et stocke dans le fichier AIR.SWF

private function onInit(e:Event):void {


_air = e.target.content;
switch (_air.getStatus()) {
case "installed" :
root.statusMessage.text = "";
break;
case "available" :
if (_appName && _appName.length > 0) {
root.statusMessage.htmlText = "<p align='center'><font color='#"
+ _messageColor + "'>In order to run " + _appName +
", this installer will also set up Adobe AIR.</font></p>";
} else {
root.statusMessage.htmlText = "<p align='center'><font color='#"
+ _messageColor + "'>In order to run this application, "
+ "this installer will also set up Adobe AIR.</font></p>";
}
break;
case "unavailable" :
root.statusMessage.htmlText = "<p align='center'><font color='#"
+ _messageColor
+ "'>Adobe AIR is not available for your system.</font></p>";
root.buttonBg_mc.enabled = false;
break;
}
}

Le code dfinit la variable _air globale sur la classe principale du fichier air.swf charg. Cette classe comprend les
mthodes publiques suivantes auxquelles le fichier badge.swf accde pour appeler la fonctionnalit dinstallation
transparente :

Mthode Description

getStatus() Dtermine si le moteur dexcution est install (ou sil peut tre install) sur lordinateur. Pour plus
dinformations, voir Vrification de la prsence du moteur dexcution la page 268.

runtimeVersion : chane prcisant la version du moteur dexcution ( 1.0.M6 , par exemple) qui est
requise par lapplication installer.

installApplication() Installe lapplication spcifie sur lordinateur de lutilisateur. Pour plus dinformations, voir Installation dune
application AIR partir du navigateur la page 270.

url : chane dfinissant lURL. Vous devez utiliser un chemin dURL absolu, et non relatif.

runtimeVersion : chane prcisant la version du moteur dexcution ( 2.5. , par exemple) qui est
requise par lapplication installer.

arguments : arguments transmettre lapplication si elle est lance aprs son installation. Lapplication
est lance linstallation si llment allowBrowserInvocation est dfini sur true dans le fichier
descripteur de lapplication. (Pour plus dinformations sur le fichier descripteur dapplication, voir Fichiers
descripteurs dapplications AIR la page 217.) Si lapplication est lance lors dune installation
transparente depuis le navigateur (lutilisateur ayant choisi le lancement linstallation), lobjet
NativeApplication de lapplication ne distribue dobjet BrowserInvokeEvent que si des arguments sont
transmis. Tenez compte des consquences au niveau de la scurit quune transmission de donnes
lapplication peut entraner. Pour plus dinformations, voir Lancement dune application AIR installe
partir du navigateur la page 271.

Les paramtres pour url et runtimeVersion sont transmis dans le fichier SWF via les paramtres FlashVars dans la
page HTML servant de conteneur.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 268
API intgre au navigateur et stocke dans le fichier AIR.SWF

Si lapplication dmarre automatiquement linstallation, vous pouvez utiliser la communication LocalConnection


pour que lapplication installe contacte le fichier badge.swf au moment de lappel. Pour plus dinformations, voir
Communications avec dautres occurrences de Flash Player et dAIR (dveloppeurs ActionScript) ou Communications
avec dautres occurrences de Flash Player et dAIR (dveloppeurs HTML).
Vous pouvez galement appeler la mthode getApplicationVersion() du fichier air.swf pour vrifier quune
application est dj installe. Vous avez le choix dappeler cette mthode avant que la procdure dinstallation de
lapplication dbute, ou aprs le dmarrage de linstallation. Pour plus dinformations, voir Vrification partir dune
page Web de la prsence dune application AIR installe la page 269.

Chargement du fichier air.swf


Vous pouvez crer votre propre fichier SWF, il sert utiliser les API dans le fichier air.swf pour interagir avec le moteur
dexcution et les applications AIR depuis une page Web affiche dans un navigateur. Le fichier air.swf est hberg
ladresse suivante http://airdownload.adobe.com/air/browserapi/air.swf. Pour rfrencer les API du fichier air.swf
partir de votre fichier SWF, chargez le fichier air.swf dans le mme domaine dapplication que celui de votre fichier
SWF. Le code suivant illustre un exemple de chargement du fichier air.swf dans le domaine dapplication du fichier
SWF chargeant.
var airSWF:Object; // This is the reference to the main class of air.swf
var airSWFLoader:Loader = new Loader(); // Used to load the SWF
var loaderContext:LoaderContext = new LoaderContext();
// Used to set the application domain

loaderContext.applicationDomain = ApplicationDomain.currentDomain;

airSWFLoader.contentLoaderInfo.addEventListener(Event.INIT, onInit);
airSWFLoader.load(new URLRequest("http://airdownload.adobe.com/air/browserapi/air.swf"),
loaderContext);

function onInit(e:Event):void
{
airSWF = e.target.content;
}

Une fois le fichier air.swf charg (lorsque lobjet contentLoaderInfo de lobjet chargeur Loader distribue lvnement
init), vous pouvez appeler nimporte quelle API du fichier air.swf, comme indiqu ci-aprs.

Remarque : le fichier badge.swf, qui est intgr aux kits SDK AIR et Flex, charge automatiquement le fichier air.swf. Voir
Utilisation du fichier badge.swf pour installer une application AIR la page 264. Les instructions dtailles dans cette
section se rapportent la cration de votre propre fichier SWF qui charge le fichier air.swf.

Vrification de la prsence du moteur dexcution


Un fichier SWF peut vrifier si le moteur dexcution est install en appelant la mthode getStatus() dans le fichier
air.swf charg partir de http://airdownload.adobe.com/air/browserapi/air.swf. Pour plus dinformations, voir
Chargement du fichier air.swf la page 268.
Une fois le fichier air.swf charg, le fichier SWF peut appeler la mthode getStatus() du fichier air.swf, comme suit :
var status:String = airSWF.getStatus();

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 269
API intgre au navigateur et stocke dans le fichier AIR.SWF

La mthode getStatus() renvoie une des valeurs de chane suivantes en fonction de ltat du moteur dexcution sur
lordinateur :

Valeur de chane Description

"available" Il est possible dinstaller le moteur dexcution sur cet ordinateur, mais il ny est pas install actuellement.

"unavailable" Il est impossible dinstaller le moteur dexcution sur cet ordinateur.

"installed" Le moteur dexcution est install sur cet ordinateur.

La mthode getStatus() renvoie une erreur si la version requise de Flash Player (version 9 mise jour 3 ou ultrieure
sous Windows et Mac OS, ou version 10 sous Linux) nest pas installe dans le navigateur.

Vrification partir dune page Web de la prsence


dune application AIR installe
Un fichier SWF peut vrifier si une application AIR (avec un ID dapplication et un ID dditeur correspondants) est
installe en appelant la mthode getApplicationVersion() dans le fichier air.swf charg partir de
http://airdownload.adobe.com/air/browserapi/air.swf. Pour plus dinformations, voir Chargement du fichier
air.swf la page 268.
Une fois le fichier air.swf charg, le fichier SWF peut appeler la mthode getApplicationVersion() du fichier air.swf
comme suit :
var appID:String = "com.example.air.myTestApplication";
var pubID:String = "02D88EEED35F84C264A183921344EEA353A629FD.1";
airSWF.getApplicationVersion(appID, pubID, versionDetectCallback);

function versionDetectCallback(version:String):void
{
if (version == null)
{
trace("Not installed.");
// Take appropriate actions. For instance, present the user with
// an option to install the application.
}
else
{
trace("Version", version, "installed.");
// Take appropriate actions. For instance, enable the
// user interface to launch the application.
}
}

La mthode getApplicationVersion() possde les paramtres suivants :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 270
API intgre au navigateur et stocke dans le fichier AIR.SWF

Paramtres Description

appID ID dapplication pour lapplication. Pour plus dinformations, voir id la page 239.

pubID ID dditeur de lapplication. Pour plus dinformations, voir publisherID la page 248. Si lapplication
concerne ne possde pas didentifiant dditeur, dfinissez le paramtre pubID sur une chane vide ().

callback Fonction de rappel pour servir comme fonction de gestionnaire. La mthode getApplicationVersion()
fonctionne de faon asynchrone et cest lorsque la prsence (ou labsence) de la version est dtecte que cette
mthode de rappel est invoque. La dfinition de la mthode de rappel doit inclure un paramtre, une chane,
qui est dfini sur la chane de version de lapplication installe. Si lapplication nest pas installe, une valeur
null est transmise la fonction, comme illustr dans lexemple de code prcdent.

La mthode getApplicationVersion() renvoie une erreur si la version requise de Flash Player (version 9 mise
jour 3 ou ultrieure sous Windows et Mac OS, ou version 10 sous Linux) nest pas installe dans le navigateur.
Remarque : depuis la version 1.5.3 dAIR, lutilisation de lidentifiant dditeur est dconseille. Les identifiants dditeur
ne sont plus automatiquement affects aux applications. Les applications peuvent nanmoins continuer les stipuler
des fins de compatibilit ascendante.

Installation dune application AIR partir du navigateur


Un fichier SWF peut installer une application AIR en appelant la mthode installApplication() dans le fichier
air.swf charg partir de http://airdownload.adobe.com/air/browserapi/air.swf. Pour plus dinformations,
voir Chargement du fichier air.swf la page 268.
Une fois le fichier air.swf charg, le fichier SWF peut appeler la mthode installApplication() du fichier air.swf
comme suit :
var url:String = "http://www.example.com/myApplication.air";
var runtimeVersion:String = "1.0";
var arguments:Array = ["launchFromBrowser"]; // Optional
airSWF.installApplication(url, runtimeVersion, arguments);

La mthode installApplication() installe lapplication spcifie sur lordinateur de lutilisateur. Cette mthode est
dote des paramtres suivants :

Paramtre Description

url Chane dfinissant lURL du fichier AIR installer. Vous devez utiliser un chemin dURL absolu, et non relatif.

runtimeVersion Chane prcisant la version du moteur dexcution (par exemple 1.0 ) qui est requise par lapplication
installer.

arguments Tableau darguments transmettre lapplication si elle est lance au moment de linstallation. Seuls les
caractres alphanumriques sont reconnus dans les arguments. Pour transmettre dautres valeurs, pensez
utiliser un schma de codage.

Lapplication est lance linstallation si llment allowBrowserInvocation est dfini sur true dans le
fichier descripteur de lapplication. (Pour plus dinformations sur le fichier descripteur dapplication, voir
Fichiers descripteurs dapplications AIR la page 217.) Si lapplication est lance lors dune installation
transparente depuis le navigateur (lutilisateur ayant choisi le lancement linstallation), lobjet
NativeApplication de lapplication ne distribue dobjet BrowserInvokeEvent que si des arguments ont t
transmis. Pour plus dinformations, voir Lancement dune application AIR installe partir du navigateur
la page 271.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 271
API intgre au navigateur et stocke dans le fichier AIR.SWF

La mthode installApplication() ne peut fonctionner que lorsquelle est appele dans le gestionnaire dvnement
pour un vnement utilisateur, tel quun clic de souris.
La mthode installApplication() renvoie une erreur si la version requise de Flash Player (version 9 mise jour 3
ou ultrieure sous Windows et Mac OS, ou version 10 sous Linux) nest pas installe dans le navigateur.
Sous Mac OS, lutilisateur doit dtenir les droits systme appropris lui permettant dinstaller une version de mise
jour dune application dans le rpertoire de cette application (et de privilges dadministration si lapplication met
jour le moteur dexcution). Sil utilise Windows, lutilisateur doit dtenir des privilges dadministration.
Vous pouvez galement appeler la mthode getApplicationVersion() du fichier air.swf pour vrifier si une
application est dj installe. Vous avez le choix dappeler cette mthode avant que la procdure dinstallation de
lapplication dbute, ou aprs le dmarrage de linstallation. Pour plus dinformations, voir Vrification partir dune
page Web de la prsence dune application AIR installe la page 269. Ds quelle est excute, lapplication peut
communiquer avec le contenu SWF dans le navigateur en utilisant la classe LocalConnection. Pour plus
dinformations, voir Communications avec dautres occurrences de Flash Player et dAIR (dveloppeurs ActionScript)
ou Communications avec dautres occurrences de Flash Player et dAIR (dveloppeurs HTML).

Lancement dune application AIR installe partir du


navigateur
Pour utiliser la fonctionnalit dappel du navigateur (lui permettant dtre lanc partir du navigateur), le fichier
descripteur dapplication de lapplication cible doit comporter le paramtre suivant :
<allowBrowserInvocation>true</allowBrowserInvocation>

Pour plus dinformations sur le fichier descripteur dapplication, voir Fichiers descripteurs dapplications AIR la
page 217.
Un fichier SWF prsent dans le navigateur peut lancer une application AIR en appelant la mthode
launchApplication() dans le fichier air.swf charg partir de
http://airdownload.adobe.com/air/browserapi/air.swf. Pour plus dinformations, voir Chargement du fichier
air.swf la page 268.
Une fois le fichier air.swf charg, le fichier SWF peut appeler la mthode launchApplication() du fichier air.swf
comme suit :
var appID:String = "com.example.air.myTestApplication";
var pubID:String = "02D88EEED35F84C264A183921344EEA353A629FD.1";
var arguments:Array = ["launchFromBrowser"]; // Optional
airSWF.launchApplication(appID, pubID, arguments);

La mthode launchApplication() est dfinie au niveau suprieur du fichier air.swf (qui est charg dans le domaine
dapplication du fichier SWF de linterface utilisateur). Le fait dappeler cette mthode dclenche le lancement de
lapplication spcifie par AIR (si cette application est installe et si lappel du navigateur est autoris, par le biais du
paramtre allowBrowserInvocation dans le fichier descripteur de lapplication). Cette mthode prend en charge les
paramtres suivants :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 272
API intgre au navigateur et stocke dans le fichier AIR.SWF

Paramtre Description

appID ID dapplication pour lapplication lancer. Pour plus dinformations, voir id la page 239.

pubID ID dditeur de lapplication lancer. Pour plus dinformations, voir publisherID la page 248. Si
lapplication concerne ne possde pas didentifiant dditeur, dfinissez le paramtre pubID sur une chane
vide ().

arguments Tableau darguments transmettre lapplication. Lobjet NativeApplication de lapplication distribue un


vnement BrowserInvokeEvent dont une proprit arguments est dfinie sur ce tableau. Seuls les caractres
alphanumriques sont reconnus dans les arguments. Pour transmettre dautres valeurs, pensez utiliser un
schma de codage.

La mthode launchApplication() ne peut fonctionner que lorsquelle est appele dans le gestionnaire dvnement
pour un vnement utilisateur, tel quun clic de souris.
La mthode launchApplication() renvoie une erreur si la version requise de Flash Player (version 9 mise jour 3
ou ultrieure sous Windows et Mac OS, ou version 10 sous Linux) nest pas installe dans le navigateur.
Si llment allowBrowserInvocation est dfini sur false dans le fichier descripteur de lapplication, lappel de la
mthode launchApplication() na aucune incidence.
Avant de prsenter linterface utilisateur pour lancer lapplication, il est peut-tre prfrable dappeler la mthode
getApplicationVersion() dans le fichier air.swf. Pour plus dinformations, voir Vrification partir dune page
Web de la prsence dune application AIR installe la page 269.
Lorsque lapplication est invoque par le biais de la fonctionnalit dappel du navigateur, lobjet NativeApplication de
lapplication distribue un objet BrowserInvokeEvent. Pour plus dinformations, voir Appel dune application AIR
partir du navigateur (dveloppeurs ActionScript) ou Appel dune application AIR partir du navigateur (dveloppeurs
HTML).
Si vous utilisez la fonction dappel du navigateur, tenez compte des implications au niveau de la scurit. Ces
implications sont dcrites dans Appel dune application AIR partir du navigateur (dveloppeurs ActionScript) et
Appel dune application AIR partir du navigateur (dveloppeurs HTML).
Ds quelle est excute, lapplication peut communiquer avec le contenu SWF dans le navigateur en utilisant la classe
LocalConnection. Pour plus dinformations, voir Communications avec dautres occurrences de Flash Player et dAIR
(dveloppeurs ActionScript) ou Communications avec dautres occurrences de Flash Player et dAIR (dveloppeurs
HTML).
Remarque : depuis la version 1.5.3 dAIR, lutilisation de lidentifiant dditeur est dconseille. Les identifiants dditeur
ne sont plus automatiquement affects aux applications. Les applications peuvent nanmoins continuer les stipuler
des fins de compatibilit ascendante.

Dernire mise jour le 6/3/2017


273

Chapitre 17 : Mise jour des


applications AIR
Lutilisateur peut installer ou mettre jour une application AIR en double-cliquant sur un fichier AIR sur lordinateur
ou partir du navigateur ( laide de la fonction dinstallation transparente). Le programme dinstallation
dAdobe AIR gre linstallation et avertit lutilisateur sil met jour une application existante.
Par ailleurs, la classe Updater permet une application installe de se mettre automatiquement niveau vers une
nouvelle version. (Il est possible quune application installe dtecte quune nouvelle version peut tre tlcharge et
installe.) La classe Updater inclut une mthode update(), qui permet de pointer vers un fichier AIR rsidant sur
lordinateur de lutilisateur et deffectuer la mise jour vers cette version. Vous devez mettre en package lapplication
sous forme de fichier AIR pour pouvoir utiliser la classe Updater. Les applications mises en package sous forme de
package ou fichier excutable natif devraient utiliser les fonctionnalits de mise jour fournies par la plate-forme
native.
LID dapplication et lID dditeur dun fichier AIR de mise jour doivent correspondre lapplication mettre jour.
LID dditeur est issu du certificat de signature, ce qui signifie que la mise jour et lapplication mettre jour doivent
tre signes avec le mme certificat.
Dans AIR 1.5.3 ou ultrieur, le fichier descripteur dapplication comprend un lment <publisherID>. Vous devez
utiliser cet lment si vous avez dvelopp des versions de lapplication laide dAIR 1.5.2 ou antrieur. Pour plus
dinformations, voir publisherID la page 248.
Depuis AIR 1.1, vous pouvez effectuer la migration dune application pour utiliser un nouveau certificat dveloppeur.
La migration dune application pour utiliser une nouvelle signature implique la signature du fichier AIR de mise jour
avec lancien et le nouveau certificat. La migration de certificats est un processus unidirectionnel. Aprs la migration,
seuls les fichiers AIR signs avec le nouveau certificat (ou avec les deux certificats) sont reconnus comme tant des
mises jour dune installation existante.
La gestion des mises jour des applications peut se rvler complexe. AIR 1.5 comprend la nouvelle structure de mise
jour des applications AdobeAIR. Cette structure fournit des API qui aident les dveloppeurs doter les
applications AIR de bonnes capacits de mise jour.
Vous pouvez utiliser la migration de certificats pour passer dun certificat auto-sign un certificat de signature de
code commercial, ou dun certificat auto-sign ou commercial un autre. Si vous neffectuer pas la migration du
certificat, les utilisateurs existants doivent supprimer la version actuelle de votre application avant dinstaller la
nouvelle. Pour plus dinformations, voir Changement de certificats la page 205.
Il est recommand dinclure un mcanisme de mise jour dans votre application. Si vous crez une nouvelle version
de celle-ci, le mcanisme de mise jour peut inviter lutilisateur installer la nouvelle version.
Le programme dinstallation dune application AIR cre des fichiers journaux linstallation, la mise jour ou la
suppression de lapplication. Vous pouvez consulter ces journaux pour dterminer la cause de tout problme
dinstallation. Voir Installation logs.
Remarque : les nouvelles versions du moteur dexcution Adobe AIR comprennent parfois des versions mises jour de
WebKit. Celles-ci sont susceptibles dapporter des modifications inattendues au contenu HTML dans une application
AIR dploye, modifications exigeant ventuellement la mise jour de lapplication. Un mcanisme de mise jour peut
informer lutilisateur quune nouvelle version de lapplication est disponible. Pour plus dinformations, voir A propos de
lenvironnement HTML (dveloppeurs ActionScript) ou A propos de lenvironnement HTML (dveloppeurs HTML).

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 274
Mise jour des applications AIR

A propos de la mise jour des applications


La classe Updater (intgre au package flash.desktop) contient une mthode unique, update(), qui permet de mettre
jour lapplication en cours dexcution. Par exemple, si lutilisateur dispose dune version du fichier AIR
( Sample_App_v2.air ) situe sur le bureau, le code suivant met jour lapplication :
Exemple ActionScript :
var updater:Updater = new Updater();
var airFile:File = File.desktopDirectory.resolvePath("Sample_App_v2.air");
var version:String = "2.01";
updater.update(airFile, version);

Exemple JavaScript :
var updater = new air.Updater();
var airFile = air.File.desktopDirectory.resolvePath("Sample_App_v2.air");
var version = "2.01";
updater.update(airFile, version);

Pour que lapplication puisse utiliser la classe Updater, lutilisateur ou lapplication doit tlcharger la version mise
jour du fichier AIR sur lordinateur. Pour plus dinformations, voir Tlchargement dun fichier AIR sur lordinateur
de lutilisateur la page 276.

Rsultats de lappel la mthode Updater.update()


Lorsquune application du moteur dexcution appelle la mthode update(), le moteur dexcution ferme
lapplication, puis tente dinstaller la nouvelle version partir du fichier AIR. Le moteur dexcution vrifie que lID
dapplication et lID dditeur spcifis dans le fichier AIR correspondent ceux de lapplication qui appellent la
mthode update(). (Pour plus dinformations sur lID dapplication et lID dditeur, voir Fichiers descripteurs
dapplications AIR la page 217.) Il vrifie galement que la chane de version correspond la chane version
transmise la mthode update(). Si linstallation russit, le moteur dexcution ouvre la nouvelle version de
lapplication. Dans le cas contraire (si linstallation choue), il ouvre nouveau la version existante (pr-installe) de
lapplication.
Sous Mac OS, pour installer une version mise jour dune application, lutilisateur doit disposer de privilges systme
appropris pour accder au rpertoire de lapplication. Sil utilise Windows ou Linux, lutilisateur doit disposer de
privilges dadministrateur.
Si la version mise jour de lapplication requiert une mise jour du moteur dexcution, la nouvelle version du moteur
est installe. Pour mettre jour le moteur dexcution, un utilisateur doit disposer des privilges administrateur pour
lordinateur.
Lors du test dune application avec lapplication de dbogage du lanceur AIR (ADL), lappel de la mthode update()
provoque une exception dexcution.

A propos de la chane de version


La chane spcifie comme paramtre version de la mthode update() doit correspondre la chane de llment
version ou versionNumber du fichier descripteur dapplication associ au fichier AIR installer. Par mesure de
scurit, la dfinition du paramtre version est obligatoire. En imposant lapplication de vrifier le numro de
version du fichier AIR, celle-ci vite dinstaller une version antrieure par inadvertance. (Une version antrieure de
lapplication risque dtre affecte par des problmes de scurit rsolus dans lapplication actuellement installe.)
Lapplication doit galement vrifier la chane de version du fichier AIR avec la chane de version de lapplication
installe afin dviter les tentatives dattaque pour rtrograder lapplication.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 275
Mise jour des applications AIR

Avant AIR 2.5, utilisez nimporte quel format pour la chane de version ( 2.01 ou version 2 , par exemple). A
partir dAIR 2.5 ou ultrieur, la chane de version doit correspondre une squence de nombres dun, deux ou trois
chiffres, spars par un point. Exemple : .0 , 1.0 et 67.89.999 sont tous des nombres de version valides. Validez
la chane de version avant de mettre jour lapplication.
Si une application Adobe AIR tlcharge un fichier AIR via Internet, il est conseill de disposer dun mcanisme
permettant au service Web dinformer lapplication Adobe AIR de la version en cours de tlchargement. Lapplication
peut ainsi utiliser cette chane comme paramtre version de la mthode update(). Si le fichier AIR est obtenu par
un autre moyen, dans lequel la version du fichier AIR est inconnue, lapplication AIR peut examiner le fichier AIR afin
de dterminer les informations de version. (Un fichier AIR est une archive compresse et le fichier descripteur
dapplication correspond au deuxime enregistrement dans larchive.)
Pour plus dinformations sur le fichier descripteur dapplication, voir Fichiers descripteurs dapplications AIR la
page 217.

Flux de travail de signature associ aux mises jour dapplication


La publication ad hoc de mises jour complique les tches de gestion de versions dapplication multiples, ainsi que le
processus de suivi des dates dexpiration des certificats. Un certificat risque darriver expiration avant que vous ne
puissiez publier une mise jour.
Le moteur dexcution dAdobe AIR traite une mise jour dapplication publie sans signature de migration comme
une nouvelle application. Les utilisateurs doivent dsinstaller lapplication AIR en cours pour pouvoir installer la mise
jour.
Pour rsoudre le problme, tlchargez chaque application mise jour avec le certificat le plus rcent sur une URL de
dploiement distincte. Incluez un mcanisme destin vous rappeler dappliquer une signature de migration lorsque
le dlai de 180 jours du certificat est entam, mais pas dpass. Pour plus dinformations, voir Signature dune version
mise jour dune application AIR la page 211.
Pour apprendre appliquer une signature, voir Commandes de loutil ADT la page 174.
Excutez les tches suivantes pour rationaliser le processus dapplication des signatures de migration :
Tlchargez chaque application mise jour sur une URL de dploiement distincte.
Tlchargez le fichier XML du descripteur de mise jour et le certificat associ la mise jour le plus rcent sur la
mme URL.
Signez lapplication mise jour laide du certificat le plus rcent.
Appliquez une signature de migration lapplication mise jour laide du certificat utilis pour signer la version
prcdente (qui rside sur une autre URL).

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 276
Mise jour des applications AIR

Prsentation dune interface utilisateur personnalise


pour la mise jour dapplications
AIR inclut une interface de mise jour par dfaut :

Cette interface est toujours utilise la premire fois quun utilisateur installe une version dune application sur une
machine. Vous pouvez cependant dfinir votre propre interface en vue de lutiliser dans les occurrences suivantes. Si
lapplication dfinit une interface de mise jour personnalise, spcifiez un lment customUpdateUI dans le fichier
descripteur de lapplication actuellement installe :
<customUpdateUI>true</customUpdateUI>

Aprs avoir install lapplication et une fois que lutilisateur a ouvert un fichier AIR avec un ID dapplication et un ID
dditeur correspondant lapplication installe, cest le moteur dexcution qui ouvre lapplication et non le
programme dinstallation par dfaut de lapplication AIR. Pour plus dinformations, voir customUpdateUI la
page 229.
Lors de son excution (cest--dire lorsque lobjet NativeApplication.nativeApplication distribue un
vnement load), lapplication peut dcider de mettre ou non lapplication jour ( laide de la classe Updater). Si elle
dcide deffectuer la mise jour, elle peut prsenter lutilisateur sa propre interface dinstallation (qui diffre de
linterface dexcution standard).

Tlchargement dun fichier AIR sur lordinateur de


lutilisateur
Pour utiliser la classe Updater, lutilisateur ou lapplication doit tout dabord enregistrer un fichier AIR localement sur
lordinateur de lutilisateur.
Remarque : AIR 1.5 comprend une structure de mise jour qui aide les dveloppeurs doter les applications AIR de
bonnes capacits de mise jour. Lutilisation de cette structure peut tre bien plus simple que lutilisation directe de la
mthode update() de la classe Update. Pour plus dinformations, voir Utilisation de la structure de mise jour la
page 280.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 277
Mise jour des applications AIR

Le code suivant lit un fichier AIR partir dune URL (http://example.com/air/updates/Sample_App_v2.air) et


lenregistre dans le rpertoire de stockage de lapplication.
Exemple ActionScript :
var urlString:String = "http://example.com/air/updates/Sample_App_v2.air";
var urlReq:URLRequest = new URLRequest(urlString);
var urlStream:URLStream = new URLStream();
var fileData:ByteArray = new ByteArray();
urlStream.addEventListener(Event.COMPLETE, loaded);
urlStream.load(urlReq);

function loaded(event:Event):void {
urlStream.readBytes(fileData, 0, urlStream.bytesAvailable);
writeAirFile();
}

function writeAirFile():void {
var file:File = File.applicationStorageDirectory.resolvePath("My App v2.air");
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.WRITE);
fileStream.writeBytes(fileData, 0, fileData.length);
fileStream.close();
trace("The AIR file is written.");
}

Exemple JavaScript :
var urlString = "http://example.com/air/updates/Sample_App_v2.air";
var urlReq = new air.URLRequest(urlString);
var urlStream = new air.URLStream();
var fileData = new air.ByteArray();
urlStream.addEventListener(air.Event.COMPLETE, loaded);
urlStream.load(urlReq);

function loaded(event) {
urlStream.readBytes(fileData, 0, urlStream.bytesAvailable);
writeAirFile();
}

function writeAirFile() {
var file = air.File.desktopDirectory.resolvePath("My App v2.air");
var fileStream = new air.FileStream();
fileStream.open(file, air.FileMode.WRITE);
fileStream.writeBytes(fileData, 0, fileData.length);
fileStream.close();
trace("The AIR file is written.");
}

Pour plus dinformations, voir :


Flux de travail pour la lecture et lcriture de fichiers (Dveloppeurs ActionScript)
Flux de travail pour la lecture et lcriture de fichiers (Dveloppeurs HTML)

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 278
Mise jour des applications AIR

Vrifications permettant de savoir si lapplication est


excute pour la premire fois
Aprs avoir mis jour une application, vous pouvez afficher un message de bienvenue ou de mise en route destin
lutilisateur. Au dmarrage, lapplication vrifie si elle est excute pour la premire fois afin dafficher ou non ce
message.
Remarque : AIR 1.5 comprend une structure de mise jour qui aide les dveloppeurs doter les applications AIR de
bonnes capacits de mise jour. Cette structure fournit des mthodes simples qui permettent de vrifier si la version de
lapplication est excute pour la premire fois. Pour plus dinformations, voir Utilisation de la structure de mise jour
la page 280.
Pour cela, vous devez enregistrer un fichier dans le rpertoire de stockage de lapplication lors de linitialisation de
lapplication. Chaque fois que lapplication dmarre, elle vrifie lexistence de ce fichier. Si le fichier nexiste pas,
lapplication est excute pour la premire fois pour lutilisateur actuel. Si le fichier existe, lapplication a dj t
excute au moins une fois. Si le fichier existe et contient un numro de version antrieur au numro de version actuel,
vous savez que lutilisateur excute la nouvelle version pour la premire fois.
Lexemple Flex suivant illustre ce concept :
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
title="Sample Version Checker Application"
applicationComplete="system extension()">
<mx:Script>
<![CDATA[
import flash.filesystem.*;
public var file:File;
public var currentVersion:String = "1.2";
public function system extension():void {
file = File.applicationStorageDirectory;
file = file.resolvePath("Preferences/version.txt");
trace(file.nativePath);
if(file.exists) {
checkVersion();
} else {
firstRun();
}
}
private function checkVersion():void {
var stream:FileStream = new FileStream();
stream.open(file, FileMode.READ);
var reversion:String = stream.readUTFBytes(stream.bytesAvailable);
stream.close();
if (reversion != currentVersion) {
log.text = "You have updated to version " + currentVersion + ".\n";

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 279
Mise jour des applications AIR

} else {
saveFile();
}
log.text += "Welcome to the application.";
}
private function firstRun():void {
log.text = "Thank you for installing the application. \n"
+ "This is the first time you have run it.";
saveFile();
}
private function saveFile():void {
var stream:FileStream = new FileStream();
stream.open(file, FileMode.WRITE);
stream.writeUTFBytes(currentVersion);
stream.close();
}
]]>
</mx:Script>
<mx:TextArea ID="log" width="100%" height="100%" />
</mx:WindowedApplication>

Lexemple suivant illustre le concept en JavaScript :


<html>
<head>
<script src="AIRAliases.js" />
<script>
var file;
var currentVersion = "1.2";
function system extension() {
file = air.File.appStorageDirectory.resolvePath("Preferences/version.txt");
air.trace(file.nativePath);
if(file.exists) {
checkVersion();
} else {
firstRun();
}
}
function checkVersion() {
var stream = new air.FileStream();
stream.open(file, air.FileMode.READ);
var reversion = stream.readUTFBytes(stream.bytesAvailable);
stream.close();
if (reversion != currentVersion) {
window.document.getElementById("log").innerHTML
= "You have updated to version " + currentVersion + ".\n";
} else {
saveFile();
}
window.document.getElementById("log").innerHTML
+= "Welcome to the application.";

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 280
Mise jour des applications AIR

}
function firstRun() {
window.document.getElementById("log").innerHTML
= "Thank you for installing the application. \n"
+ "This is the first time you have run it.";
saveFile();
}
function saveFile() {
var stream = new air.FileStream();
stream.open(file, air.FileMode.WRITE);
stream.writeUTFBytes(currentVersion);
stream.close();
}
</script>
</head>
<body onLoad="system extension()">
<textarea ID="log" rows="100%" cols="100%" />
</body>
</html>

Si votre application enregistre les donnes localement (par exemple, dans le rpertoire de stockage de lapplication),
vous pouvez vrifier toutes les donnes pralablement enregistres (de versions antrieures) lors de la premire
excution.

Utilisation de la structure de mise jour


La gestion des mises jour dapplications savre parfois laborieuse. La structure de mise jour des applications
AdobeAIR contient des API qui permettent aux dveloppeurs dintgrer des fonctionnalits de mise jour
performantes aux applications AIR. La structure de mise jour dAIR excute les tches suivantes lintention des
dveloppeurs :
Recherche de mises jour la frquence dfinie ou sur demande de lutilisateur
Tlchargement de fichiers AIR (mises jour) partir dune source Web
Alerte de lutilisateur lors de la premire excution de la version nouvellement installe
Confirmation de la part de lutilisateur que celui-ci souhaite vrifier la prsence de mises jour
Affichage dinformations sur la version de la nouvelle mise jour lintention de lutilisateur
Affichage de la progression du tlchargement et dinformations derreurs lintention de lutilisateur
La structure de mise jour dAIR propose un exemple dinterface utilisateur dont dispose lapplication. Cette interface
prsente lutilisateur des informations de base et les options de configuration associes aux mises jour de
lapplication. Lapplication peut galement dfinir une interface utilisateur personnalise utiliser avec la structure de
mise jour.
La structure de mise jour AIR permet de stocker les informations relatives la version mise jour dune
application AIR dans de simples fichiers de configuration XML. Pour la plupart des applications, linclusion dans ces
fichiers de configuration du code de base fournit lutilisateur final des fonctionnalits de mise jour satisfaisantes.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 281
Mise jour des applications AIR

Mme sans faire appel la structure de mise jour, Adobe AIR comprend une classe Updater dont disposent les
applications AIR pour effectuer la mise jour vers de nouvelles versions. Cette classe permet lapplication de
procder une mise jour vers la version contenue dans un fichier AIR situ sur lordinateur de lutilisateur. Toutefois,
la gestion des mises jour peut se rvler plus complexe que la simple mise jour dune application partir dun
fichier AIR stock localement.

Fichiers de structure de mise jour AIR


La structure de mise jour AIR figure dans le rpertoire frameworks/libs/air du kit de dveloppement SDK AIR 2. Elle
comprend les fichiers suivants :
applicationupdater.swc : dfinit les fonctionnalits de base de la bibliothque de mise jour et sutilise avec
ActionScript. Cette version ne comporte pas dinterface utilisateur.
applicationupdater.swf : dfinit les fonctionnalits de base de la bibliothque de mise jour et sutilise avec
JavaScript. Cette version ne comporte pas dinterface utilisateur.
applicationupdater_ui.swc : dfinit une version Flex 4 des fonctionnalits de base de la bibliothque de mise jour,
et comprend une interface utilisateur dont votre application peut se servir pour afficher les options de mise jour.
applicationupdater_ui.swf : dfinit une version JavaScript des fonctionnalits de base de la bibliothque de mise
jour, et comprend une interface utilisateur dont votre application peut se servir pour afficher les options de mise
jour.
Pour plus dinformations, voir :
Configuration de lenvironnement de dveloppement Flex la page 281
Intgration des fichiers de la structure dans une application AIR de type HTML la page 282
Exemple de base : utilisation de la version ApplicationUpdaterUI la page 282

Configuration de lenvironnement de dveloppement Flex


Les fichiers SWC qui figurent dans le rpertoire frameworks/libs/air du kit SDK AIR 2 dfinissent les classes que vous
pouvez utiliser lors du dveloppement dans Flash et Flex.
Pour utiliser la structure de mise jour lors dune compilation avec le kit SDK Flex, intgrez le fichier
ApplicationUpdater.swc ou ApplicationUpdater_UI.swc dans lappel au compilateur amxmlc. Dans lexemple
suivant, le compilateur charge le fichier ApplicationUpdater.swc dans le sous-rpertoire lib du rpertoire SDK Flex :
amxmlc -library-path+=lib/ApplicationUpdater.swc -- myApp.mxml

Dans lexemple suivant, le compilateur charge le fichier ApplicationUpdater_UI.swc dans le sous-rpertoire lib du
rpertoire SDK Flex :
amxmlc -library-path+=lib/ApplicationUpdater_UI.swc -- myApp.mxml

Lors dun dveloppement avec Flash Builder, ajoutez le fichier SWC dans longlet Chemin de la bibliothque des
paramtres du chemin de cration Flex de la bote de dialogue Proprits.
Assurez-vous de copier les fichiers SWC vers le rpertoire que vous rfrencerez dans le compilateur amxmlc (avec le
kit SDK Flex) ou Flash Builder.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 282
Mise jour des applications AIR

Intgration des fichiers de la structure dans une application AIR de type HTML
Le rpertoire frameworks/html de la structure de mise jour contient les fichiers SWF suivants :
applicationupdater.swf : dfinit les fonctionnalits de base de la bibliothque de mise jour, sans interface
utilisateur.
applicationupdater_ui.swf : dfinit les fonctionnalits de base de la bibliothque de mise jour, notamment une
interface utilisateur qui permet lapplication dafficher les options de mise jour.
Le code JavaScript des applications AIR peut utiliser les classes dfinies dans les fichiers SWF.
Pour utiliser la structure de mise jour, intgrez le fichier applicationupdater.swf ou applicationupdater_ui.swf dans
le rpertoire (ou un sous-rpertoire) de lapplication. Ensuite, dans le fichier HTML qui utilisera la structure (dans le
code JavaScript), insrez une balise script chargeant le fichier :
<script src="applicationUpdater.swf" type="application/x-shockwave-flash"/>

Vous pouvez galement charger le fichier applicationupdater_ui.swf laide de la balise script :


<script src="applicationupdater_ui.swf" type="application/x-shockwave-flash"/>

LAPI dfinie dans ces deux fichiers est dcrite dans la suite de ce document.

Exemple de base : utilisation de la version ApplicationUpdaterUI


La version ApplicationUpdaterUI de la structure de mise jour propose une interface de base que vous pouvez
facilement utiliser dans lapplication. Voici un exemple de base.
Dabord, crez une application AIR qui appelle la structure de mise jour :
1 Sil sagit dune application AIR de type HTML, chargez le fichier applicationupdaterui.swf :
<script src="ApplicationUpdater_UI.swf" type="application/x-shockwave-flash"/>

2 Dans la logique du programme de lapplication AIR, instanciez un objet ApplicationUpdaterUI.


Dans ActionScript, utilisez le code suivant :
var appUpdater:ApplicationUpdaterUI = new ApplicationUpdaterUI();

Dans JavaScript, utilisez le code suivant :


var appUpdater = new runtime.air.update.ApplicationUpdaterUI();

Vous pouvez ajouter ce code dans une fonction dinitialisation qui sexcute aprs le chargement de lapplication.
3 Crez un fichier texte nomm updateConfig.xml et ajoutez-lui les lments suivants :
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns="http://ns.adobe.com/air/framework/update/configuration/1.0">
<url>http://example.com/updates/update.xml</url>
<delay>1</delay>
</configuration>

Modifiez llment URL du fichier updateConfig.xml pour quil corresponde lemplacement final du fichier
descripteur de la mise jour sur votre serveur Web (voir la procdure suivante).
Llment delay dfinit le nombre de jours devant scouler avant que lapplication ne vrifie la prsence de
nouvelles mises jour.
4 Ajoutez le fichier updateConfig.xml dans le rpertoire de projet de lapplication AIR.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 283
Mise jour des applications AIR

5 Faites en sorte que lobjet updater fasse rfrence au fichier updateConfig.xml, et appelez la mthode
initialize() de lobjet.

Dans ActionScript, utilisez le code suivant :


appUpdater.configurationFile = new File("app:/updateConfig.xml");
appUpdater.initialize();

Dans JavaScript, utilisez le code suivant :


appUpdater.configurationFile = new air.File("app:/updateConfig.xml");
appUpdater.initialize();

6 Crez une seconde version de lapplication AIR dont la version diffre de la premire application. (La version est
spcifie dans le fichier descripteur de lapplication, dans llment version.)
Ajoutez ensuite la mise jour de lapplication AIR sur le serveur Web :
1 Placez la version mise jour du fichier AIR sur le serveur Web.
2 Crez un fichier texte, updateDescriptor.2.5.xml, et ajoutez-lui le contenu suivant :
<?xml version="1.0" encoding="utf-8"?>
<update xmlns="http://ns.adobe.com/air/framework/update/description/2.5">
<versionNumber>1.1</versionNumber>
<url>http://example.com/updates/sample_1.1.air</url>
<description>This is the latest version of the Sample application.</description>
</update>

Modifiez les lments versionNumber, URL et description du fichier updateDescriptor.xml en fonction du


fichier AIR de mise jour. Ce format de fichier descripteur de mise jour est utilis par les applications qui font
appel la structure de mise jour intgre au kit SDK dAIR 2.5 (et ultrieur).
3 Crez un fichier texte, updateDescriptor.1.0.xml, et ajoutez-lui le contenu suivant :
<?xml version="1.0" encoding="utf-8"?>
<update xmlns="http://ns.adobe.com/air/framework/update/description/1.0">
<version>1.1</version>
<url>http://example.com/updates/sample_1.1.air</url>
<description>This is the latest version of the Sample application.</description>
</update>

Modifiez les lments version, URL et description du fichier updateDescriptor.xml en fonction du fichier AIR
de mise jour. Ce format de fichier descripteur de mise jour est utilis par les applications qui font appel la
structure de mise jour intgre au kit SDK dAIR 2 (et ultrieur).
Remarque : la cration de ce second fichier descripteur de mise jour ne simpose que si vous prenez en charge les
mises jour dapplications cres avant AIR 2.5.
4 Placez les fichiers updateDescriptor.2.5.xml et updateDescriptor.1.0.xml dans le rpertoire du serveur Web qui
contient le fichier AIR de mise jour.
Il sagit l dun exemple de base, mais il fournit des fonctionnalits de mise jour suffisantes pour la plupart des
applications. La suite de ce document dcrit lutilisation de la structure de mise jour en fonction de vos besoins.
Pour accder un autre exemple dutilisation de la structure de mise jour, voir lexemple dapplication suivant dans
le Centre des dveloppeurs dAdobe AIR :
Update Framework in a Flash-based Application
(http://www.adobe.com/go/learn_air_qs_update_framework_flash_fr)

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 284
Mise jour des applications AIR

Mise jour vers AIR 2.5


En raison de la modification des rgles daffectation de numro de version aux applications dans AIR 2.5, la structure
de mise jour dAIR 2 ne peut pas analyser les informations de version dans un fichier descripteur dapplication
AIR 2.5. Cette incompatibilit signifie que vous devez mettre jour lapplication de sorte utiliser la nouvelle structure
de mise jour AVANT de mettre jour lapplication de sorte utiliser le kit SDK dAIR 2.5. Par consquent, mettre
jour lapplication vers AIR 2.5 ou ultrieur partir de nimporte quelle version dAIR antrieure 2.5 ncessite DEUX
mises jour. La premire mise jour doit utiliser lespace de noms dAIR 2 et inclure la bibliothque de la structure de
mise jour dAIR 2.5 (vous pouvez continuer mettre en package lapplication laide du kit SDK dAIR 2.5). La
seconde mise jour peut faire appel lespace de noms dAIR 2.5 et inclure les nouvelles fonctionnalits de
lapplication.
Vous pouvez galement restreindre la mise jour intermdiaire la mise jour de lapplication AIR 2.5 directement
par le biais de la classe Updater dAIR.
Lexemple suivant illustre la procdure de mise jour dune application de la version 1.0 la version 2.0. La version 1.0
utilise lancien espace de noms 2.0. La version 2.0 fait appel lespace de noms 2.5 et possde les nouvelles
fonctionnalits mises en uvre par le biais des API dAIR 2.5.
1 Crez une version intermdiaire de lapplication, version 1.0.1, base sur la version 1.0 de lapplication.
a Crez lapplication dans la structure de mise jour de lapplication dAIR 2.5.
Remarque : utilisez le fichier applicationupdater.swc ou applicationupdater_ui.swc pour les
applications AIR bases sur la technologie Flash, le fichier applicationupdater.swf ou
applicationupdater_ui.swf pour les applications AIR de type HTML.

b Crez un fichier descripteur de mise jour associ la version 1.0.1 en utilisant lancien espace de noms et la
version, comme illustr ci-aprs :
<?xml version="1.0" encoding="utf-8"?>
<update xmlns="http://ns.adobe.com/air/framework/update/description/2.0">
<version>1.0.1</version>
<url>http://example.com/updates/sample_1.0.1.air</url>
<description>This is the intermediate version.</description>
</update>

2 Crez la version 2.0 de lapplication, qui utilise les API et lespace de noms dAIR 2.5.
3 Crez un fichier descripteur de mise jour pour mettre jour lapplication de la version 1.0.1 la version 2.0.
<?xml version="1.0" encoding="utf-8"?>
<update xmlns="http://ns.adobe.com/air/framework/update/description/2.5">
<version>2.0</version>
<url>http://example.com/updates/sample_2.0.air</url>
<description>This is the intermediate version.</description>
</update>

Dfinition des fichiers descripteurs de mise jour et ajout du fichier AIR dans
le serveur Web
Lorsque vous utilisez la structure de mise jour dAIR, vous dfinissez les informations de base relatives la mise
jour disponible dans des fichiers descripteurs de mise jour, stocks sur le serveur Web. Un fichier descripteur de mise
jour est un simple fichier XML. La structure de mise jour intgre lapplication examine ce fichier pour savoir si
une nouvelle version a t tlcharge.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 285
Mise jour des applications AIR

Le format du fichier descripteur de mise jour a t modifi dans AIR 2.5 et utilise prsent un autre espace de noms.
Lespace de noms dorigine correspond http://ns.adobe.com/air/framework/update/description/1.0 . Lespace de
noms dAIR 2.5 correspond http://ns.adobe.com/air/framework/update/description/2.5 .
Les applications AIR cres avant AIR 2.5 ne lisent que la version 1.0 du descripteur de mise jour. Les applications
AIR cres avec la structure de mise jour intgre AIR 2.5 ou ultrieur ne lisent que la version 2.5 du descripteur
de mise jour. En raison de cette incompatibilit des versions, il savre souvent ncessaire de crer deux fichiers
descripteurs de mise jour. La logique de mise jour des versions AIR 2.5 de lapplication doit tlcharger un
descripteur de mise jour qui utilise le nouveau format. Les versions antrieures de lapplication AIR doivent
continuer utiliser le format dorigine. Les deux fichiers doivent tre modifis pour chaque mise jour (jusqu ce que
vous arrtiez la prise en charge des versions cres avant AIR 2.5).
Le fichier descripteur de mise jour contient les donnes suivantes :
versionNumber : nouvelle version de lapplication AIR. Utilisez llment versionNumber dans les descripteurs de
mise jour associs la mise jour des applications AIR 2.5. La valeur doit correspondre la chane que contient
llment versionNumber du fichier descripteur de la nouvelle application AIR. Si le numro de version indiqu
dans le fichier descripteur de mise jour ne correspond pas celui du fichier AIR de mise jour, la structure de
mise jour renvoie une exception.
version : nouvelle version de lapplication AIR. Utilisez llment version dans les fichiers descripteurs de mise
jour associs la mise jour des applications cres avant AIR 2.5. La valeur doit correspondre la chane que
contient llment version du fichier descripteur de la nouvelle application AIR. Si la version indique dans le
fichier descripteur de mise jour ne correspond pas celle du fichier AIR de mise jour, la structure de mise jour
renvoie une exception.
versionLabel : chane de version intelligible destine tre prsente aux utilisateurs. Llment versionLabel
est facultatif, mais est rserv la version 2.5 des fichiers descripteurs de mise jour. Utilisez-le si le fichier
descripteur dapplication contient un lment versionLabel dfini sur la mme valeur.
url : emplacement du fichier AIR de mise jour. Ce fichier contient la version mise jour de lapplication AIR.

description : dtails de la nouvelle version. Ces informations peuvent safficher pour lutilisateur pendant le
processus de mise jour.
Les lments version et url sont obligatoires. Llment description est facultatif.
Voici un exemple de fichier descripteur de mise jour (version 2.5) :
<?xml version="1.0" encoding="utf-8"?>
<update xmlns="http://ns.adobe.com/air/framework/update/description/2.5">
<versionNumber>1.1.1</versionNumber>
<url>http://example.com/updates/sample_1.1.1.air</url>
<description>This is the latest version of the Sample application.</description>
</update>

Et voici un exemple de fichier descripteur de mise jour (version 1.0) :


<?xml version="1.0" encoding="utf-8"?>
<update xmlns="http://ns.adobe.com/air/framework/update/description/1.0">
<version>1.1.1</version>
<url>http://example.com/updates/sample_1.1.1.air</url>
<description>This is the latest version of the Sample application.</description>
</update>

Pour dfinir la balise description avec plusieurs langues, utilisez plusieurs lments text dfinissant un attribut
lang :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 286
Mise jour des applications AIR

<?xml version="1.0" encoding="utf-8"?>


<update xmlns="http://ns.adobe.com/air/framework/update/description/2.5">
<versionNumber>1.1.1</versionNumber>
<url>http://example.com/updates/sample_1.1.1.air</url>
<description>
<text xml:lang="en">English description</text>
<text xml:lang="fr">French description</text>
<text xml:lang="ro">Romanian description</text>
</description>
</update>

Placez le fichier descripteur de mise jour et le fichier AIR de mise jour sur le serveur Web.
Le rpertoire templates inclus avec le descripteur de mise jour comprend des exemples de fichiers descripteur de mise
jour. Ces derniers comprennent des versions de langage unique et des versions multilingues.

Instanciation dun objet updater


Au terme du chargement de la structure de mise jour dAIR dans le code (voir Configuration de lenvironnement
de dveloppement Flex la page 281 et Intgration des fichiers de la structure dans une application AIR de type
HTML la page 282), vous devez instancier un objet updater, comme illustr par lexemple suivant.
Exemple ActionScript :
var appUpdater:ApplicationUpdater = new ApplicationUpdater();

Exemple JavaScript :
var appUpdater = new runtime.air.update.ApplicationUpdater();

Le code prcdent utilise la classe ApplicationUpdater (qui ne fournit pas dinterface utilisateur). Pour faire appel la
classe ApplicationUpdaterUI (qui fournit une interface utilisateur), utilisez le code suivant.
Exemple ActionScript :
var appUpdater:ApplicationUpdaterUI = new ApplicationUpdaterUI();

Exemple JavaScript :
var appUpdater = new runtime.air.update.ApplicationUpdaterUI();

Les autres exemples de code de ce document supposent que vous avez instanci un objet updater nomm appUpdater.

Configuration des paramtres de la mise jour


Les classes ApplicationUpdater et ApplicationUpdaterUI peuvent tre configures par lintermdiaire dun fichier de
configuration fourni avec lapplication ou par le code ActionScript ou JavaScript de lapplication.

Dfinition des paramtres de la mise jour dans un fichier de configuration XML


Ce fichier de configuration de la mise jour est un fichier XML. Il peut contenir les lments suivants :
updateURL : chane reprsentant lemplacement du descripteur de la mise jour sur le serveur distant. Tout
emplacement URLRequest valide est autoris. Vous devez dfinir la proprit updateURL, par lintermdiaire du
fichier de configuration ou du script (voir Dfinition des fichiers descripteurs de mise jour et ajout du
fichier AIR dans le serveur Web la page 284). Vous devez dfinir cette proprit avant dutiliser lobjet updater
(avant dappeler la mthode initialize() de lobjet updater, dcrite la section Initialisation de la structure de
mise jour la page 289).

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 287
Mise jour des applications AIR

delay : nombre reprsentant un intervalle de jours donn (des valeurs comme 0.25 sont autorises) correspondant
la frquence de vrification de la prsence de mises jour. Une valeur 0 (dfinie par dfaut) spcifie que lobjet
updater ne vrifie pas automatiquement la prsence de mise jour.
Le fichier de configuration dApplicationUpdaterUI peut contenir llment suivant en plus des lments updateURL
et delay :
defaultUI : liste des lments dialog. Chaque lment dialog possde un attribut name correspondant une
bote de dialogue de linterface utilisateur. Chaque lment dialog possde un attribut visible qui spcifie si la
bote de dialogue est visible. La valeur par dfaut est true. Les valeurs possibles de lattribut name sont les suivantes :
"checkForUpdate" : correspondant aux botes de dialogue Rechercher une mise jour, Aucune mise jour et
Erreur de mise jour.
"downloadUpdate" : correspondant la bote de dialogue Tlcharger la mise jour.

"downloadProgress" : correspondant aux botes de dialogue Progression du tlchargement et Erreur de


tlchargement.
"installUpdate" : correspondant la bote de dialogue Installer la mise jour.

"fileUpdate" : correspondant aux botes de dialogue Mise jour des fichiers, Aucune mise jour de fichiers
et Erreur de fichier.
"unexpectedError" : correspondant la bote de dialogue Erreur imprvue.

Lorsque lattribut est dfini sur false, la bote de dialogue correspondante ne saffiche pas dans le cadre de la
procdure de mise jour.
Voici un exemple de fichier de configuration pour la structure ApplicationUpdater :
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns="http://ns.adobe.com/air/framework/update/configuration/1.0">
<url>http://example.com/updates/update.xml</url>
<delay>1</delay>
</configuration>

Voici un exemple de fichier de configuration pour la structure ApplicationUpdaterUI, comprenant une dfinition de
llment defaultUI :
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns="http://ns.adobe.com/air/framework/update/configuration/1.0">
<url>http://example.com/updates/update.xml</url>
<delay>1</delay>
<defaultUI>
<dialog name="checkForUpdate" visible="false" />
<dialog name="downloadUpdate" visible="false" />
<dialog name="downloadProgress" visible="false" />
</defaultUI>
</configuration>

Pointez la proprit configurationFile vers lemplacement du fichier :


Exemple ActionScript :
appUpdater.configurationFile = new File("app:/cfg/updateConfig.xml");

Exemple JavaScript :
appUpdater.configurationFile = new air.File("app:/cfg/updateConfig.xml");

Le rpertoire templates de la structure de mise jour comprend un exemple de fichier de configuration, config-
template.xml.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 288
Mise jour des applications AIR

Dfinition des paramtres de mise jour dans le code ActionScript ou JavaScript


Ces paramtres de configuration peuvent galement tre dfinis dans le code de lapplication, comme dans le code
suivant :
appUpdater.updateURL = " http://example.com/updates/update.xml";
appUpdater.delay = 1;

Les proprits de lobjet updater sont updateURL et delay. Ces proprits dfinissent les mmes paramtres que les
lments updateURL et delay dans le fichier de configuration : lURL du fichier descripteur de mise jour et
lintervalle de vrification des mises jour. Si vous spcifiez un fichier de configuration et des paramtres dans le code,
toutes les proprits dfinies laide du code sont prioritaires sur les paramtres correspondants dans le fichier de
configuration.
Vous devez dfinir la proprit updateURL, par lintermdiaire du fichier de configuration ou du script (voir
Dfinition des fichiers descripteurs de mise jour et ajout du fichier AIR dans le serveur Web la page 284), avant
dutiliser lobjet updater (avant dappeler la mthode initialize() de lobjet updater, dcrite la section
Initialisation de la structure de mise jour la page 289).
La structure ApplicationUpdaterUI dfinit les proprits supplmentaires suivantes de lobjet updater :
isCheckForUpdateVisible : correspondant aux botes de dialogue Rechercher une mise jour, Aucune mise
jour et Erreur de mise jour.
isDownloadUpdateVisible : correspondant la bote de dialogue Tlcharger une mise jour.

isDownloadProgressVisible : correspondant aux botes de dialogue Progression du tlchargement et Erreur de


tlchargement.
isInstallUpdateVisible : correspondant la bote de dialogue Installer la mise jour.

isFileUpdateVisible : correspondant aux botes de dialogue Mise jour des fichiers, Aucune mise jour de
fichiers et Erreur de fichier.
isUnexpectedErrorVisible : correspondant la bote de dialogue Erreur imprvue.

Chaque proprit correspond une ou plusieurs botes de dialogue de linterface utilisateur ApplicationUpdaterUI.
Chaque proprit est une valeur boolenne, dont la valeur par dfaut est true. Lorsquelle est dfinie sur false, les
botes de dialogue correspondantes ne saffichent pas lors de la procdure de mise jour.
Les proprits de ces botes de dialogue remplacent les paramtres du fichier de configuration de mise jour.

Processus de mise jour


La structure de mise jour AIR complte le processus de mise jour selon la procdure suivante :
1 Linitialisation du programme de mise jour contrle si une vrification de mise jour a t effectue au cours de
lintervalle dfini (voir Configuration des paramtres de la mise jour la page 286). Si une vrification de mise
jour doit tre effectue, le processus se poursuit.
2 Le programme de mise jour tlcharge et interprte le fichier descripteur de mise jour.
3 Le programme de mise jour tlcharge le fichier AIR de mise jour.
4 Le programme de mise jour installe la version mise jour de lapplication.
Lobjet updater distribue des vnements la fin de chacune de ces tapes. Dans la version ApplicationUpdater, vous
pouvez annuler les vnements qui indiquent le succs dune tape du processus. Si vous annulez lun de ces
vnements, ltape suivante du processus est annule. Dans la version ApplicationUpdaterUI, le programme de mise
jour affiche une bote de dialogue qui permet lutilisateur dannuler ou de continuer chaque tape du processus.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 289
Mise jour des applications AIR

Si vous annulez lvnement, vous pouvez appeler les mthodes de lobjet updater pour reprendre le processus.
Au fur et mesure que la version ApplicationUpdater du programme de mise jour poursuit le processus, ltat en
cours est enregistr dans une proprit currentState. Cette proprit est dfinie sur une chane qui peut prendre les
valeurs suivantes :
"UNINITIALIZED" : le programme de mise jour na pas t initialis.

"INITIALIZING" : le programme de mise jour est en cours dinitialisation.

"READY" : le programme de mise jour a t initialis.

"BEFORE_CHECKING" : le programme de mise jour na pas encore vrifi la prsence du fichier descripteur de mise
jour.
"CHECKING" : le programme de mise jour recherche un fichier descripteur de mise jour.

"AVAILABLE" : le fichier descripteur de mise jour est disponible.

"DOWNLOADING" : le programme de mise jour tlcharge le fichier AIR.

"DOWNLOADED" : le programme de mise jour a tlcharg le fichier AIR.

"INSTALLING" : le programme de mise jour installe le fichier AIR.

"PENDING_INSTALLING" : le programme de mise jour a t initialis et des mises jour sont en attente.

Certaines mthodes de lobjet updater ne sexcutent que si le programme de mise jour est dans un certain tat.

Initialisation de la structure de mise jour


Aprs la dfinition des proprits de configuration (voir Exemple de base : utilisation de la version
ApplicationUpdaterUI la page 282), appelez la mthode initialize() pour initialiser la mise jour :
appUpdater.initialize();

Cette mthode effectue les oprations suivantes :


Elle initialise la structure de mise jour, en installant silencieusement et de faon synchrone les mises jour en
attente. Il est obligatoire dappeler cette mthode au dmarrage de lapplication car elle peut redmarrer
lapplication lorsquelle est appele.
Elle vrifie si une mise jour a t reporte et, le cas chant, procde son installation.
Si une erreur se produit pendant le processus de mise jour, elle efface le fichier de mise jour et les informations
de version dans lemplacement de stockage de lapplication.
Si le dlai est arriv expiration, elle dmarre le processus de mise jour. Sinon, elle rinitialise le minuteur.
Lappel cette mthode peut entraner la distribution des vnements suivants par lobjet updater :
UpdateEvent.INITIALIZED : distribu lorsque linitialisation est termine.

ErrorEvent.ERROR : distribu lorsquune erreur se produit pendant linitialisation.

Lors de la distribution de lvnement UpdateEvent.INITIALIZED, le processus de mise jour est termin.


Lorsque vous appelez la mthode initialize(), le programme de mise jour dmarre le processus et effectue toutes
les tapes, en fonction du paramtre de dlai du minuteur. Toutefois, vous pouvez galement dmarrer le processus de
mise jour tout moment en appelant la mthode checkNow() de lobjet updater :
appUpdater.checkNow();

Cette mthode na aucune incidence si le processus de mise jour est dj en cours dexcution. Sinon, elle dmarre le
processus de mise jour.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 290
Mise jour des applications AIR

Lobjet updater peut distribuer lvnement suivant aprs un appel la mthode checkNow() :
Lvnement UpdateEvent.CHECK_FOR_UPDATE juste avant la tentative de tlchargement du fichier descripteur
de mise jour.
Si vous annulez lvnement checkForUpdate, vous pouvez appeler la mthode checkForUpdate() de lobjet
updater. (Voir la section suivante.) Si vous nannulez pas lvnement, le processus de mise jour recherche le fichier
descripteur de mise jour.

Gestion du processus de mise jour dans la version ApplicationUpdaterUI


Dans la version ApplicationUpdaterUI, lutilisateur peut annuler le processus via les boutons Annuler des botes de
dialogue de linterface utilisateur. De mme, vous pouvez annuler par programmation le processus de mise jour en
appelant la mthode cancelUpdate() de lobjet ApplicationUpdaterUI.
Vous pouvez dfinir les proprits de lobjet ApplicationUpdaterUI ou dfinir les lments du fichier de configuration
de mise jour pour spcifier les confirmations de botes de dialogue devant tre affiches par le programme de mise
jour. Pour plus dinformations, voir Configuration des paramtres de la mise jour la page 286.

Gestion du processus de mise jour dans la version ApplicationUpdater


Vous pouvez appeler la mthode preventDefault() des objets dvnements distribus par lobjet
ApplicationUpdater pour annuler des tapes du processus de mise jour (voir Processus de mise jour la
page 288). Lannulation du comportement par dfaut permet votre application dafficher un message lutilisateur
pour lui demander sil souhaite continuer.
Les sections suivantes montrent comment poursuivre le processus de mise jour lorsquune tape du processus a t
annule.

Tlchargement et interprtation du fichier descripteur de mise jour


Lobjet ApplicationUpdater distribue lvnement checkForUpdate avant le dbut du processus de mise jour, juste
avant que le programme de mise jour ne tente de tlcharger le fichier descripteur de mise jour. Si vous annulez le
comportement par dfaut de lvnement checkForUpdate, le programme de mise jour ne tlcharge pas le fichier
descripteur de mise jour. Pour reprendre le processus de mise jour, vous pouvez appeler la mthode
checkForUpdate() :

appUpdater.checkForUpdate();

Lappel la mthode checkForUpdate() oblige le programme de mise jour effectuer un tlchargement


asynchrone et interprter le fichier descripteur de mise jour. la suite dun appel la mthode checkForUpdate(),
lobjet updater peut distribuer les vnements suivants :
StatusUpdateEvent.UPDATE_STATUS : le programme de mise jour bien tlcharg et interprt le fichier
descripteur de mise jour. Les proprits de cet vnement sont les suivantes :
available : valeur boolenne. Dfinie sur true si une version diffrente de lapplication en cours est
disponible, sur false dans le cas contraire (la version est identique).
version : chane. La version indique dans le fichier descripteur dapplication du fichier de mise jour.

details : tableau. Sil ny a pas de versions localises de la description, ce tableau renvoie une chane vide ("")
en tant que premier lment et la description en tant que second lment.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 291
Mise jour des applications AIR

Sil existe plusieurs versions de la description (dans le fichier descripteur de mise jour), le tableau contient
plusieurs sous-tableaux. Chaque tableau comprend deux lments : le premier tant le code de langue (par
exemple "en"), et le second la description correspondante (une chane) dans cette langue. Voir Dfinition des
fichiers descripteurs de mise jour et ajout du fichier AIR dans le serveur Web la page 284.
StatusUpdateErrorEvent.UPDATE_ERROR : une erreur sest produite et le programme de mise jour na pas pu
tlcharger ou interprter le fichier descripteur de mise jour.

Tlchargement du fichier AIR de mise jour


Lobjet ApplicationUpdater distribue lvnement updateStatus ds que le programme de mise jour bien
tlcharg et interprt le fichier descripteur de mise jour. Le comportement par dfaut consiste dmarrer le
tlchargement du fichier de mise jour lorsque ce dernier est disponible. Si vous annulez le comportement par dfaut,
vous pouvez reprendre le processus en appelant la mthode downloadUpdate() :
appUpdater.downloadUpdate();

Lappel de cette mthode oblige le programme de mise jour effectuer un tlchargement asynchrone de la mise
jour du fichier AIR.
La mthode downloadUpdate() peut distribuer les vnements suivants :
UpdateEvent.DOWNLOAD_START : la connexion au serveur a t tablie. Lorsque la bibliothque
ApplicationUpdaterUI est utilise, cet vnement affiche une bote de dialogue dans laquelle une barre de
progression permet de suivre lavance du tlchargement.
ProgressEvent.PROGRESS : distribu rgulirement au fur et mesure de la progression du tlchargement du
fichier.
DownloadErrorEvent.DOWNLOAD_ERROR : distribu lorsquune erreur se produit pendant la connexion ou le
tlchargement du fichier de mise jour. Cet vnement est galement distribu pour les tats HTTP non valides
(par exemple 404 - Fichier introuvable ). Cet vnement a une proprit errorID, un nombre entier qui dfinit
dautres informations derreur. Une autre proprit subErrorID peut contenir dautres informations derreur.
UpdateEvent.DOWNLOAD_COMPLETE : le programme de mise jour bien tlcharg et interprt le fichier
descripteur de mise jour. Si vous nannulez pas cet vnement, la version ApplicationUpdater procde
linstallation de la mise jour. Dans la version ApplicationUpdaterUI, une bote de dialogue est prsente
lutilisateur pour lui proposer de continuer.

Mise jour de lapplication


Lobjet ApplicationUpdater dclenche lvnement downloadComplete lorsque le tlchargement du fichier de mise
jour est termin. Si vous annulez le comportement par dfaut, vous pouvez reprendre le processus en appelant la
mthode installUpdate() :
appUpdater.installUpdate(file);

Un appel cette mthode oblige le programme de mise jour installer la mise jour du fichier AIR. La mthode
comprend un paramtre, file, correspondant un objet File qui fait rfrence au fichier AIR utiliser en tant que
mise jour.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 292
Mise jour des applications AIR

Lobjet ApplicationUpdater peut distribuer lvnement beforeInstall la suite dun appel la mthode
installUpdate() :

UpdateEvent.BEFORE_INSTALL : distribu juste avant linstallation de la mise jour. Il est parfois utile dempcher
linstallation de la mise jour ce stade de sorte que lutilisateur puisse terminer son travail en cours avant de lancer
linstallation. Lappel la mthode preventDefault() de lobjet Event reporte linstallation jusquau prochain
dmarrage et empche le lancement de tout processus de mise jour supplmentaire. (Cela comprend les mises
jour rsultant dun appel la mthode checkNow() ou lies une vrification priodique.)

Installation partir dun fichier AIR arbitraire


Vous pouvez appeler la mthode installFromAIRFile() pour installer la mise jour partir dun fichier AIR situ
sur lordinateur de lutilisateur :
appUpdater.installFromAIRFile();

Cette mthode oblige le programme de mise jour installer la mise jour de lapplication partir du fichier AIR.
La mthode installFromAIRFile() peut distribuer les vnements suivants :
StatusFileUpdateEvent.FILE_UPDATE_STATUS : distribu lorsque ApplicationUpdater a bien valid le fichier
envoy par la mthode installFromAIRFile(). Les proprits de cet vnement sont les suivantes :
available : dfinie sur true si une version diffrente de lapplication actuelle est disponible ; false, dans le cas
contraire (les versions sont identiques).
version : chane reprsentant la nouvelle version disponible.

path : reprsente le chemin natif du fichier de mise jour.

Vous pouvez annuler cet vnement si la proprit available de lobjet StatusFileUpdateEvent est dfinie sur true.
Lannulation de lvnement annule galement le processus de mise jour. Pour poursuivre le processus de mise
jour, appelez la mthode installUpdate().
StatusFileUpdateErrorEvent.FILE_UPDATE_ERROR : une erreur sest produite et le programme de mise jour
na pas pu installer lapplication AIR.

Annulation du processus de mise jour


Pour annuler le processus de mise jour, vous pouvez appeler la mthode cancelUpdate() :
appUpdater.cancelUpdate();

Cette mthode annule tous les tlchargements en attente, en supprimant tous les fichiers partiellement tlchargs, et
rinitialise le minuteur de vrification priodique.
Cette mthode na aucune incidence si le programme de mise jour est initialis.

Localisation de linterface ApplicationUpdaterUI


La classe ApplicationUpdaterUI fournit une interface utilisateur par dfaut pour le processus de mise jour. Celle-ci
comprend des botes de dialogue qui permettent lutilisateur de dmarrer le processus, de lannuler et deffectuer
dautres actions associes.
Llment description du fichier descripteur de mise jour vous permet de dfinir la description de lapplication en
plusieurs langues. Utilisez plusieurs lments text dfinissant des attributs lang, comme dans lexemple suivant :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 293
Mise jour des applications AIR

<?xml version="1.0" encoding="utf-8"?>


<update xmlns="http://ns.adobe.com/air/framework/update/description/1.0">
<version>1.1a1</version>
<url>http://example.com/updates/sample_1.1a1.air</url>
<description>
<text xml:lang="en">English description</text>
<text xml:lang="fr">French description</text>
<text xml:lang="ro">Romanian description</text>
</description>
</update>

La structure de mise jour utilise la description correspondant le mieux au chanage de localisation de lutilisateur
final. Pour plus dinformations, voir Dfinition du fichier descripteur de mise jour et ajout du fichier AIR dans votre
serveur Web.
Les dveloppeurs Flex peuvent ajouter directement une nouvelle langue dans le regroupement
"ApplicationUpdaterDialogs".

Les dveloppeurs JavaScript peuvent appeler la mthode addResources() de lobjet updater. Cette mthode ajoute
dynamiquement un nouveau regroupement de ressources pour une langue. Le regroupement de ressources dfinit les
chanes localises dune langue. Ces chanes sont utilises dans les champs de texte des diffrentes botes de dialogue.
Les dveloppeurs JavaScript peuvent utiliser la proprit localeChain de la classe ApplicationUpdaterUI pour dfinir
la chane de paramtres rgionaux utilise par linterface utilisateur. En gnral, seuls les dveloppeurs JavaScript
(HTML) utilisent cette proprit. Les dveloppeurs Flex peuvent utiliser ResourceManager pour grer la chane de
paramtres rgionaux.
Par exemple, le code JavaScript suivant dfinit des regroupements de ressources pour le roumain et le hongrois :
appUpdater.addResources("ro_RO",
{titleCheck: "Titlu", msgCheck: "Mesaj", btnCheck: "Buton"});
appUpdater.addResources("hu", {titleCheck: "Cm", msgCheck: "zenet"});
var languages = ["ro", "hu"];
languages = languages.concat(air.Capabilities.languages);
var sortedLanguages = air.Localizer.sortLanguagesByPreference(languages,
air.Capabilities.language,
"en-US");
sortedLanguages.push("en-US");
appUpdater.localeChain = sortedLanguages;

Pour plus dinformations, voir la description de la mthode addResources() de la classe ApplicationUpdaterUI dans
le guide de rfrence du langage.

Dernire mise jour le 6/3/2017


294

Chapitre 18 : Affichage du code source


De mme quil est possible dafficher le code source dune page HTML dans un navigateur Web, les utilisateurs
peuvent afficher le code source dune application AIR HTML. Le kit de dveloppement dAdobe AIR comprend le
fichier JavaScript AIRSourceViewer.js, que vous pouvez intgrer lapplication pour permettre aux utilisateurs finaux
de consulter facilement le code source.

Chargement, configuration et ouverture de Source


Viewer
Le code de Source Viewer figure dans un fichier JavaScript, AIRSourceViewer.js, qui rside dans le rpertoire
frameworks du kit SDK AIR. Pour intgrer Source Viewer lapplication, copiez le fichier AIRSourceViewer.js dans
le rpertoire de projet de lapplication et chargez-le par le biais dune balise script dans le fichier HTML principal de
lapplication :
<script type="text/javascript" src="AIRSourceViewer.js"></script>

Le fichier AIRSourceViewer.js dfinit la classe SourceViewer, laquelle vous pouvez accder partir du code
JavaScript en appelant air.SourceViewer.
La classe SourceViewer dfinit trois mthodes : getDefault(), setup() et viewSource().

Mthode Description

getDefault() Mthode statique. Renvoie une occurrence de SourceViewer, qui vous permet dappeler les autres mthodes.

setup() Applique des paramtres de configuration Source Viewer. Pour plus dinformations, voir Configuration de
Source Viewer la page 294.

viewSource() Ouvre une nouvelle fentre dans laquelle lutilisateur peut rechercher et ouvrir les fichiers sources de
lapplication hte.

Remarque : le code utilisant Source Viewer doit se trouver dans le sandbox de scurit de lapplication (dans un fichier
rsidant dans le rpertoire de lapplication).
Le code JavaScript suivant, par exemple, instancie un objet SourceViewer et ouvre la fentre Source Viewer, qui
rpertorie tous les fichiers sources :
var viewer = air.SourceViewer.getDefault();
viewer.viewSource();

Configuration de Source Viewer


La mthode config() applique certains paramtres Source Viewer. Elle gre un seul paramtre : configObject.
Lobjet configObject possde les proprits suivantes qui dfinissent les paramtres de configuration de Source
Viewer : default, exclude, initialPosition, modal, typesToRemove et typesToAdd.

default
Chane spcifiant le chemin relatif du fichier initial afficher dans Source Viewer.
Le code JavaScript suivant, par exemple ouvre la fentre Source Viewer et y affiche initialement le fichier index.html :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 295
Affichage du code source

var viewer = air.SourceViewer.getDefault();


var configObj = {};
configObj.default = "index.html";
viewer.viewSource(configObj);

exclude
Tableau de chanes spcifiant les fichiers et rpertoires exclure de la liste de Source Viewer. Les chemins sont relatifs
au rpertoire de lapplication. Les caractres gnriques ne sont pas pris en charge.
Le code JavaScript suivant, par exemple, ouvre la fentre Source Viewer, qui rpertorie tous les fichiers sources,
lexception du fichier AIRSourceViewer.js et des fichiers rsidant dans les sous-rpertoires Images et Sounds :
var viewer = air.SourceViewer.getDefault();
var configObj = {};
configObj.exclude = ["AIRSourceViewer.js", "Images" "Sounds"];
viewer.viewSource(configObj);

initialPosition
Tableau comprenant deux nombres, qui spcifient les coordonnes x et y initiales de la fentre Source Viewer.
Le code JavaScript suivant, par exemple, ouvre cette fentre aux coordonnes dcran [40, 60] (X = 40, Y = 60) :
var viewer = air.SourceViewer.getDefault();
var configObj = {};
configObj.initialPosition = [40, 60];
viewer.viewSource(configObj);

modal
Valeur boolenne spcifiant si la fentre Source Viewer doit tre modale (true) ou non (false). Cette fentre est modale
par dfaut.
Le code JavaScript suivant, par exemple, ouvre la fentre Source Viewer de telle sorte que lutilisateur puisse interagir
avec elle et avec les fentres de toute application :
var viewer = air.SourceViewer.getDefault();
var configObj = {};
configObj.modal = false;
viewer.viewSource(configObj);

typesToAdd
Tableau de chanes spcifiant les types de fichier ajouter la liste de Source Viewer, en plus des types inclus par
dfaut.
Ces types de fichier correspondent :
Fichiers texte : TXT, XML, MXML, HTM, HTML, JS, AS, CSS, INI, BAT, PROPERTIES, CONFIG
Fichiers image : JPG, JPEG, PNG, GIF
Si vous nentrez pas de valeur, tous les types par dfaut sont inclus ( lexception de ceux spcifis par la proprit
typesToExclude).

Le code JavaScript suivant, par exemple, ouvre la fentre Source Viewer et inclut les fichiers VCF et VCARD :
var viewer = air.SourceViewer.getDefault();
var configObj = {};
configObj.typesToAdd = ["text.vcf", "text.vcard"];
viewer.viewSource(configObj);

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 296
Affichage du code source

Pour chaque type de fichier inclus, vous devez spcifier text (pour les types de fichier texte) ou image (pour
les types de fichier image).

typesToExclude
Tableau de chanes spcifiant les types de fichier exclure de Source Viewer.
Ces types de fichier correspondent :
Fichiers texte : TXT, XML, MXML, HTM, HTML, JS, AS, CSS, INI, BAT, PROPERTIES, CONFIG
Fichiers image : JPG, JPEG, PNG, GIF
Le code JavaScript suivant, par exemple, ouvre la fentre Source Viewer sans rpertorier les fichiers GIF ou XML :
var viewer = air.SourceViewer.getDefault();
var configObj = {};
configObj.typesToExclude = ["image.gif", "text.xml"];
viewer.viewSource(configObj);

Pour chaque type de fichier rpertori, vous devez spcifier text (pour les types de fichier texte) ou image
(pour les types de fichier image).

Ouverture de Source Viewer


Il est souhaitable dinclure un lment dinterface utilisateur (lien, bouton, option de menu, par exemple) qui, lorsque
lutilisateur le slectionne, appelle Source Viewer. Lapplication simple ci-dessous, par exemple, ouvre Source Viewer
lorsque lutilisateur clique sur un lien :
<html>
<head>
<title>Source Viewer Sample</title>
<script type="text/javascript" src="AIRSourceViewer.js"></script>
<script type="text/javascript">
function showSources(){
var viewer = air.SourceViewer.getDefault();
viewer.viewSource()
}
</script>
</head>
<body>
<p>Click to view the source files.</p>
<input type="button"
onclick="showSources()"
value="View Source" />
</body>
</html>

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 297
Affichage du code source

Interface utilisateur de Source Viewer


Lorsque lapplication appelle la mthode viewSource() dun objet SourceViewer, lapplication AIR ouvre une fentre
Source Viewer. Cette fentre comprend une liste de fichiers et rpertoires sources ( gauche) et une zone daffichage
contenant le code source du fichier slectionn ( droite) :

Les rpertoires sont placs entre crochets. Lutilisateur peut cliquer sur un rpertoire pour dvelopper ou masquer son
contenu.
Source Viewer peut afficher la source des fichiers texte portant une extension reconnue (HTML, JS, TXT, XML, etc.),
ainsi que des fichiers image dots dune extension graphique reconnue (JPG, JPEG, PNG et GIF). Si lutilisateur
slectionne un fichier dont lextension est inconnue, un message derreur indiquant quil est impossible dextraire le
contenu dun fichier de ce type saffiche.
Les fichiers sources exclus par le biais de la mthode setup() ne sont pas rpertoris (voir Chargement,
configuration et ouverture de Source Viewer la page 294).

Dernire mise jour le 6/3/2017


298

Chapitre 19 : Dbogage laide de loutil


AIR HTML Introspector
Le kit de dveloppement dAdobe AIR comprend le fichier JavaScript AIRIntrospector.js, que vous pouvez intgrer
lapplication HTML pour permettre son dbogage.

Prsentation de loutil AIR HTML Introspector


Adobe AIR HTML/JavaScript Application Introspector (appel AIR HTML Introspector) propose des fonctions qui
facilitent le dveloppement et le dbogage des applications HTML :
Cette application contient un outil dintrospection qui permet de pointer sur un lment de linterface utilisateur
de lapplication pour afficher ses proprits de marquage et DOM.
Elle intgre une console laquelle vous envoyez des rfrences dobjet des fins dintrospection, ce qui vous permet
dajuster la valeur des proprits et dexcuter le code JavaScript. Vous pouvez galement srialiser les objets vers
la console, auquel cas il vous est impossible de modifier les donnes. Vous avez aussi la possibilit de copier et
denregistrer du texte de la console.
Elle comprend une arborescence des proprits et fonctions DOM.
Elle permet de modifier les attributs et les nuds de texte des lments DOM.
Elle rpertorie les liens, styles CSS, images et fichiers JavaScript chargs dans lapplication.
Elle permet dafficher la source HTML initiale et la source de marquage en cours de linterface utilisateur.
Elle permet daccder aux fichiers du rpertoire de lapplication. (Cette fonction est uniquement disponible pour la
console AIR HTML Introspector ouverte pour le sandbox de lapplication. Elle ne lest pas dans les consoles
ouvertes pour du contenu provenant dun sandbox hors application.)
Elle comprend un visualisateur pour laffichage des objets XMLHttpRequest et de leurs proprits, y compris les
proprits responseText et responseXML (le cas chant).
Vous pouvez rechercher du texte dans le code et les fichiers source.

Chargement du code de loutil AIR HTML Introspector


Le code de loutil AIR HTML Introspector figure dans un fichier JavaScript, AIRIntrospector.js, qui rside dans le
rpertoire frameworks du kit SDK AIR. Pour intgrer cet outil lapplication, copiez le fichier AIRIntrospector.js dans
le rpertoire de projet de lapplication et chargez-le par le biais dune balise script dans le fichier HTML principal de
lapplication :
<script type="text/javascript" src="AIRIntrospector.js"></script>

Intgrez galement le fichier dans les fichiers HTML qui correspondent aux diffrentes fentres natives de
lapplication.
Important : incluez le fichier AIRIntrospector.js lors du dveloppement et du dbogage de lapplication seulement.
Supprimez-le de lapplication AIR mise en package que vous distribuez.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 299
Dbogage laide de loutil AIR HTML Introspector

Le fichier AIRIntrospector.js dfinit la classe Console, laquelle vous pouvez accder partir du code JavaScript en
appelant air.Introspector.Console.
Remarque : le code utilisant loutil AIR HTML Introspector doit se trouver dans le sandbox de scurit de lapplication
(dans un fichier rsidant dans le rpertoire de lapplication).

Inspection dun objet dans longlet Console


La classe Console dfinit cinq mthodes : log(), warn(), info(), error() et dump().
Les mthodes log(), warn(), info() et error() permettent denvoyer un objet longlet Console. La mthode log()
est la plus lmentaire dentre elles. Le code suivant envoie un objet simple, reprsent par la variable test, longlet
Console :
var test = "hello";
air.Introspector.Console.log(test);

Il est cependant plus judicieux denvoyer un objet complexe longlet Console. La page HTML suivante, par exemple,
contient un bouton (btn1) qui appelle une fonction qui envoie lobjet lui-mme longlet Console :
<html>
<head>
<title>Source Viewer Sample</title>
<script type="text/javascript" src="scripts/AIRIntrospector.js"></script>
<script type="text/javascript">
function logBtn()
{
var button1 = document.getElementById("btn1");
air.Introspector.Console.log(button1);
}
</script>
</head>
<body>
<p>Click to view the button object in the Console.</p>
<input type="button" id="btn1"
onclick="logBtn()"
value="Log" />
</body>
</html>

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 300
Dbogage laide de loutil AIR HTML Introspector

Lorsque vous cliquez sur le bouton, longlet Console affiche lobjet btn1 et, et vous pouvez dvelopper larborescence
de celui-ci pour inspecter ses proprits :

Vous pouvez modifier une proprit de lobjet en cliquant sur le listing droite du nom de la proprit et en modifiant
le texte correspondant.
Les mthodes info(), error() et warn() sont similaires la mthode log(). Toutefois, lorsque vous les appelez, une
icne saffiche au dbut de la ligne sur la console :

Mthode Icne

info()

error()

warn()

Les mthodes log(), warn(), info() et error() se contentent denvoyer une rfrence un objet ; par consquent,
seules les proprits prsentes au moment de laffichage sont disponibles. Pour srialiser lobjet lui-mme, utilisez la
mthode dump(). Cette mthode gre deux paramtres :

Paramtre Description

dumpObject Objet srialiser.

levels Nombre maximal de niveaux examiner dans larborescence de lobjet (outre le niveau racine). La valeur par
dfaut est 1 (autrement dit, un niveau sous le niveau racine de larborescence est affich). Ce paramtre est
facultatif.

Lappel de la mthode dump() srialise un objet avant de lenvoyer longlet Console ; vous ne pouvez donc pas
modifier ses proprits. Considrons par exemple le code qui suit :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 301
Dbogage laide de loutil AIR HTML Introspector

var testObject = new Object();


testObject.foo = "foo";
testObject.bar = 234;
air.Introspector.Console.dump(testObject);

Lorsque vous excutez ce code, lobjet testObject et ses proprits saffichent sur la console, mais il vous est
impossible de modifier la valeur des proprits.

Configuration de loutil AIR HTML Introspector


Vous pouvez configurer la console en dfinissant les proprits de la variable globaleAIRIntrospectorConfig. Le
code JavaScript suivant, par exemple, configure loutil AIR HTML Introspector de sorte renvoyer automatiquement
la ligne le texte des colonnes partir de 100 caractres :
var AIRIntrospectorConfig = new Object();
AIRIntrospectorConfig.wrapColumns = 100;

Veillez dfinir les proprits de la variable AIRIntrospectorConfig avant de charger le fichier AIRIntrospector.js
(via une balise script).
Les huit proprits de la variable AIRIntrospectorConfig sont les suivantes :

Proprit Valeur par dfaut Description

closeIntrospectorOnExit true Configure la fentre de loutil AIR HTML Introspector de sorte quelle se
ferme la fermeture de toutes les autres fentres de lapplication.

debuggerKey 123 (touche F12) Code de touche du raccourci clavier permettant dafficher et de masquer
la fentre de loutil AIR HTML Introspector.

debugRuntimeObjects true Configure loutil AIR HTML Introspector de sorte dvelopper les objets
dexcution en plus des outils dfinis dans JavaScript.

flashTabLabels true Configure les onglets Console et XMLHttpRequest de sorte quils


clignotent en cas de modification (lorsque du texte y est enregistr par
exemple).

introspectorKey 122 (touche F11) Code de touche du raccourci clavier permettant douvrir le panneau
Inspect.

showTimestamp true Configure longlet Console de sorte afficher les informations


dhorodatage au dbut de chaque ligne.

showSender true Configure longlet Console de sorte afficher des informations sur lobjet
qui envoie le message au dbut de chaque ligne.

wrapColumns 2000 Nombre de colonnes au-del duquel se produit un retour la ligne dans
les fichiers sources.

Interface de loutil AIR HTML Introspector


Pour ouvrir la fentre de loutil AIR HTML Introspector lors du dbogage de lapplication, appuyez sur la touche F12
ou appelez une des mthodes de la classe Console (voir Inspection dun objet dans longlet Console la page 299).
Vous pouvez remplacer par une autre touche la touche daccs rapide F12 (voir Configuration de loutil AIR HTML
Introspector la page 301).

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 302
Dbogage laide de loutil AIR HTML Introspector

La fentre de loutil AIR HTML Introspector contient six onglets, Console, HTML, DOM, Assets, Source et XHR
illustrs ci-dessous :

Onglet Console
Longlet Console affiche les valeurs des proprits transmises en tant que paramtres lune des mthodes de la classe
air.Introspector.Console. Pour plus dinformations, voir Inspection dun objet dans longlet Console la page 299.

Pour effacer le contenu de la console, cliquez avec le bouton droit de la souris sur le texte et slectionnez Clear
Console.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 303
Dbogage laide de loutil AIR HTML Introspector

Pour enregistrer le texte de longlet Console dans un fichier, cliquez avec le bouton droit de la souris sur longlet et
slectionnez Save Console To File.
Pour enregistrer le texte de longlet Console dans le Presse-papiers, cliquez avec le bouton droit de la souris sur
longlet et slectionnez Save Console To Clipboard. Pour copier le texte slectionn uniquement dans le Presse-
papiers, cliquez dessus avec le bouton droit de la souris et slectionnez Copy.
Pour enregistrer le texte de la classe Console dans un fichier, cliquez avec le bouton droit de la souris sur longlet et
slectionnez Save Console To File.
Pour rechercher du texte dans longlet, appuyez sur Ctrl+F (Windows) ou Commande+F (Mac OS). (La recherche
ne porte pas sur les nuds de larborescence qui ne sont pas visibles.)

Onglet HTML
Longlet HTML permet dafficher lintgralit du modle HTML DOM dans une structure arborescente. Cliquez sur
un lment pour afficher ses proprits dans la partie droite de longlet. Cliquez sur les icnes + et - pour dvelopper
ou rduire un nud dans larborescence.

Vous pouvez modifier tout attribut ou lment de texte dans longlet HTML. La valeur modifie est rpercute dans
lapplication.
Cliquez sur le bouton Inspect ( gauche de la liste donglets de la fentre de loutil AIR HTML Introspector). Vous
pouvez cliquer sur tout lment dans la page HTML de la fentre principale. Lobjet DOM associ est affich dans
longlet HTML. Lorsque la fentre principale possde le focus, vous pouvez aussi appuyer sur le raccourci clavier pour
activer ou dsactiver le bouton Inspect. Le raccourci clavier par dfaut est F11. Vous pouvez le remplacer par une autre
touche (voir Configuration de loutil AIR HTML Introspector la page 301).
Cliquez sur le bouton Refresh active window (dans la partie suprieure de la fentre de loutil AIR HTML Introspector)
pour actualiser les donnes affiches dans longlet HTML.
Appuyez sur Ctrl+F (Windows) ou Commande+F (Mac OS) pour rechercher du texte dans longlet. (La recherche ne
porte pas sur les nuds de larborescence qui ne sont pas visibles.)

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 304
Dbogage laide de loutil AIR HTML Introspector

Onglet DOM
Longlet DOM affiche lobjet Window dans une structure arborescente. Vous pouvez modifier toute proprit de type
chane ou numrique. La valeur modifie est rpercute dans lapplication.

Cliquez sur le bouton Refresh active window (dans la partie suprieure de la fentre de loutil AIR HTML Introspector)
pour actualiser les donnes affiches dans longlet DOM.
Appuyez sur Ctrl+F (Windows) ou Commande+F (Mac OS) pour rechercher du texte dans longlet. (La recherche ne
porte pas sur les nuds de larborescence qui ne sont pas visibles.)

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 305
Dbogage laide de loutil AIR HTML Introspector

Onglet Assets
Longlet Assets permet de vrifier les liens, les images et les fichiers CSS et JavaScript chargs dans la fentre native.
Lorsque vous dveloppez lun de ces nuds, le contenu du fichier ou limage utilis saffiche.

Cliquez sur le bouton Refresh active window (dans la partie suprieure de la fentre de loutil AIR HTML Introspector)
pour actualiser les donnes affiches dans longlet Assets.
Appuyez sur Ctrl+F (Windows) ou Commande+F (Mac OS) pour rechercher du texte dans longlet. (La recherche ne
porte pas sur les nuds de larborescence qui ne sont pas visibles.)

Onglet Source
Longlet Source comporte trois sections :
Actual source : affiche le code source HTML de la page charge en tant que contenu racine au dmarrage de
lapplication.
Parsed source : affiche le code de marquage en cours constituant linterface utilisateur de lapplication, qui peut
diffrer du code source en tant que tel, puisque lapplication gnre le code de marquage la vole laide de
techniques Ajax.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 306
Dbogage laide de loutil AIR HTML Introspector

Application files : rpertorie les fichiers qui figurent dans le rpertoire de lapplication. Cette liste est uniquement
disponible lorsque loutil AIR HTML Introspector est lanc partir du sandbox de scurit de lapplication. Dans
cette section, vous pouvez afficher le contenu des fichiers de texte ou des images.

Cliquez sur le bouton Refresh active window (dans la partie suprieure de la fentre de loutil AIR HTML Introspector)
pour actualiser les donnes affiches dans longlet Source.
Appuyez sur Ctrl+F (Windows) ou Commande+F (Mac OS) pour rechercher du texte dans longlet. (La recherche ne
porte pas sur les nuds de larborescence qui ne sont pas visibles.)

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 307
Dbogage laide de loutil AIR HTML Introspector

Onglet XHR
Longlet XHR intercepte toutes les requtes XMLHttpRequest au sein de lapplication et enregistre ces informations.
Vous pouvez ainsi afficher les proprits XMLHttpRequest, y compris responseText et responseXML (le cas chant)
dans une structure arborescente.

Appuyez sur Ctrl+F (Windows) ou Commande+F (Mac OS) pour rechercher du texte dans longlet. (La recherche ne
porte pas sur les nuds de larborescence qui ne sont pas visibles.)

Utilisation de loutil AIR HTML Introspector avec du


contenu dun sandbox hors application
Vous pouvez charger du contenu partir du rpertoire de lapplication dans un iframe ou une image mapp sur un
sandbox hors application (Voir Scurit HTML dans Adobe AIR (dveloppeurs ActionScript) ou Scurit HTML dans
Adobe AIR (dveloppeurs HTML)). Vous pouvez utiliser loutil AIR HTML Introspector avec un tel contenu,
condition de respecter les rgles suivantes :
Le fichier AIRIntrospector.js file doit tre inclus dans le contenu du sandbox de lapplication et du sandbox hors
application (iframe).
Ne remplacez pas la proprit parentSandboxBridge. Elle est utilise par le code de loutil AIR HTML
Introspector. Ajoutez les proprits lorsquelles sont ncessaires. Nutilisez pas la syntaxe suivante, par exemple :
parentSandboxBridge = mytrace: function(str) {runtime.trace(str)}} ;

Utilisez plutt la syntaxe ci-dessous :


parentSandboxBridge.mytrace = function(str) {runtime.trace(str)};

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 308
Dbogage laide de loutil AIR HTML Introspector

Il est impossible douvrir la fentre de loutil AIR HTML Introspector partir du contenu dun sandbox hors
application, en appuyant sur la touche F12 ou en appelant une des mthodes de la classe air.Introspector.Console.
La seule faon douvrir cette fentre consiste cliquer sur le bouton Open Introspector, qui est ajout par dfaut
dans langle suprieur droit de liframe ou de limage. (En raison des restrictions de scurit appliques au contenu
du sandbox hors application, seule une action de lutilisateur, telle que cliquer sur un bouton, permet douvrir une
nouvelle fentre).
Vous pouvez ouvrir une fentre de loutil AIR HTML Introspector pour le sandbox de lapplication et une autre
pour le sandbox hors application. Le titre de ces fentres permet de les diffrencier.
Longlet Source naffiche pas les fichiers dapplication lorsque loutil AIR HTML Introspector sexcute partir
dun sandbox hors application.
Loutil AIR HTML Introspector peut uniquement vrifier le code du sandbox partir duquel il a t ouvert.

Dernire mise jour le 6/3/2017


309

Chapitre 20 : Localisation
dapplications AIR
Adobe AIR 1.1 et ultrieur

Adobe AIR assure une prise en charge multilingue.


Pour une prsentation de la procdure de localisation de contenu dans ActionScript 3.0 et la structure Flex, voir
Localisation dapplications dans le Guide du dveloppeur ActionScript 3.0.

Langues prises en charge dans AIR


La prise en charge de la localisation des applications AIR dans les langues suivantes a t introduite dans AIR 1.1 :
Chinois simplifi
Chinois traditionnel
Franais
Allemand
Italien
japonais
coren
Portugais (Brsil)
Russe
Espagnol
Les langues suivantes ont t ajoutes dans AIR 1.5 :
Tchque
Nerlandais
Polonais
Sudois
Turc

Voir aussi
Building multilingual Flex applications on Adobe AIR (Cration dapplications Flex multilingues dans Adobe AIR)
Building a multilingual HTML-based application (disponible en anglais uniquement)

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 310
Localisation dapplications AIR

Localisation du nom et de la description de lapplication


dans le programme dinstallation de lapplication dAIR
Adobe AIR 1.1 et ultrieur

Vous pouvez spcifier plusieurs langues pour les lments name et description du fichier descripteur dapplication.
Par exemple, le code suivant dfinit le nom de lapplication en trois langues (anglais, franais et allemand) :
<name>
<text xml:lang="en">Sample 1.0</text>
<text xml:lang="fr">chantillon 1.0</text>
<text xml:lang="de">Stichprobe 1.0</text>
</name>

Lattribut xml:lang de chaque lment text dfinit un code de langue, comme indiqu dans la norme RFC4646
(http://www.ietf.org/rfc/rfc4646.txt).
Llment name dfinit le nom de lapplication quaffiche le programme dinstallation de lapplication AIR. Ce
programme utilise la valeur localise qui correspond le mieux aux langues dinterface utilisateur dfinies par les
paramtres du systme dexploitation.
De mme, vous pouvez spcifier des versions en plusieurs langues de llment description dans le fichier
descripteur dapplication. Cet lment dfinit le texte descriptif quaffiche le programme dinstallation de
lapplication AIR.
Ces paramtres sappliquent uniquement aux langues disponibles dans le programme dinstallation de
lapplication AIR. Ils ne dfinissent pas les jeux de paramtres rgionaux disponibles pour lapplication installe
lorsquelle sexcute. Linterface utilisateur des applications AIR peut prendre en charge plusieurs langues, y compris
celles gres par le programme dinstallation de lapplication AIR.
Pour plus dinformations, voir lments du fichier descripteur dapplication AIR la page 221.

Voir aussi
Building multilingual Flex applications on Adobe AIR (Cration dapplications Flex multilingues dans Adobe AIR)
Building a multilingual HTML-based application (disponible en anglais uniquement)

Localisation de contenu HTML laide de la structure de


localisation HTML dAIR
Adobe AIR 1.1 et ultrieur

Le SDK dAIR 1.1 comprend une structure de localisation HTML, que dfinit le fichier JavaScript AIRLocalizer.js. Ce
fichier rside dans le rpertoire frameworks du SDK dAIR. Il contient une classe air.Localizer, qui propose des
fonctionnalits facilitant la cration dapplications prenant en charge plusieurs versions localises.

Chargement du code de la structure de localisation HTML dAIR


Pour utiliser la structure de localisation, copiez le fichier AIRLocalizer.js dans votre projet. Incluez-le ensuite dans le
fichier HTML principal de lapplication, laide dune balise script :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 311
Localisation dapplications AIR

<script src="AIRLocalizer.js" type="text/javascript" charset="utf-8"></script>

Vous pouvez ensuite appeler lobjet air.Localizer.localizer par le biais de code JavaScript :
<script>
var localizer = air.Localizer.localizer;
</script>

Lobjet air.Localizer.localizer est un objet singleton qui dfinit des mthodes et des proprits relatives
lutilisation et la gestion des ressources localises. La classe Localizer comprend les mthodes suivantes :

Mthode Description

getFile() Extrait le texte dun paquet de ressources spcifi pour un jeu de paramtres rgionaux spcifique. Voir
Extraction de ressources dun jeu de paramtres rgionaux spcifique la page 317.

getLocaleChain() Renvoie les langues qui figurent dans le chanage de jeux de paramtres rgionaux. Voir Dfinition du
chanage de jeux de paramtres rgionaux la page 316

getResourceBundle() Renvoie les cls du regroupement et les valeurs correspondantes sous forme dobjet. Voir Extraction de
ressources dun jeu de paramtres rgionaux spcifique la page 317.

getString() Extrait la chane dfinie pour une ressource. Voir Extraction de ressources dun jeu de paramtres rgionaux
spcifique la page 317.

setBundlesDirectory( Dfinit lemplacement du rpertoire de regroupements. Voir Personnalisation des paramtres de la structure
) de localisation HTML dAIR la page 315.

setLocalAttributePre Dfinit le prfixe utilis par les attributs de localisation utiliss dans des lments DOM HTML. Voir
fix() Personnalisation des paramtres de la structure de localisation HTML dAIR la page 315

setLocaleChain() Dfinit lordre des langues dans le chanage de jeux de paramtres rgionaux. Voir Dfinition du chanage
de jeux de paramtres rgionaux la page 316

sortLanguagesByPrefe Trie les jeux de paramtres rgionaux du chanage de jeux de paramtres rgionaux en fonction des
rence() paramtres du systme dexploitation. Voir Dfinition du chanage de jeux de paramtres rgionaux la
page 316

update() Met jour le DOM HTML (ou un lment DOM) avec les chanes localises du chanage de jeux de paramtres
rgionaux en cours. Pour plus dinformations sur les chanages de jeux de paramtres rgionaux, voir
Gestion des chanages de jeux de paramtres rgionaux la page 313. Pour plus dinformations sur la
mthode update(), voir Mise jour dlments DOM afin quils utilisent le jeu de paramtres rgionaux en
cours la page 314.

La classe Localizer comprend les proprits statiques suivantes :

Proprit Description

localizer Renvoie une rfrence lobjet singleton Localizer de lapplication.

ultimateFallbackLocale Jeu de paramtres rgionaux utilis lorsque lapplication ne prend en charge


aucune prfrence utilisateur. Voir Dfinition du chanage de jeux de
paramtres rgionaux la page 316

Spcification des langues prises en charge


Utilisez llment <supportedLanguages> dans le fichier descripteur de lapplication pour identifier les langues prises
en charge par lapplication. Cet lment est utilis uniquement par iOS, le moteur dexcution captif de Mac et les
applications Android ; il est ignor par tous les autres types dapplications.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 312
Localisation dapplications AIR

Si vous ne spcifiez pas llment <supportedLanguages>, le programme de mise en package excute par dfaut les
actions suivantes en fonction du type dapplication :
iOS : les langues prises en charge par le moteur dexcution dAIR sont rpertories dans lApp Store diOS comme
langues prises en charges dans lapplication.
Moteur dexcution captif de Mac : toute application mise en package avec un paquet captif ne possde aucune
information de localisation.
Android : le paquet dapplication dispose de ressources pour toutes les langues prises en charge par le moteur
dexcution dAIR.
Pour plus dinformations, voir supportedLanguages la page 252.

Dfinition de regroupements de ressources


La structure de localisation HTML lit les versions localises des chanes dans des fichiers de localisation. Un fichier de
localisation est un ensemble de valeurs bases sur des cls, srialises dans un fichier de texte. Ce type de fichier est
parfois appel un regroupement.
Crez dans le rpertoire de projet de votre application un sous-rpertoire que vous nommerez locale. (Vous pouvez
galement utiliser un autre nom, voir Personnalisation des paramtres de la structure de localisation HTML dAIR
la page 315.) Ce rpertoire contient les fichiers de localisation et est appel le rpertoire de regroupements.
Crez un sous-rpertoire dans le rpertoire de regroupements pour chaque jeu de paramtres rgionaux pris en charge
par votre application. Attribuez chaque sous-rpertoire un nom correspondant au code du jeu de paramtres
rgionaux. Par exemple, nommez le rpertoire franais fr et le rpertoire anglais en . Vous pouvez utiliser un trait
de soulignement (_) pour dfinir un jeu de paramtres rgionaux constitu dune langue et dun code de pays. Par
exemple, nommez le rpertoire anglais amricain en_us . Vous pouvez ventuellement remplacer le trait de
soulignement par un tiret ( en-us , par exemple). La structure de localisation HTML prend ces deux formats en
charge.
Libre vous dajouter tout nombre de fichiers de ressources un sous-rpertoire de jeu de paramtres rgionaux. En
rgle gnrale, vous crez un fichier de localisation par langue (et le placez dans le rpertoire correspondant celle-ci).
La structure de localisation HTML comprend une mthode getFile() qui vous permet de lire le contenu dun fichier
(voir Extraction de ressources dun jeu de paramtres rgionaux spcifique la page 317.
Les fichiers dots de lextension .properties constituent des fichiers de proprits de localisation. Ils permettent de
dfinir les paires cl-valeur dun jeu de paramtres rgionaux. Un fichier de proprits dfinit une valeur chane sur
chaque ligne. Ainsi, lexemple suivant attribue la valeur chane Hello in English. une cl nomme greeting :
greeting=Hello in English.

Un fichier de proprits contenant le texte suivant dfinit six paires cl-valeur :


title=Sample Application
greeting=Hello in English.
exitMessage=Thank you for using the application.
color1=Red
color2=Green
color3=Blue

Cet exemple illustre une version anglaise du fichier de proprits, stocker dans le rpertoire en.
Une version franaise de ce fichier de proprits est place dans le rpertoire fr :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 313
Localisation dapplications AIR

title=Application Example
greeting=Bonjour en franais.
exitMessage=Merci d'avoir utilis cette application.
color1=Rouge
color2=Vert
color3=Bleu

Vous pouvez dfinir plusieurs fichiers de ressources pour diffrents types dinformation. Imaginons un fichier nomm
legal.properties, qui contient un modle de texte juridique (tel un avis de copyright). Libre vous de rutiliser cette
ressource dans diverses applications. Vous pouvez de mme crer plusieurs fichiers dfinissant du contenu localis
pour diffrentes parties de linterface utilisateur.
Utilisez le codage UTF-8 pour ces fichiers afin de prendre en charge plusieurs langues.

Gestion des chanages de jeux de paramtres rgionaux


Lorsque votre application charge le fichier AIRLocalizer.js, il examine les jeux de paramtres rgionaux dfinis dans
celle-ci. Ces jeux correspondent aux sous-rpertoires du rpertoire de regroupements (voir Dfinition de
regroupements de ressources la page 312). La liste des jeux de paramtres rgionaux disponibles est appele
chanage de jeux de paramtres rgionaux. Le fichier AIRLocalizer.js trie automatiquement le chanage de jeux de
paramtres rgionaux en fonction de lordre de prfrence dfini par les paramtres du systme dexploitation. (La
proprit Capabilities.languages trie les langues dinterface utilisateur du systme dexploitation dans lordre de
prfrence.)
Par consquent, si une application dfinit des ressources pour "en", "en_US" et "en_UK", la structure de localisation
HTML dAIR trie le chanage de jeux de paramtres rgionaux de manire approprie. Lorsquune application
dmarre sur un systme qui indique que le jeu de paramtres rgionaux principal correspond "en", le chanage est
tri de la faon suivante : ["en", "en_US", "en_UK"]. Dans ce cas, lapplication recherche des ressources dans le
regroupement en en premier, puis dans le regroupement "en_US".
Cependant, si le systme indique que le jeu de paramtres rgionaux principal correspond "en_US", le tri devient
["en_US", "en", "en_UK"]. Dans ce cas, lapplication recherche des ressources dans le regroupement "en_US" en
premier, puis dans le regroupement "en".
Par dfaut, lapplication dfinit le premier jeu de paramtres rgionaux du chanage en tant que jeu utiliser par dfaut.
Vous pouvez inviter lutilisateur slectionner un jeu de paramtres rgionaux lors de la premire excution de
lapplication. Vous pouvez ensuite choisir de stocker la slection dans un fichier de prfrences et utiliser ce jeu de
paramtres rgionaux lors de dmarrages suivants.
Votre application peut utiliser des chanes de ressource de tout jeu de paramtres rgionaux du chanage. Si un jeu de
paramtres rgionaux spcifique ne dfinit pas une chane de ressource, lapplication utilise la chane de ressource
correspondante suivante dautres jeux de paramtres rgionaux du chanage.
Vous pouvez personnaliser le chanage de jeux de paramtres rgionaux en appelant la mthode setLocaleChain()
de lobjet Localizer. Voir Dfinition du chanage de jeux de paramtres rgionaux la page 316

Mise jour dlments DOM avec du contenu localis


Un lment de lapplication peut rfrencer une valeur de cl dans un fichier de proprits de localisation. Ainsi,
llment title de lexemple ci-dessous spcifie un attribut local_innerHTML. La structure de localisation utilise cet
attribut pour rechercher une valeur localise. Par dfaut, la structure recherche des attributs dont le nom commence
par local_ . Elle met jour les attributs portant un nom correspondant au texte suivant local_ . Dans ce cas,
elle dfinit lattribut innerHTML de llment title. Lattribut innerHTML utilise la valeur dfinie pour la cl
mainWindowTitle dans le fichier de proprits par dfaut (default.properties) :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 314
Localisation dapplications AIR

<title local_innerHTML="default.mainWindowTitle"/>

Si le jeu de paramtres rgionaux en cours ne dfinit pas de valeur correspondante, la structure de localisation examine
le reste du chanage de jeux. Elle utilise le jeu suivant du chanage pour lequel une valeur est dfinie.
Dans lexemple suivant, le texte (attribut innerHTML) de llment p utilise la valeur de la cl greeting dfinie dans le
fichier de proprits par dfaut :
<p local_innerHTML="default.greeting" />

Dans lexemple suivant, lattribut value (et le texte affich) de llment input utilise la valeur de la cl btnBlue dfinie
dans le fichier de proprits par dfaut :
<input type="button" local_value="default.btnBlue" />

Pour mettre jour le DOM HTML afin quil utilise les chanes dfinies dans le chanage de jeu de paramtres rgionaux
en cours, appelez la mthode update() de lobjet Localizer. Lappel de la mthode update() force lobjet Localizer
analyser le DOM et appliquer des manipulations lorsquil dtecte des attributs de localisation ( local_... ) :
air.Localizer.localizer.update();

Vous pouvez dfinir des valeurs pour un attribut (tel que innerHTML ) et pour lattribut de localisation
correspondant (tel que local_innerHTML ). Dans ce cas, la structure de localisation ne remplace la valeur de
lattribut que si elle dtecte une valeur correspondante dans le chanage de localisation. Par exemple, llment suivant
dfinit les attributs value et local_value :
<input type="text" value="Blue" local_value="default.btnBlue"/>

Vous pouvez aussi vous contenter de mettre jour un lment DOM spcifique. Pour plus dinformations, voir Mise
jour dlments DOM afin quils utilisent le jeu de paramtres rgionaux en cours la page 314
Par dfaut, la structure de localisation HTML dAIR applique le prfixe local_ aux attributs dfinissant des
paramtres de localisation pour un lment. Ainsi, un attribut local_innerHTML dfinit par dfaut le regroupement
et le nom de ressource utiliss pour la valeur innerHTML dun lment. De mme, un attribut local_value dfinit par
dfaut le regroupement et le nom de ressource utiliss pour lattribut value dun lment. Vous pouvez configurer la
structure de localisation de sorte utiliser un prfixe autre que local_ . Voir Personnalisation des paramtres de
la structure de localisation HTML dAIR la page 315.

Mise jour dlments DOM afin quils utilisent le jeu de paramtres


rgionaux en cours
Lorsque lobjet Localizer met jour le DOM HTML, les lments marqus doivent utiliser des valeurs dattribut bases
sur des chanes dfinies dans le chanage de jeux de paramtres rgionaux en cours. Pour que la structure de
localisation HTML mette jour le DOM HTML, appelez la mthode update() de lobjet Localizer :
air.Localizer.localizer.update();

Pour mettre jour un lment DOM spcifique seulement, transmettez-le en tant que paramtre la mthode
update(). La mthode update() possde un seul paramtre, parentNode, qui est facultatif. Lorsquil est spcifi, le
paramtre parentNode dfinit llment DOM localiser. Lappel de la mthode update() en incluant le paramtre
parentNode dfinit des valeurs localises pour tous les lments enfants qui spcifient des attributs de localisation.

Soit, par exemple, llment div ci-dessous :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 315
Localisation dapplications AIR

<div id="colorsDiv">
<h1 local_innerHTML="default.lblColors" ></h1>
<p><input type="button" local_value="default.btnBlue" /></p>
<p><input type="button" local_value="default.btnRed" /></p>
<p><input type="button" local_value="default.btnGreen" /></p>
</div>

Pour mettre cet lment jour afin quil utilise les chanes localises dfinies dans le chanage de jeu de paramtres
rgionaux en cours, utilisez le code JavaScript suivant :
var divElement = window.document.getElementById("colorsDiv");
air.Localizer.localizer.update(divElement);

Si le chanage de jeux de paramtres rgionaux ne contient pas de valeur de cl, la structure de localisation dfinit la
valeur de lattribut sur la valeur de lattribut local_ . Ainsi, imaginons que dans lexemple prcdent, la structure
de localisation na pas trouv de valeur pour la cl lblColors (dans aucun des fichiers default.properties du chanage
de jeux de paramtres rgionaux). Dans ce cas, elle attribue la valeur "default.lblColors" lattribut innerHTML.
Lutilisation de cette valeur indique une absence de ressources (au dveloppeur).
La mthode update() distribue un vnement resourceNotFound lorsquune ressource est introuvable dans le
chanage de jeux de paramtres rgionaux. La constante air.Localizer.RESOURCE_NOT_FOUND dfinit la chane
"resourceNotFound". Lvnement possde trois proprits : bundleName, resourceName et locale. La proprit
bundleName reprsente le nom du regroupement introuvable. La proprit resourceName reprsente le nom de la
ressource introuvable. La proprit locale reprsente le nom du jeu de paramtres rgionaux dans lequel la ressource
est introuvable.
La mthode update() distribue un vnement bundleNotFound lorsque le regroupement spcifi est introuvable. La
constante air.Localizer.BUNDLE_NOT_FOUND dfinit la chane "bundleNotFound". Lvnement possde deux
proprits : bundleName et locale. La proprit bundleName reprsente le nom du regroupement introuvable. La
proprit locale reprsente le nom du jeu de paramtres rgionaux dans lequel la ressource est introuvable.
La proprit update() sexcute en mode asynchrone (et distribue des vnements resourceNotFound et
bundleNotFound de manire asynchrone). Le code suivant dfinit des couteurs pour les vnements
resourceNotFound et bundleNotFound :

air.Localizer.localizer.addEventListener(air.Localizer.RESOURCE_NOT_FOUND, rnfHandler);
air.Localizer.localizer.addEventListener(air.Localizer.BUNDLE_NOT_FOUND, rnfHandler);
air.Localizer.localizer.update();
function rnfHandler(event)
{
alert(event.bundleName + ": " + event.resourceName + ":." + event.locale);
}
function bnfHandler(event)
{
alert(event.bundleName + ":." + event.locale);
}

Personnalisation des paramtres de la structure de localisation HTML dAIR


La mthode setBundlesDirectory() de lobjet Localizer vous permet de personnaliser le chemin daccs au
rpertoire de regroupements. La mthode setLocalAttributePrefix() de lobjet Localizer vous permet de
personnaliser le chemin daccs au rpertoire de regroupements et la valeur dattribut utilise par lobjet.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 316
Localisation dapplications AIR

Le rpertoire de regroupements par dfaut correspond au sous-rpertoire de jeux de paramtres rgionaux du


rpertoire dapplication. Vous pouvez spcifier un autre rpertoire en appelant la mthode setBundlesDirectory()
de lobjet Localizer. Cette mthode gre un paramtre unique, path, qui reprsente sous forme de chane le chemin
daccs au rpertoire de regroupements souhait. Le paramtre path prend en charge les valeurs suivantes :
Une chane dfinissant un chemin relatif au rpertoire dapplication, telle que "locales"
Une chane dfinissant une URL valide utilisant le modle dURL app, app-storage ou file, telle que
"app://languages" (nutilisez pas le modle dURL http)

Un objet File
Pour plus dinformations sur les URL et les chemins de rpertoire, voir :
Chemin des objets File (dveloppeurs ActionScript)
Chemin des objets File (dveloppeurs HTML)
Par exemple, le code suivant dfinit le rpertoire de regroupements sur le sous-rpertoire languages du rpertoire de
stockage de lapplication (rpertoire dapplication) :
air.Localizer.localizer.setBundlesDirectory("languages");

Dfinissez le paramtre path sur un chemin valide. Sinon, la mthode renvoie une exception
BundlePathNotFoundError. BundlePathNotFoundError correspond la proprit name de cette erreur, dont la
proprit message spcifie le chemin non valide.
Par dfaut, la structure de localisation HTML dAIR applique le prfixe local_ aux attributs dfinissant des
paramtres de localisation pour un lment. Par exemple, lattribut local_innerHTML dfinit le regroupement et le
nom de ressource utiliss pour la valeur innerHTML de llment input suivant :
<p local_innerHTML="default.greeting" />

La mthode setLocalAttributePrefix() de lobjet Localizer vous permet dutiliser un prfixe dattribut autre que
local_ . Cette mthode statique gre un paramtre unique, qui correspond la chane utiliser comme prfixe
dattribut. Par exemple, le code suivant force la structure de localisation utiliser loc_ comme prfixe dattribut :
air.Localizer.localizer.setLocalAttributePrefix("loc_");

Vous pouvez personnaliser le prfixe dattribut utilis par la structure de localisation. Vous souhaiterez peut-tre
personnaliser le prfixe si la valeur par dfaut ( local_ ) cre un conflit avec le nom dun autre attribut utilis par le
code. Lorsque vous appelez cette mthode, veillez utiliser des caractres valides pour les attributs HTML. (La valeur
ne doit pas contenir despaces, par exemple.)
Pour plus dinformations sur lutilisation dattributs de localisation dans des lments HTML, voir Mise jour
dlments DOM avec du contenu localis la page 313.
Les paramtres relatifs au rpertoire de regroupements et au prfixe dattribut ne sont pas persistants dune session
dapplication une autre. Si vous utilisez des paramtres personnaliss, veillez donc les dfinir chaque initiation de
lapplication.

Dfinition du chanage de jeux de paramtres rgionaux


Lorsque vous chargez le code AIRLocalizer.js, il dfinit automatiquement le chanage de jeux de paramtres rgionaux
par dfaut. Les jeux de paramtres rgionaux disponibles dans le rpertoire de regroupements et les paramtres de
langue du systme dexploitation dfinissent ce chanage (pour plus dinformations voir Gestion des chanages de
jeux de paramtres rgionaux la page 313).

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 317
Localisation dapplications AIR

Vous pouvez modifier le chanage de jeux de paramtres rgionaux en appelant la mthode statique
setLocaleChain() de lobjet Localizer. Ainsi, vous souhaiterez peut-tre appeler cette mthode si lutilisateur
indique quil prfre utiliser une langue spcifique. La mthode setLocaleChain() gre un paramtre unique, chain,
qui correspond un tableau de jeux de paramtres rgionaux, tel que ["fr_FR","fr","fr_CA"]. Lordre des jeux
dans le tableau dtermine lordre dans lequel la structure recherche ultrieurement des ressources. Si une ressource est
absente du premier jeu du chanage, la structure continue la recherche dans les autres jeux. Si largument chain est
absent, nest pas un tableau ou est un tableau vide, la fonction choue et renvoie une exception IllegalArgumentsError.
La mthode statique getLocaleChain() de lobjet Localizer renvoie un tableau rpertoriant les jeux de paramtres
rgionaux du chanage en cours.
Le code suivant lit le chanage en cours et ajoute deux jeux de paramtres rgionaux franais au dbut :
var currentChain = air.Localizer.localizer.getLocaleChain();
newLocales = ["fr_FR", "fr"];
air.Localizer.localizer.setLocaleChain(newLocales.concat(currentChain));

La mthode setLocaleChain() distribue un vnement change lorsquelle met jour le chanage de jeux de
paramtres rgionaux. La constante air.Localizer.LOCALE_CHANGE dfinit la chane change . Lvnement
possde une proprit unique, localeChain, un tableau des codes de jeux de paramtres rgionaux que comprend le
nouveau chanage. Le code suivant dfinit un couteur pour cet vnement :
var currentChain = air.Localizer.localizer.getLocaleChain();
newLocales = ["fr_FR", "fr"];
localizer.addEventListener(air.Localizer.LOCALE_CHANGE, changeHandler);
air.Localizer.localizer.setLocaleChain(newLocales.concat(currentChain));
function changeHandler(event)
{
alert(event.localeChain);
}

La proprit statique air.Localizer.ultimateFallbackLocale reprsente le jeu de paramtres rgionaux utilis


lorsque lapplication ne prend pas en charge de prfrences utilisateur. La valeur par dfaut est "en". Vous pouvez
dfinir un autre jeu de paramtres rgionaux, comme illustr ci-dessous :
air.Localizer.ultimateFallbackLocale = "fr";

Extraction de ressources dun jeu de paramtres rgionaux spcifique


La mthode getString() de lobjet Localizer renvoie la chane dfinie pour une ressource dans un jeu de paramtres
rgionaux spcifique. Lors de lappel de la mthode, il est inutile de spcifier une valeur locale. Dans ce cas, la
mthode examine la totalit du chanage de jeux de paramtres rgionaux et renvoie la chane du premier jeu
contenant le nom de ressource concern. Cette mthode prend en charge les paramtres suivants :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 318
Localisation dapplications AIR

Paramtre Description

bundleName Regroupement contenant la ressource. Il sagit du nom du fichier de proprits


sans lextension .properties. Par exemple, si ce paramtre est dfini sur
"alerts", le code Localizer examine les fichiers de localisation appels
alerts.properties.

resourceName Nom de la ressource.

templateArgs Facultatif. Tableau de chanes servant remplacer les balises numrotes dans la
chane de remplacement. Par exemple, soit un appel la fonction dans lequel le
paramtre templateArgs est dfini sur ["Ral", "4"] et la chane de
ressource correspondante est "Hello, {0}. You have {1} new
messages.". Dans ce cas, la fonction renvoie "Hello, Ral. You have 4
new messages.". Pour ne pas tenir compte de ce paramtre, transmettez la
valeur null.

locale Facultatif. Code du jeu de paramtres rgionaux (tel que "en", "en_us" ou
"fr") utiliser. Si un jeu de paramtres rgionaux est indiqu et quaucune
valeur correspondante nest trouve, la mthode ne recherche pas de valeurs
dans les autres jeux du chanage. Si aucun code de jeu de paramtres rgionaux
nest spcifi, la fonction renvoie la chane du premier jeu du chanage qui
contient une valeur pour le nom de ressource donn.

La structure de localisation peut mettre jour des attributs DOM HTML marqus. Vous pouvez cependant utiliser les
chanes localises autrement. Ainsi, vous pouvez utiliser une chane dans du contenu HTML gnr dynamiquement
ou en tant que valeur de paramtre dans un appel de fonction. Par exemple, le code suivant appelle la fonction alert()
avec la chane dfinie dans la ressource error114 du fichier de proprit par dfaut du jeu de paramtres rgionaux
fr_FR :
alert(air.Localizer.localizer.getString("default", "error114", null, "fr_FR"));

La mthode getString() distribue un vnement resourceNotFound si la ressource est introuvable dans le


regroupement spcifi. La constante air.Localizer.RESOURCE_NOT_FOUND dfinit la chane "resourceNotFound".
Lvnement possde trois proprits : bundleName, resourceName et locale. La proprit bundleName reprsente
le nom du regroupement introuvable. La proprit resourceName reprsente le nom de la ressource introuvable. La
proprit locale reprsente le nom du jeu de paramtres rgionaux dans lequel la ressource est introuvable.
La mthode getString() distribue un vnement bundleNotFound lorsque le regroupement spcifi est introuvable.
La constante air.Localizer.BUNDLE_NOT_FOUND dfinit la chane "bundleNotFound". Lvnement possde deux
proprits : bundleName et locale. La proprit bundleName reprsente le nom du regroupement introuvable. La
proprit locale reprsente le nom du jeu de paramtres rgionaux dans lequel la ressource est introuvable.
La mthode getString() sexcute en mode asynchrone (et distribue les vnements resourceNotFound et
bundleNotFound en mode asynchrone). Le code suivant dfinit des couteurs pour les vnements
resourceNotFound et bundleNotFound :

air.Localizerlocalizer.addEventListener(air.Localizer.RESOURCE_NOT_FOUND, rnfHandler);
air.Localizerlocalizer.addEventListener(air.Localizer.BUNDLE_NOT_FOUND, bnfHandler);
var str = air.Localizer.localizer.getString("default", "error114", null, "fr_FR");
function rnfHandler(event)
{
alert(event.bundleName + ": " + event.resourceName + ":." + event.locale);
}
function bnfHandler(event)
{
alert(event.bundleName + ":." + event.locale);
}

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 319
Localisation dapplications AIR

La mthode getResourceBundle() de lobjet Localizer renvoie le regroupement spcifi pour un jeu de paramtres
rgionaux donn. La valeur renvoye de la mthode est un objet dont les proprits correspondent aux cls du
regroupement. (Si lapplication ne trouve pas le regroupement spcifi, la mthode renvoie null.)
La mthode reconnat deux paramtres : locale et bundleName.

Paramtre Description

locale Jeu de paramtres rgionaux (par exemple fr ).

bundleName Nom du regroupement.

Par exemple, le code suivant appelle la mthode document.write() pour charger le regroupement par dfaut pour le
jeu de paramtres rgionaux fr. Il appelle ensuite la mthode document.write() pour crire les valeurs des cls str1
et str2 dans ce regroupement :
var aboutWin = window.open();
var bundle = localizer.getResourceBundle("fr", "default");
aboutWin.document.write(bundle.str1);
aboutWin.document.write("<br/>");
aboutWin.document.write(bundle.str2);
aboutWin.document.write("<br/>");

La mthode getResourceBundle() distribue un vnement bundleNotFound lorsque le regroupement spcifi est


introuvable. La constante air.Localizer.BUNDLE_NOT_FOUND dfinit la chane "bundleNotFound". Lvnement
possde deux proprits : bundleName et locale. La proprit bundleName reprsente le nom du regroupement
introuvable. La proprit locale reprsente le nom du jeu de paramtres rgionaux dans lequel la ressource est
introuvable.
La mthode getFile() de lobjet Localizer renvoie le contenu dun regroupement, sous forme de chane, pour un jeu
de paramtres rgionaux donn. Le fichier de regroupement est lu au format UTF-8. La mthode prend en charge les
paramtres suivants :

Paramtre Description

resourceFileName Nom du fichier de ressource ("about.html", par exemple).

templateArgs Facultatif. Tableau de chanes servant remplacer les balises numrotes dans la
chane de remplacement. Par exemple, soit un appel la fonction dans lequel le
paramtre templateArgs est dfini sur ["Ral", "4"] et le fichier de
ressource correspondant contient deux lignes :

<html>
<body>Hello, {0}. You have {1} new messages.</body>
</html>

Dans ce cas, la fonction renvoie une chane de deux lignes :

<html>
<body>Hello, Ral. You have 4 new messages. </body>
</html>

locale Code de jeu de paramtres rgionaux utiliser, tel que "en_GB". Si un jeu de
paramtres rgionaux est indiqu et quaucun fichier correspondant nest trouv,
la mthode nexamine pas les autres jeux du chanage. Si aucun code de jeu de
paramtres rgionaux nest spcifi, la fonction renvoie le texte du premier jeu du
chanage comportant un fichier qui correspond resourceFileName.

Par exemple, le code suivant appelle la mthode document.write() laide du contenu du fichier about.html du jeu
de paramtres rgionaux fr :

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 320
Localisation dapplications AIR

var aboutWin = window.open();


var aboutHtml = localizer.getFile("about.html", null, "fr");
aboutWin.document.close();
aboutWin.document.write(aboutHtml);

La mthode getFile() distribue un vnement fileNotFound lorsquune ressource est introuvable dans le chanage
de jeux de paramtres rgionaux. La constante air.Localizer.FILE_NOT_FOUND dfinit la chane "fileNotFound".
La mthode getFile() sexcute en mode asynchrone (et distribue lvnement fileNotFound de manire
asynchrone). Lvnement possde deux proprits : fileName et locale. La proprit fileName reprsente le nom
du fichier introuvable. La proprit locale reprsente le nom du jeu de paramtres rgionaux dans lequel la ressource
est introuvable. Le code suivant dfinit un couteur pour cet vnement :
air.Localizer.localizer.addEventListener(air.Localizer.FILE_NOT_FOUND, fnfHandler);
air.Localizer.localizer.getFile("missing.html", null, "fr");
function fnfHandler(event)
{
alert(event.fileName + ": " + event.locale);
}

Voir aussi
Building a multilingual HTML-based application (disponible en anglais uniquement)

Dernire mise jour le 6/3/2017


321

Chapitre 21 : Variables denvironnement


path
Le kit de dveloppement dAIR contient quelques programmes lancer partir dune ligne de commande ou dun
terminal. Lexcution de ces programmes savre souvent plus pratique si le chemin daccs au rpertoire bin du kit
SDK figure dans la variable denvironnement path.
Les informations ci-aprs passent en revue la procdure de dfinition de path sous Windows, Mac et Linux et servent
de guide de rfrence. Etant donn que les configurations dordinateur varient considrablement, la procdure ne
fonctionne toutefois pas sur chaque systme. Si tel est le cas, vous devriez trouver les informations requises dans la
documentation du systme dexploitation ou sur Internet.

Dfinition de PATH sous Linux et Mac OS laide de


linterface de commande Bash
Si vous saisissez une commande dans une fentre de terminal, le programme qui lit la saisie et rpond en consquence
doit commencer par trouver le programme de commande dans le systme de fichiers. Linterface de commande
recherche les commandes dans une liste de rpertoires stocke dans la variable denvironnement $PATH. Pour vrifier
le contenu actuel de la variable denvironnement path, saisissez :
echo $PATH

Cette commande renvoie une liste de rpertoires spars par un point-virgule, telle que :
/usr/bin:/bin:/usr/sbin:/usr/local/bin:/usr/x11/bin

La procdure a pour objet dajouter le chemin daccs au rpertoire bin du kit SDK dAIR la liste, afin que linterface
de commande trouve loutil ADT et lapplication ADL. Supposons que le kit SDK dAIR rside dans
/Users/fred/SDKs/AIR. La commande suivante ajoute les rpertoires requis la variable denvironnement path :

export PATH=$PATH:/Users/fred/SDKs/AIR/bin:/Users/fred/SDKs/android/tools

Remarque : si le chemin contient des caractres despace blanc, convertissez-les en squences dchappement laide
dune barre oblique inverse, comme suit :
/Users/fred\ jones/SDKs/AIR\ 2.5\ SDK/bin

Pour vous assurer que la procdure a abouti, vous pouvez utiliser nouveau la commande echo :
echo $PATH
/usr/bin:/bin:/usr/sbin:/usr/local/bin:/usr/x11/bin:/Users/fred/SDKs/AIR/bin:/Users/fred/SDK
s/android/tools

Parfait. Vous devriez maintenant tre en mesure de saisir les commandes suivantes et dobtenir une rponse
encourageante :
adt -version

Si vous avez modifi correctement la variable $PATH, la commande devrait indiquer la version de loutil ADT.

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 322
Variables denvironnement path

Un problme demeure. Lors de louverture suivante dune fentre de terminal, vous noterez que les nouvelles entres
ne figurent plus dans le chemin. La commande de dfinition du chemin doit tre excute chaque fois que vous
dmarrez un nouveau terminal.
Pour rsoudre ce problme, vous ajoutez gnralement la commande lun des scripts de dmarrage utiliss par
linterface de commande. Sous Mac OS, vous pouvez crer le fichier, .bash_profile, dans le rpertoire
~/nomUtilisateur. Il est alors excut chaque fois que vous ouvrez une nouvelle fentre de terminal. Sous Ubuntu, le
script de dmarrage excut louverture dune nouvelle fentre de terminal correspond .bashrc. Dautres versions
de distribution de Linux et interfaces de commande grent des conventions similaires.
Pour ajouter la commande au script de dmarrage de linterface de commande :
1 Accdez au rpertoire daccueil :
cd

2 Le cas chant, crez le profil de configuration de linterface de commande et redirigez le texte saisi en fin de fichier
laide de cat >> . Utilisez le fichier adapt au systme dexploitation et linterface de commande. Vous
disposez par exemple de .bash_profile sous Mac OS et de .bashrc sous Ubuntu.
cat >> .bash_profile

3 Saisissez le texte ajouter au fichier :


export PATH=$PATH:/Users/cward/SDKs/android/tools:/Users/cward/SDKs/AIR/bin

4 Mettez fin la redirection du texte en appuyant sur CTRL-MAJ-D au clavier.


5 Affichez le fichier pour vous assurer que tout fonctionne correctement :
cat .bash_profile

6 Ouvrez une nouvelle fentre de terminal pour vrifier le chemin :


echo $PATH

Les nouveaux ajouts devraient tre recenss.


Si vous crez ultrieurement une nouvelle version de lun des kits SDK dans dautres rpertoires, veillez mettre jour
la commande path dans le fichier de configuration. Linterface de commande continue sinon utiliser lancienne
version.

Dfinition de la variable denvironnement path sous


Windows
Si vous ouvrez une fentre de commande sous Windows, elle hrite des variables denvironnement globales dfinies
dans les proprits du systme. Lune des plus importantes variables correspond path, cest--dire la liste de
rpertoires dans lesquels le programme de commande effectue une recherche lorsque vous saisissez le nom du
programme excuter. Pour vrifier le contenu de la variable denvironnement path lorsque vous utilisez une fentre
de commande, vous pouvez saisir :
set path

Une liste de rpertoires spars par un point-virgule, similaire celle-ci, saffiche alors :
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem

Dernire mise jour le 6/3/2017


CRATION DAPPLICATIONS ADOBE AIR 323
Variables denvironnement path

La procdure a pour objet dajouter le chemin daccs au rpertoire bin du kit SDK dAIR la liste, afin que le
programme de commande trouve loutil ADT et lapplication ADL. Si vous avez plac le kit SDK dAIR dans le
rpertoire C:\SDKs\AIR, procdez comme suit pour ajouter lentre approprie :
1 Ouvrez la bote de dialogue Proprits systme partir du Panneau de configuration ou cliquez avec le bouton droit
de la souris sur licne Poste de travail et, depuis le menu, slectionnez Proprits.
2 Sur longlet Avanc, cliquez sur le bouton Variables denvironnement.
3 Slectionnez lentre Path dans la section Variables systme de la bote de dialogue Variables denvironnement.
4 Cliquez sur Modifier.
5 Dans la zone Valeur de la variable, faites dfiler la liste jusqu la fin du texte.
6 Tout la fin de la valeur actuelle, entrez le texte suivant :
;C:\SDKs\AIR\bin

7 Cliquez sur OK dans toutes les botes de dialogue pour enregistrer la variable path.
Si vous avez prcdemment ouvert des fentres de commande, notez que leur environnement na pas t actualis.
Ouvrez une nouvelle fentre de commande et saisissez la commande suivante pour vous assurer que les chemins sont
correctement dfinis :
adt -version

Si vous modifiez ultrieurement lemplacement du kit SDK dAIR ou que vous ajoutez une nouvelle version, veillez
mettre jour la variable path.

Dernire mise jour le 6/3/2017

Anda mungkin juga menyukai