Vous êtes sur la page 1sur 322

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 24/6/2013

iii

Sommaire
Chapitre 1 : A propos dAdobe AIR Chapitre 2 : Installation dAdobe AIR Installation dAdobe AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Dsinstallation dAdobe AIR Mises jour dAdobe Air ........................................................................................... 5 ................................................................ 5 Installation et excution des exemples dapplication AIR

............................................................................................... 6

Chapitre 3 : Utilisation des API AIR Classes ActionScript 3.0 propres AIR Composants Flex propres AIR

.................................................................................. 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Classes Flash Player contenant des fonctionnalits 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Configuration de kits SDK externes

Chapitre 5 : Cration dune premire application AIR Cration dune premire application de bureau AIR Flex dans Flash Builder Cration dune premire application de bureau AIR dans Flash Professional Cration dune premire application AIR for Android dans Flash Professional Cration dune premire application AIR for iOS Cration dune premire application AIR de type HTML dans Dreamweaver

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Cration dune premire application AIR de type HTML laide du kit SDK dAIR Cration dune premire application de bureau AIR laide du kit SDK de Flex Cration dune premire application AIR for Android laide du kit SDK de Flex Chapitre 6 : Dveloppement dapplications de bureau AIR Flux de travail de dveloppement dune application de bureau AIR Dfinition des proprits dune application de bureau Dbogage dune application de bureau AIR

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Mise en package dun fichier dinstallation AIR de bureau

Mise en package dun programme dinstallation natif de bureau Distribution dun package AIR pour ordinateur de bureau

Mise en package dun paquet de moteur dexcution captif pour des ordinateurs de bureau

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Sommaire

iv

Installation dAIR et dapplications AIR sur un priphrique mobile Mise jour des applications AIR mobiles Utilisation des notifications Push

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

Chapitre 8 : Dveloppement dapplications AIR pour priphriques TV Fonctionnalits AIR propres aux tlviseurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Considrations prendre en compte lors de la cration dune application AIR pour TV Flux de travail de dveloppement dune application AIR pour TV Proprits du descripteur de lapplication AIR pour TV Mise en package dune application AIR pour TV Dbogage dapplications AIR pour TV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

Chapitre 9 : Utilisation dextensions natives pour Adobe AIR Fichiers AIR Native Extension (ANE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Extensions natives ou classe NativeProcess ActionScript ? Priphriques pris en charge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Extensions natives ou bibliothques de classes ActionScript (fichiers SWC) ? Profils de priphrique pris en charge

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

Liste de tches pour lutilisation dune extension native

Dclaration de lextension dans le fichier descripteur de lapplication

Ajout du fichier ANE au chemin daccs la bibliothque de lapplication Mise en package dune application faisant appel des extensions natives

Chapitre 10 : Compilateurs ActionScript Prsentation des outils de ligne de commande dAIR intgrs au kit SDK Flex Configuration des compilateurs Compilation de fichiers sources MXML et ActionScript pour AIR

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

Compilation dun composant ou dune bibliothque de code AIR (Flex)

Chapitre 11 : Application de dbogage du lanceur AIR (ADL) Utilisation de lapplication ADL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Exemples ADL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Codes derreur et de sortie dADL

Chapitre 12 : Outil AIR Developer (ADT) Commandes de loutil ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 Ensembles doptions ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Messages derreur du programme ADT Variables denvironnement ADT

Chapitre 13 : Signature dapplications AIR Signature numrique dun fichier AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Cration dun fichier AIR intermdiaire non sign laide de loutil ADT Signature dun fichier intermdiaire AIR laide de loutil ADT Signature dune version mise jour dune application AIR Cration dun certificat auto-sign laide de loutil ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Sommaire

Chapitre 14 : Fichiers descripteurs dapplications AIR Modifications apportes au fichier descripteur dapplication Structure du fichier descripteur dapplication Elments du fichier descripteur dapplication AIR

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

Chapitre 15 : Profils de priphrique Limitation des profils cible dans le fichier descripteur de lapplication Fonctionnalits des diffrents profils

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254

Chapitre 16 : API intgre au navigateur et stocke dans le fichier AIR.SWF Personnalisation du fichier badge.swf de linstallation transparente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 Utilisation du fichier badge.swf pour installer une application AIR Chargement du fichier air.swf Vrification de la prsence du moteur dexcution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

Vrification partir dune page Web de la prsence dune application AIR installe Installation dune application AIR partir du navigateur Lancement dune application AIR installe partir du navigateur

Chapitre 17 : Mise jour des applications AIR A propos de la mise jour des applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 Prsentation dune interface utilisateur personnalise pour la mise jour dapplications Tlchargement dun fichier AIR sur lordinateur de lutilisateur Utilisation de la structure de mise jour Vrifications permettant de savoir si lapplication est excute pour la premire fois . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274

Chapitre 18 : Affichage du code source Chargement, configuration et ouverture de Source Viewer Interface utilisateur de Source Viewer

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

Chapitre 19 : Dbogage laide de loutil AIR HTML Introspector Prsentation de loutil AIR HTML Introspector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Chargement du code de loutil AIR HTML Introspector Inspection dun objet dans longlet Console Configuration de loutil AIR HTML Introspector Interface de loutil AIR HTML Introspector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295

Utilisation de loutil AIR HTML Introspector avec du contenu dun sandbox hors application

Chapitre 20 : Localisation dapplications AIR Localisation du nom et de la description de lapplication dans le programme dinstallation de lapplication dAIR Localisation de contenu HTML laide de la structure de localisation HTML dAIR Chapitre 21 : Variables denvironnement path Dfinition de PATH sous Linux et Mac OS laide de linterface de commande Bash Dfinition de la variable denvironnement path sous Windows

. . . . . . . 304

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316

Dernire mise jour le 24/6/2013

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


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 24/6/2013

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


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 184.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


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 185. 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


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 24/6/2013

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 ARecord AAAARecord ApplicationUpdater ApplicationUpdaterUI AudioPlaybackMode AutoCapitalize BrowserInvokeEvent CameraPosition CameraRoll CameraRollBrowseOptions CameraUI

Package ActionScript 3.0 flash.net.dns flash.net.dns air.update air.update flash.media flash.text flash.events flash.media flash.media flash.media flash.media

Ajoute la version AIR 2.0 2.0 1.5 1.5 3.0 3.0 1.0 3.0 2.0 3.0 2.5

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Utilisation des API AIR

Classe CertificateStatus CompressionAlgorithm DatagramSocket DatagramSocketDataEvent DNSResolver DNSResolverEvent DockIcon DownloadErrorEvent DRMAuthenticateEvent DRMDeviceGroup DRMDeviceGroupErrorEvent DRMDeviceGroupEvent DRMManagerError EncryptedLocalStore ExtensionContext File FileListEvent FileMode FileStream FocusDirection GameInput GameInputControl GameInputControlType

Package ActionScript 3.0 flash.security flash.utils flash.net flash.events flash.net.dns flash.events flash.desktop air.update.events flash.events flash.net.drm flash.net.drm flash.net.drm flash.errors flash.data flash.external flash.filesystem flash.events flash.filesystem flash.filesystem flash.display flash.ui flash.ui flash.ui

Ajoute la version AIR 2.0 1.0 2.0 2.0 2.0 2.0 1.0 1.5 1.0 3.0 3.0 3.0 1.5 1.0 2.5 1.0 1.0 1.0 1.0 1.0 3.0 3.0 3.6 et versions antrieures ; abandonn partir de la version 3.7 3.0 3.0 3.6 et versions antrieures ; abandonn partir de la version 3.7 3.6 et versions antrieures ; abandonn partir de la version 3.7 2.0 2.0 1.0 1.0

GameInputDevice GameInputEvent GameInputFinger

flash.ui flash.ui flash.ui

GameInputHand

flash.ui

Geolocation GeolocationEvent HTMLHistoryItem HTMLHost

flash.sensors flash.events flash.html flash.html

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Utilisation des API AIR

Classe HTMLLoader HTMLPDFCapability HTMLSWFCapabiltiy HTMLUncaughtScriptExceptionEvent HTMLWindowCreateOptions Icon IFilePromise ImageDecodingPolicy InteractiveIcon InterfaceAddress InvokeEvent InvokeEventReason IPVersion IURIDereferencer LocationChangeEvent MediaEvent MediaPromise MediaType MXRecord NativeApplication NativeDragActions NativeDragEvent NativeDragManager NativeDragOptions NativeMenu NativeMenuItem NativeProcess NativeProcessExitEvent NativeProcessStartupInfo NativeWindow NativeWindowBoundsEvent NativeWindowDisplayState NativeWindowDisplayStateEvent NativeWindowInitOptions

Package ActionScript 3.0 flash.html flash.html flash.html flash.events flash.html flash.desktop flash.desktop flash.system flash.desktop flash.net flash.events flash.desktop flash.net flash.security flash.events flash.events flash.media flash.media flash.net.dns flash.desktop flash.desktop flash.events flash.desktop flash.desktop flash.display flash.display flash.desktop flash.events flash.desktop flash.display flash.events flash.display flash.events flash.display

Ajoute la version AIR 1.0 1.0 2.0 1.0 1.0 1.0 2.0 2.6 1.0 2.0 1.0 1.5.1 2.0 1.0 2.5 2.5 2.5 2.5 2.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 1.0 1.0 1.0 1.0 1.0

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Utilisation des API AIR

10

Classe NativeWindowRenderMode NativeWindowResize NativeWindowSystemChrome NativeWindowType NetworkInfo NetworkInterface NotificationType OutputProgressEvent PaperSize PrintMethod PrintUIOptions PTRRecord ReferencesValidationSetting ResourceRecord RevocationCheckSettings Screen ScreenMouseEvent SecureSocket SecureSocketMonitor ServerSocket ServerSocketConnectEvent ServiceMonitor SignatureStatus SignerTrustSettings SocketMonitor SoftKeyboardType SQLCollationType SQLColumnNameStyle SQLColumnSchema SQLConnection SQLError SQLErrorEvent SQLErrorOperation SQLEvent

Package ActionScript 3.0 flash.display flash.display flash.display flash.display flash.net flash.net flash.desktop flash.events flash.printing flash.printing flash.printing flash.net.dns flash.security flash.net.dns flash.security flash.display flash.events flash.net air.net flash.net flash.events air.net flash.security flash.security air.net flash.text flash.data flash.data flash.data flash.data flash.errors flash.events flash.errors flash.events

Ajoute la version AIR 3.0 1.0 1.0 1.0 2.0 2.0 1.0 1.0 2.0 2.0 2.0 2.0 1.0 2.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 1.0 1.0 1.0 1.0 3.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Utilisation des API AIR

11

Classe SQLIndexSchema SQLMode SQLResult SQLSchema SQLSchemaResult SQLStatement SQLTableSchema SQLTransactionLockType SQLTriggerSchema SQLUpdateEvent SQLViewSchema SRVRecord StageAspectRatio StageOrientation StageOrientationEvent StageText StageTextInitOptions StageWebView StatusFileUpdateErrorEvent StatusFileUpdateEvent StatusUpdateErrorEvent StatusUpdateEvent StorageVolume StorageVolumeChangeEvent StorageVolumeInfo SystemIdleMode SystemTrayIcon TouchEventIntent UpdateEvent Updater URLFilePromise URLMonitor URLRequestDefaults XMLSignatureValidator

Package ActionScript 3.0 flash.data flash.data flash.data flash.data flash.data flash.data flash.data flash.data flash.data flash.events flash.data flash.net.dns flash.display flash.display flash.events flash.text flash.text flash.media air.update.events air.update.events air.update.events air.update.events flash.filesystem flash.events flash.filesystem flash.desktop flash.desktop flash.events air.update.events flash.desktop air.desktop air.net flash.net flash.security

Ajoute la version AIR 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 3.0 3.0 2.5 1.5 1.5 1.5 1.5 2.0 2.0 2.0 2.0 1.0 3.0 1.5 1.0 2.0 1.0 1.0 1.0

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Utilisation des API AIR

12

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
supportsFilePromise

flash.desktop

Clipboard ClipboardFormats

2.0 1.0 1.0 2.0 1.0 1.0 1.0 1.0 2.0 2.0 1.0 2.0 2.0 2.0 2.0 2.0 2.6 2.6 2.0 2.6 2.6 2.6

BITMAP_FORMAT FILE_LIST_FORMAT
FILE_PROMISE_LIST_FORMAT URL_FORMAT

flash.display

LoaderInfo

childSandboxBridge parentSandboxBridge

Stage

assignFocus() autoOrients deviceOrientation


nativeWindow

orientation Evnement orientationChange Evnement orientationChanging setAspectRatio


setOrientation

softKeyboardRect supportedOrientations supportsOrientationChange NativeWindow owner listOwnedWindows NativeWindowInitOptions owner

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Utilisation des API AIR

13

Package

Classe

Proprit, mthode ou vnement Ajoute la version AIR


CLOSING DISPLAYING PREPARING EXITING HTML_BOUNDS_CHANGE HTML_DOM_INITIALIZE HTML_RENDER LOCATION_CHANGE NETWORK_CHANGE STANDARD_ERROR_CLOSE STANDARD_INPUT_CLOSE STANDARD_OUTPUT_CLOSE USER_IDLE USER_PRESENT

flash.events

Event

1.0 1.0 2.6 1.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

HTTPStatusEvent

HTTP_RESPONSE_STATUS responseHeaders responseURL

KeyboardEvent

commandKey controlKey

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Utilisation des API AIR

14

Package

Classe

Proprit, mthode ou vnement Ajoute la version AIR


extension

flash.net

FileReference

1.0 1.0 1.0 1.0 1.5 1.5 1.0 1.0

Evnement httpResponseStatus
uploadUnencoded()

NetStream

Evnement drmAuthenticate Evnement onDRMContentData


preloadEmbeddedData() resetDRMVouchers() setDRMAuthenticationCredent ials()

URLRequest

authenticate cacheResponse followRedirects idleTimeout manageCookies useCache userAgent

1.0 1.0 1.0 2.0 1.0 1.0 1.0 1.0

URLStream

vnement httpResponseStatus

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Utilisation des API AIR

15

Package

Classe

Proprit, mthode ou vnement Ajoute la version AIR


active copies firstPage isColor jobName lastPage maxPixelsPerInch paperArea printableArea printer printers selectPaperSize() showPageSetupDialog() start2() supportsPageSetupDialog terminate()

flash.printing

PrintJob

2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 1.1 1.0 1.0 2.5

PrintJobOptions

pixelsPerInch printMethod

flash.system

Capabilities LoaderContext Security

languages allowLoadBytesCodeExecution APPLICATION

flash.ui

KeyLocation

D_PAD

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Utilisation des API AIR

16

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 24/6/2013

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 172)

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 172)

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 166.


Outil AIR Developer (ADT) Met en package des applications AIR sous la forme de packages dinstallation distribuables. Voir Outil AIR Developer (ADT) la page 172.

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


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

18

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 bin Description des fichiers/outils 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 166. 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 172. 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. Le rpertoire install contient les pilotes USB Windows associs aux priphriques Android. (Ces pilotes sont fournis par Google dans le kit SDK dAndroid.) Contient le code de prise en charge des outils du kit SDK dAIR.

install

lib

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


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

19

Dossier du kit SDK runtimes

Description des fichiers/outils 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. 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 213. Ce dossier contient galement les fichiers de schma associs la structure XML du fichier descripteur dapplication de chaque version dAIR.

templates

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


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

20

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 24/6/2013

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Cration dune premire application AIR

22

<?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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Cration dune premire application AIR

23

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Cration dune premire application AIR

24

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Cration dune premire application AIR

25

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Cration dune premire application AIR

26

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 197.

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Cration dune premire application AIR

27

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 184. 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Cration dune premire application AIR

28

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 import import import flash.display.Sprite; flash.text.TextField; flash.text.TextFormat; 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 315. 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Cration dune premire application AIR

29

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 91.

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Cration dune premire application AIR

30

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 provisioningprofile 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Cration dune premire application AIR

31

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Cration dune premire application AIR

32

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Cration dune premire application AIR

33

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Cration dune premire application AIR

34

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Cration dune premire application AIR

35

<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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Cration dune premire application AIR

36

<?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 213 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Cration dune premire application AIR

37

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 213.

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 autosign, 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Cration dune premire application AIR

38

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 197). 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Cration dune premire application AIR

39

<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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Cration dune premire application AIR

40

<?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 213 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Cration dune premire application AIR

41

<?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 162.

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 166.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Cration dune premire application AIR

42

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 autosign 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 197). 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. Tapez 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Cration dune premire application AIR

43

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Cration dune premire application AIR

44

<?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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Cration dune premire application AIR

45

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

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 104.

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 181). 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 97. 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Cration dune premire application AIR

46

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 112. 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 112. Vous pouvez lancer lapplication en touchant licne correspondante sur lcran du priphrique ou de lmulateur.

Dernire mise jour le 24/6/2013

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications de bureau AIR

48

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 213.

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications de bureau AIR

49

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 218

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 233 filename la page 229 name la page 241

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications de bureau AIR

50

Voir aussi
version la page 249 versionLabel la page 249 versionNumber la page 250

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications de bureau AIR

51

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 223 depthAndStencil la page 225 height la page 232 maximizable la page 239 maxSize la page 240 minimizable la page 240 minimizable la page 240 minSize la page 240 renderMode la page 243 requestedDisplayResolution la page 244 resizable la page 245 systemChrome la page 247 title la page 248 transparent la page 249 visible la page 250 width la page 251 x la page 251 y la page 251

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications de bureau AIR

52

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 224 fileTypes la page 230 installFolder la page 236 programMenuFolder la page 242

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 254.

Voir aussi
supportedProfiles la page 246

Extensions natives requises


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

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications de bureau AIR

53

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 232 imageNxN la page 233

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications de bureau AIR

54

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 292

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 166

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications de bureau AIR

55

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications de bureau AIR

56

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications de bureau AIR

57

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 180. 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 253 et supportedProfiles la page 246. 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 213. 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 METAINF/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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications de bureau AIR

58

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 172. 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 315.) 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications de bureau AIR

59

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 253 et supportedProfiles la page 246. 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 executable, 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications de bureau AIR

60

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 186). 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 172. 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications de bureau AIR

61

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 208. Pour plus dinformations sur les options dADT, voir Outil AIR Developer (ADT) la page 172. 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications de bureau AIR

62

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications de bureau AIR

63

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications de bureau AIR

64

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications de bureau AIR

65

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 267. 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications de bureau AIR

66

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 258

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications de bureau AIR

67

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 24/6/2013

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

69

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 195 Variables denvironnement path la page 315

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

70

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 ellemme 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

71

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

72

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 File.applicationDirectory Lecture seule via une URL (et non le chemin natif) Disponible Disponible Racine de la carte SD Racine de la carte SD Racine de la carte SD Disponible Disponible iOS Lecture seule

File.applicationStorageDirectory File.cacheDirectory File.desktopDirectory File.documentsDirectory File.userDirectory File.createTempDirectory() File.createTempFile()

Disponible Disponible Non disponible Disponible Non disponible 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

73

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. Gnrez les ID et fichiers de dveloppement requis sur le portail iOS Provisioning Portal dApple, savoir : Certificat de dveloppement ID dapplication

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

74

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

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

75

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 218

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

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

76

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 233 filename la page 229 name la page 241

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 249 versionLabel la page 249 versionNumber la page 250

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).
<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.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

77

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

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

78

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 221 autoOrients la page 222 depthAndStencil la page 225 fullScreen la page 231 renderMode la page 243

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 246 Profils de priphrique la page 253 Application de dbogage du lanceur AIR (ADL) la page 166

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 :
<extensions> <extensionID> com.example.extendedFeature</extensionID> <extensionID> com.example.anotherFeature</extensionID> </extensions>

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

79

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 245 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 ultrieure la version 9. Vous devez vous assurer que le fichier manifeste inclut <uses-sdk android:minSdkVersion="9"></uses-sdk>.

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 :

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

80

Elment manifest Il est impossible de dfinir les attributs suivants de llment manifest :

package android:versionCode android:versionName xmlns:android


Elment activity Il est impossible de dfinir les attributs suivants de llment activity principal :

android:label android:icon
Elment 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) :
<android> <manifestAdditions> <![CDATA[ <manifest> <uses-permission android:name="android.permission.PERMISSION_NAME" /> </manifest> ]]> </manifestAdditions> </android>

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

81

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 :
<android> <manifestAdditions> <![CDATA[ <manifest> <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission </manifest> ]]> </manifestAdditions> </android>

android:name="android.permission.ACCESS_COARSE_LOCATION" /> android:name="android.permission.ACCESS_FINE_LOCATION" /> android:name="android.permission.ACCESS_NETWORK_STATE" /> android:name="android.permission.ACCESS_WIFI_STATE" /> android:name="android.permission.CAMERA" /> android:name="android.permission.DISABLE_KEYGUARD" /> android:name="android.permission.INTERNET" /> android:name="android.permission.READ_PHONE_STATE" /> android:name="android.permission.RECORD_AUDIO" /> android:name="android.permission.WAKE_LOCK" /> android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

82

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.
<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)

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

83

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+)


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 :

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

84

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

Bouton de menu dans Android 3 Dans Android 3 (qui sexcute sur les tablettes), les applications doivent normalement fournir leur propre bouton pour ouvrir un menu doptions. Le kit SDK dAndroid dispose dsormais dun composant ActionBar qui affiche un bouton de menu. Le bouton de menu quaffiche le systme dexploitation dans la partie infrieure de lcran de la tablette (en regard des boutons Retour, Accueil et Apps rcentes) napparat plus dans les applications qui ciblent le kit SDK dAndroid niveau 11+.

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

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 :

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

85

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

AIR valide les lments et les attributs inclus dans la portion Android du fichier descripteur dapplication. Par dfaut, AIR effectue la validation au moyen du kit SDK dAndroid 2.3. Etant donn que lattribut android:hardwareAccelerated a t ajout dans Android 3.0, vous devez configurer loutil ADT dAIR de faon effectuer la validation au moyen du kit SDK dAndroid 3.0 (ou version ultrieure). Pour cela, tlchargez tout dabord le kit SDK dAndroid 3 : Android Developers: Installing the SDK . Lors de la mise en package, dfinissez loption -platformsdk sur le chemin contenant le kit SDK Android appropri (dfinissez le chemin sur le rpertoire contenant le dossier outils dAndroid). Exemple :
adt -package -target apk -storetype pkcs12 -keystore cert.p12 -storepass foo myApp.apk myApp-app.xml -platformsdk c:\androidSDK myApp.swf other.files

Vous pouvez galement dfinir la variable denvironnement AIR_ANDROID_SDK_HOME sur le chemin contenant le kit SDK dAndroid. Etant donn que Flash Builder et Flash Professional ne permettent pas dajouter dautres paramtres lors de la mise en package, la dfinition de cette variable denvironnement permet de recourir aux paramtres du kit SDK dAndroid qui ntaient pas disponibles lors de la publication du kit SDK dAIR que vous utilisez actuellement. Voir Variables denvironnement ADT la page 195.

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.

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.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

86

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 : vous ne pouvez pas utiliser renderMode=direct pour les applications qui sexcutent en arrire-plan. 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 :

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

87

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

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 :

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

88

CFBundleDisplayName CFBundleExecutable CFBundleIconFiles CFBundleIdentifier CFBundleInfoDictionaryVersion CFBundlePackageType CFBundleResourceSpecification CFBundleShortVersionString CFBundleSupportedPlatforms CFBundleVersion CTAutoOrients

CTInitialWindowTitle CTInitialWindowVisible CTIosSdkVersion CTMaxSWFMajorVersion DTPlatformName DTSDKName MinimumOSVersion (applicable dans AIR 3.3 et les versions ultrieures) NSMainNibFile UIInterfaceOrientation UIStatusBarHidden UISupportedInterfaceOrientations

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 231. 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

89

... <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 244 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.
<key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>example</string> </array> <key>CFBundleURLName</key> <string>com.example.app</string> </dict> </array>

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

90

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 wifi sms still-camera auto-focus-camera front-facing-camera camera-flash video-camera accelerometer location-services gps 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 :
<key>UIApplicationExitsOnSuspend</key> <true/>

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

91

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.

Icnes dune application


Le tableau suivant indique les tailles dicnes utilises sur chaque plate-forme mobile :
Taille dicne 29x29 36x36 48x48 Plate-forme iOS Android Android, iOS

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

92

Taille dicne 50x50 57x57 58x58 72x72 96x96 100x100 114x114 144x144 512 x 512 1 024 x 1024

Plate-forme iOS iOS iOS Android, iOS Android iOS iOS iOS iOS iOS

Spcifiez le chemin daccs aux fichiers dicne dans llment icon du fichier descripteur de lapplication :
<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 et 96x96 pixels. Ces tailles dicne correspondent respectivement aux crans de faible densit, densit moyenne et densit leve. 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 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 72 par 72 pixels (facultatif) : icne de lapplication pour les iPad de faible 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 144 par 144 pixels : icne de lapplication pour les iPad munis dun cran Retina.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

93

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.
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 232 imageNxN la page 233 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.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

94

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

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

95

Nom du fichier Default.png Default@2x.png Default-568h@2x.png

Taille de limage 320 x 480 640x 960 640 x 1 136

Utilisation iPhone, rsolution standard iPhone, rsolution leve iPhone, haute rsolution, format dimage 16:9 iPad, orientation portrait

Default-Portrait.png

768 x 1 004 (AIR 3.3 et 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 versions antrieures) 1 536 x 2 048 (AIR 3.4 et versions ultrieures)

iPad, haute rsolution, orientation portrait

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) 1 536 x 2 008 (AIR 3.3 et versions antrieures) 1 536 x 2 048 (AIR 3.4 et versions ultrieures) 1 024 x 768 2 048 x 1 536 iPad, haute rsolution, orientation portrait lenvers

Default-PortraitUpsideDown@2x.png

Default-Landscape.png Default-LandscapeLeft@2x.png

iPad, orientation paysage gauche iPad, haute rsolution, orientation paysage vers la gauche iPad, orientation paysage droite iPad, haute rsolution, orientation paysage vers la droite example:// URL sur un iPhone standard example:// URL sur un iPhone rsolution leve example:// URL sur un iPad (orientations portrait) example:// URL sur un iPad (orientations paysage)

Default-LandscapeRight.png Default-LandscapeRight@2x.png

1 024 x 768 2 048 x 1 536

Default-example.png Default-example@2x.png

320 x 480 640x 960

Default-example~ipad.png

768 x 1 004

Default-example-Landscape.png

1 024 x 768

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)

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

96

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 maximizable maxSize minimizable minSize programMenuFolder resizable systemChrome title transparent visible width x y

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

97

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 173. (AIR 3.7 et versions ultrieures) Par dfaut, loutil ADT cre un package de la copie du moteur dexcution AIR et de votre application Android, et votre application utilise exclusivement cette version captive dAIR. Lutilisateur na pas besoin dinstaller un autre moteur dexcution AIR. Remarque : Pour forcer loutil ADT crer un package APK qui utilise un moteur dexcution externe, dfinissez la variable denvironnement AIR_ANDROID_SHARED_RUNTIME sur true. 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 172.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

98

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 315.) 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 : (AIR 3.7 et versions ultrieures) Par dfaut, loutil ADT cre un package dune copie captive du moteur dexcution AIR et de votre application Android. Pour forcer loutil ADT crer un package APK qui utilise un moteur dexcution externe, dfinissez la variable denvironnement AIR_ANDROID_SHARED_RUNTIME sur true. Lorsque vous intgrez le moteur dexcution votre application, ce moteur dexcution captif est utilis exclusivement par votre application. La mise en package avec un moteur dexcution captif prsente les avantages suivants :

Cration dune application autonome Indpendance de lapplication par rapport aux mises jour du moteur dexcution Possibilit aux entreprises de certifier lapplication spcifique et lassociation de moteurs dexcution Nul besoin de tlcharger ni dinstaller sparment le moteur dexcution
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. 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

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

99

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 qui ne sont pas automatiquement rendus 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 :
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 190 pour obtenir une description complte des indicateurs -connect et -listen. 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 :

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

100

adt -package -target apk-emulator -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myAppapp.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 315.) 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.

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

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

101

-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 109. 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-debuginterpreter-simulator pour excuter lapplication dans le simulateur iOS.

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

-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 206. 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.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

102

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 ipadebug-interpreter-simulator pour excuter lapplication dans le simulateur iOS 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 315.) 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 107. 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 315.) 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.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

103

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.
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 315.) 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, ipadebug, 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.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

104

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.

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 :

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

105

adl -screensize 480x816:480x854 myApp-app.xml

Pour consulter la liste des types dcran prdfinis, voir Utilisation de lapplication ADL la page 166. Restrictions Lapplication ADL ne peut pas simuler certaines API qui ne sont pas prises en charge par le profil de bureau, savoir :

Accelerometer 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 autosign. 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 :

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

106

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

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

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

107

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 315

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-debuginterpreter-simulator.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

108

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.

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

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

109

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 :


(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

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

110

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

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#

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

111

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-debuginterpreter), 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) : ./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.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

112

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.

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.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

113

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. 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 184 Commande ADT installApp la page 181

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

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

114

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

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

115

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.) 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.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

116

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.

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

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

117

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 ; 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();

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

118

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); 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;

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

119

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 = " "; } // 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");

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

120

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) :
<iphone> ... <Entitlements> <![CDATA[ <key>aps-environment</key> <string>development</string> ]]> </Entitlements> </iphone>

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

121

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

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

122

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.

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 :

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

123

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. 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).

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques mobiles

124

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 24/6/2013

125

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 253. 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 147.

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 127.

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

126

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

127

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 155. 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 : Rsolution : Cadence : Codec audio : encodage progressif, H.264 ou faisant appel au profil Principal ou Haut 720i, 720p, 1 080i ou 1 080p 24 images par seconde ou 30 images par seconde 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

128

Vitesse de transmission combine : Vitesse de transmission audio :

jusqu 8 Mbits/s selon la bande passante disponible

jusqu 192 Kbits/s

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

129

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

130

Codec audio

Disponibilit Dcodage sur le matriel priphriqu e AIR pour TV Toujours Toujours

Utilisation du codec audio

Informations complmentaires

AAC

Dans les vidos H.264 Pour la diffusion en continu de laudio, tel quun service de diffusion en continu de musique sur Internet

Lors de lutilisation dun flux AAC audio uniquement, encapsulez le flux dans un conteneur MP4.

MP3

Toujours

Non

Pour le son dans les fichiers SWF de lapplication Dans les vidos codes avec Sorenson Spark ou On2 VP6.

Une vido H.264 dont le son est au format mp3 nest pas reproduite sur les priphriques AIR pour TV.

AC-3 (Dolby Digital) E-AC-3 (Enhanced Dolby Digital) DTS Digital Surround DTS Express DTS-HD High Resolution Audio DTS-HD Master Audio Speex

Vrifier

Oui

Dans les vidos H.264

En gnral, AIR pour TV transmet un flux audio multicanaux un rcepteur audio/vido externe qui dcode et lit le son.

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

NellyMoser

Toujours

Non

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

131

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

132

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

133

Etat 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 dcran 540p 720p 1 080p
Capabilities.screenResolutionX Capabilities.screenResolutionY

960 1 280 1 920

540 720 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

134

1920 1632

Zone de visualisation efficace

918

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 dcran Largeur et hauteur de la zone de visualisation efficace 816 x 460 1 088x 612 1 632 x 918 Largeur de lcart gauche et droit Hauteur de lcart suprieur et infrieur

960 x 540 1 280 x 720 1 920 x 1 080

72 96 144

40 54 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

135

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. Etat 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

136

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

137

Touche du pav directionnel dune tlcommande Haut Bas Gauche Droite OK ou Slectionner

Constante ActionScript 3.0

Keyboard.UP Keyboard.DOWN Keyboard.LEFT Keyboard.RIGHT 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 plateforme 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

138

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

139

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 136. 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

140

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 police
_sans

Description

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

_serif

_typewriter

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 sans serif sans sans serif serif ja ja ko zh_CN zh_CN zh_TW et zh_HK

RyoGothicPlusN-Regular RyoTextPlusN-Regular AdobeGothicStd-Light AdobeHeitiStd-Regular AdobeSongStd-Light AdobeMingStd-Light

japonais japonais coren chinois simplifi chinois simplifi chinois traditionnel

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

141

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 130.

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

142

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 141.

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

143

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 253.

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

144

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

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 157. 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 149.

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 150

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 253. 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

145

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 153.

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 157. 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 149.

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 150

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

146

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>

Elment 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

147

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 254.

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

148

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

149

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 172. 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 315.)

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 315.)

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

150

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 vousmme 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

151

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 166. 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 315.)

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

152

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

153

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dveloppement dapplications AIR pour priphriques TV

154

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 24/6/2013

155

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Utilisation dextensions natives pour Adobe AIR

156

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Utilisation dextensions natives pour Adobe AIR

157

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Utilisation dextensions natives pour Adobe AIR

158

<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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Utilisation dextensions natives pour Adobe AIR

159

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Utilisation dextensions natives pour Adobe AIR

160

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 Priphriques de bureau Mac OS X ou Windows -target -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 189.

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 24/6/2013

161

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Compilateurs ActionScript

162

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Compilateurs ActionScript

163

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Compilateurs ActionScript

164

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Compilateurs ActionScript

165

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 24/6/2013

166

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 celuici 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Application de dbogage du lanceur AIR (ADL)

167

-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 246 et Profils de priphrique la page 253. -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 720 x 480 1 280 x 720 1 920 x 1 080 480 x 854

480 720 1 080 Droid

720 x 480 1 280 x 720 1 920 x 1 080 480 x 816

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Application de dbogage du lanceur AIR (ADL)

168

Type dcran

Largeur x hauteur standard

Largeur x hauteur standard en plein cran 240 x 432 480 x 854 320 x 480 768 x 1 024 1 536 x 2 048 320 x 480 640 x 960 640 x 1 136 320 x 480 640 x 960 640 x 1 136 480 x 800 240 x 320 480 x 800 600 x 1 024 240 x 400 480 x 800

FWQVGA FWVGA HVGA iPad iPadRetina iPhone iPhoneRetina iPhone5Retina iPod iPodRetina iPod5Retina NexusOne QVGA SamsungGalaxyS SamsungGalaxyTab WQVGA WVGA

240 x 432 480 x 854 320 x 480 768 x 1 004 1 536 x 2 008 320 x 460 640 x 920 640 x 1 096 320 x 460 640 x 920 640 x 1 096 480 x 762 240 x 320 480 x 762 600 x 986 240 x 400 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 sousrpertoires contient le fichier ANE extrait du package dune extension. Exemple :

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Application de dbogage du lanceur AIR (ADL)

169

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 195. application.xml Fichier descripteur dapplication. Voir Fichiers descripteurs dapplications AIR la page 213. 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Application de dbogage du lanceur AIR (ADL)

170

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 <property <property <property name="SDK_HOME" value="C:/AIRSDK"/> name="ADL" value="${SDK_HOME}/bin/adl.exe"/> name="APP_ROOT" value="c:/dev/MyApp/bin-debug"/> 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 sortie 0 1 2 3 4 Description

Lancement russi. ADL se ferme aprs la fermeture de lapplication AIR. Appel russi dune application AIR dj excute. Fermeture immdiate dADL. Erreur dutilisation. Les arguments transmis ADL sont incorrects. Moteur dexcution introuvable. Impossible de dmarrer le moteur dexcution. En gnral, cela se produit car la version spcifie dans lapplication ne correspond pas celle du moteur dexcution. Une erreur dorigine inconnue sest produite. Fichier descripteur dapplication introuvable. Le contenu du descripteur de lapplication est incorrect. Cette erreur indique gnralement que le fichier XML nest pas bien constitu.

5 6 7

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Application de dbogage du lanceur AIR (ADL)

171

Code de sortie 8

Description

Le fichier de contenu principal de lapplication (spcifi dans llment <content> du fichier descripteur dapplication) est introuvable. Le fichier du contenu principal de lapplication nest pas un fichier SWF ou HTML valide. Lapplication ne prend pas en charge le profil spcifi par le biais de loption -profile. Largument -screensize nest pas pris en charge dans le profil actuel.

9 10 11

Dernire mise jour le 24/6/2013

172

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 315.) 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Outil AIR Developer (ADT)

173

-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 186 Options associes aux fichiers et chemins la page 189 Options de connexion au dbogueur la page 190 Options dextension native la page 190

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Outil AIR Developer (ADT)

174

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 186. -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 186. 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 208.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Outil AIR Developer (ADT)

175

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Outil AIR Developer (ADT)

176

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. 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 190. -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 186. 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. 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.)

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Outil AIR Developer (ADT)

177

-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. 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 189. 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 190.

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 .

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

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Outil AIR Developer (ADT)

178

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 :


/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

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Outil AIR Developer (ADT)

179

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>

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 189.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Outil AIR Developer (ADT)

180

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 186. 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 208. 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 186. 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 173 avec lindicateur -migrate.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Outil AIR Developer (ADT)

181

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 186.

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 le certificat, soit 1024-RSA, soit 2048-RSA.

output Chemin et nom du fichier de certificat gnrer. 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.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Outil AIR Developer (ADT)

182

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

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Outil AIR Developer (ADT)

183

-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. -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.)

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Outil AIR Developer (ADT)

184

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. 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).

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Outil AIR Developer (ADT)

185

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). 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

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Outil AIR Developer (ADT)

186

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

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Outil AIR Developer (ADT)

187

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 :
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 JKS PKCS12 PKCS11 KeychainStore Windows-MY ou Windows-ROOT Format du keystore Version Java minimale

Fichier keystore Java (.keystore) 1.2 Fichier PKCS12 (.p12 ou .pfx) Jeton matriel Chane de cl Mac OS X MSCAPI 1.4 1.5 1.5 1.6

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Outil AIR Developer (ADT)

188

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

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Outil AIR Developer (ADT)

189

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

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Outil AIR Developer (ADT)

190

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. 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 109.

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.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Outil AIR Developer (ADT)

191

-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 189. (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. Erreurs de validation du fichier descripteur dapplication
Code derreur 100 Description Remarques

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. Espace de nom manquant Espace de nom non valide Elment ou attribut inattendu Ajoutez lespace de nom ncessaire. Vrifiez lorthographe de lespace de nom. 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.

101 102 103

104 105

Elment ou attribut manquant Llment ou lattribut contient une valeur non valide. Combinaison dattributs de fentre non valide

Ajoutez llment ou lattribut requis. Corrigez la valeur fautive.

106

Certains paramtres de fentre, tels que transparency = true et systemChrome = standard ne peuvent pas tre utiliss simultanment. Modifiez lun des paramtres incompatibles. Modifiez lun des paramtres de taille.

107

La taille minimale de la fentre est suprieure sa taille maximale.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Outil AIR Developer (ADT)

192

Code derreur 108

Description Attribut dj utilis dans un lment prcdent Doublon Un lment au moins du type spcifi est obligatoire. Aucun des profils stipuls dans le fichier descripteur de lapplication ne prend en charge les extensions natives. La cible AIR ne prend pas en charge les extensions natives. <nativeLibrary> et <initializer> doivent tre spcifis conjointement.

Remarques

109 110

Supprimez le doublon. Ajoutez llment requis.

111

Ajoutez un profil la liste supportedProfies qui prend en charge les extensions natives.

112

Slectionnez une cible qui prend en charge les extensions natives. Vous devez spcifier une fonction dinitialisation pour chaque bibliothque native de lextension native. Ne spcifiez pas dlment finalizer, sauf si la plate-forme utilise une bibliothque native. Ne spcifiez pas de bibliothque native dans llment de plate-forme par dfaut. Il est impossible de dfinir llment <allowBrowserInvocation> sur true pour la cible de mise en package spcifie. Modifiez lespace de noms AIR dans le descripteur de lapplication en dfinissant une valeur prise en charge.

113

114

<finalizer> dtect sans <nativeLibrary>.

115

La plate-forme par dfaut ne doit pas contenir dimplmentation native. Linvocation du navigateur nest pas prise en charge pour cette cible.

116

117

Cette cible requiert au moins n espaces de noms pour mettre en package les extensions natives.

Pour plus dinformations sur les espaces de noms, les lments, les attributs et leurs valeurs valides, voir Fichiers descripteurs dapplications AIR la page 213. Erreurs des icnes dapplication
Code derreur 200 Description Le fichier dicne ne peut pas tre ouvert. Remarques 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 dimage non pris en charge. Seul le format PNG est pris en charge. Convertissez les images en un autre format avant de mettre votre application en package.

Erreurs du fichier dapplication

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Outil AIR Developer (ADT)

193

Code derreur 300

Description

Remarques

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. Le fichier descripteur dapplication est manquant ou ne peut pas tre ouvert. Le fichier descripteur dapplication est introuvable lemplacement spcifi ou ne peut pas tre ouvert. Le fichier SWF ou HTML rfrenc dans 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.

301

302

Le fichier de contenu racine nest pas dans le package.

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. Le contenu initial de la fentre nest pas valide. Le fichier rfrenc dans llment <content> du descripteur dapplication nest pas reconnu comme un fichier HTML ou SWF valide. La version SWF du fichier rfrenc dans llment <content> du descripteur 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. Le profil que vous spcifiez dans le fichier descripteur dapplication nest pas pris en charge. Voir supportedProfiles la page 246. Utilisez lespace de noms adapt aux fonctionnalits de lapplication (tel que lespace de noms 2.0).

304

305

La version SWF du contenu initial de la fentre dpasse la version de lespace de nom.

306

Profil non pris en charge

307

Lespace de noms doit correspondre au moins nnn.

Codes de sortie des autres erreurs

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Outil AIR Developer (ADT)

194

Code de sortie 2

Description Erreur dutilisation

Remarques Vrifiez si les arguments de ligne de commande contiennent des erreurs. 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. Assurez-vous que le rpertoire de sortie spcifi (ou implicite) soit accessible et que le lecteur qui lhberge dispose de suffisamment despace disque. 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.

Erreur inconnue

Impossible dcrire dans le rpertoire de sortie

Impossible daccder au certificat

Certificat non valide

Le fichier du certificat na pas t cr correctement, a t modifi, est arriv expiration ou a t rvoqu. Vrifiez les options de signature transmises ADT. 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. Vrifiez les arguments de ligne de commande utiliss pour la cration des signatures. Vrifiez les chemins de fichier et les autres arguments transmis ADT sur la ligne de commande. Vrifiez la configuration du kit SDK du priphrique. Loutil ADT ne trouve pas le kit SDK du priphrique requis pour excuter la commande spcifie. 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.

Impossible de signer un fichier AIR

10

Impossible de crer lhorodatage

11

Erreur de cration de certificat

12

Entre non valide

13

Kit SDK de priphrique introuvable

14

Erreur de priphrique

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Outil AIR Developer (ADT)

195

Code de sortie 15

Description Pas de priphrique

Remarques Vrifiez quun priphrique est connect et sous tension ou quun mulateur est en cours dexcution. Le kit SDK dAIR actif ne contient pas tous les composants requis pour excuter lopration. Le package na pas pu tre cr, car les composants attendus du systme dexploitation sont manquants.

16

Composants GPL introuvables

17

Echec de loutil de mise en package du priphrique.

Erreurs Android
Code de sortie Description 400 La version actuelle du kit SDK dAndroid ne prend pas en charge lattribut. Remarques Vrifiez lorthographe du nom de 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. Vrifiez lorthographe de la valeur de lattribut et assurez-vous que celle-ci est 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. Vrifiez lorthographe du nom de la balise 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. Lapplication tente de remplacer un lment de manifeste Android dont lutilisation est rserve AIR. Voir Paramtres Android la page 79. Lapplication tente de remplacer un attribut de manifeste Android dont lutilisation est rserve AIR. Voir Paramtres Android la page 79.

401

La version actuelle du kit SDK dAndroid ne prend pas en charge la valeur de lattribut.

402

La version actuelle du kit SDK dAndroid ne prend pas en charge la balise XML.

403

Il est interdit de remplacer une balise Android

404

Il est interdit de remplacer un attribut Android

405

La balise Android %1 doit tre le premier Dplacez la balise spcifie lment dans la balise manifestAdditions. lemplacement requis. Lattribut %1 de la balise Android %2 possde la valeur non valide %3. Fournissez une valeur valide pour lattribut.

406

Variables denvironnement ADT


Le cas chant, loutil ADT lit la valeur des variables denvironnement suivantes :

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Outil AIR Developer (ADT)

196

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. 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 24/6/2013

197

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Signature dapplications AIR

198

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Signature dapplications AIR

199

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 METAINF/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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Signature dapplications AIR

200

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 172. 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Signature dapplications AIR

201

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. invit prciser votre mot de passe pour le dispositif logiciel de scurit. (Ce mot de passe nest utilis que par Firefox.)

g Si vous utilisez la fonction de mot de passe principal de Firefox et que vous voulez exporter le fichier, vous tes

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Signature dapplications AIR

202

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 pour 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Signature dapplications AIR

203

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 180, comme le dcrit la section Signature dune version mise jour dune application AIR la page 208. 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 173 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Signature dapplications AIR

204

Terme Autorit de certification

Description 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. Prsente les diffrentes pratiques et stratgies de lautorit de certification dans lmission et la 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 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. Une chane de certificats est une squence de certificats dans laquelle chaque certificat prsent a t sign par le certificat qui lui succde. 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. 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. Base de donnes contenant des certificats numriques et, dans certains cas, les cls prives associes. Architecture extensible propre la gestion et laccs des magasins de cls. Pour plus dinformations, voir le Guide de rfrence de larchitecture JCA. Norme de chiffrement dinterface pour jeton labore par RSA Laboratories. Un magasin de cls sur jeton (priphrique de scurit) matriel. 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. 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. Systme de chiffrement asymtrique de la moiti publique de la cl deux composants publicpriv. La cl publique est disponible sans rserve : elle sert dchiffrer des messages chiffrs laide de la cl prive.

Dclaration des pratiques de certification (Dclaration CPS)

Liste de rvocation de certificats

Chane de certificats

Certificat numrique

Signature numrique

Magasin de cls

architecture de chiffrement Java (architecture JCA) PKCS #11

PKCS #12

Cl prive

Cl publique

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Signature dapplications AIR

205

Terme Infrastructure de cl publique (PKI)

Description 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). 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. 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.

Horodatage

Autorit dhorodatage

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 206.

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Signature dapplications AIR

206

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 "/emailAddress=yourAddress@example.com, CN=John Doe, C=US" -subj

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 Echange 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Signature dapplications AIR

207

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 179.) 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 179.) 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 186. 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 180.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Signature dapplications AIR

208

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 269. Le tableau et la figure qui suivent rsument le flux de travail associ aux signatures de migration :

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Signature dapplications AIR

209

Scnario

Etat du certificat dorigine Valide

Action du dveloppeur

Action de lutilisateur

Application base sur le moteur dexcution dAdobe AIR 1.5.3 ou ultrieur

Publiez la version la plus rcente de lapplication AIR.

Aucune action requise Lapplication est automatiquement mise niveau. Aucune action requise Lapplication est automatiquement mise niveau. Dsinstallez la version actuelle de lapplication AIR et installez la version la plus rcente.

Arriv expiration, mais Signez lapplication laide du nouveau le dlai de 365 jours certificat. Appliquez une signature de nest pas dpass migration en utilisant le certificat expir. Arriv expiration et dlai dpass Il est impossible dappliquer la signature de migration la mise jour de lapplication AIR. 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.

Application base sur le moteur dexcution dAdobe AIR 1.5.2 ou antrieur Lidentifiant dditeur figurant dans le descripteur dapplication de la mise jour correspond celui de la version prcdente Application base sur le moteur 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

Valide

Publiez la version la plus rcente de lapplication AIR.

Aucune action requise Lapplication est automatiquement mise niveau. Dsinstallez la version actuelle de lapplication AIR et installez la version la plus rcente.

Arriv expiration et dlai dpass

Il est impossible dappliquer la signature de migration la mise jour de lapplication AIR. 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.

Tous les tats

Signez lapplication AIR laide dun certificat valide et publiez la version la plus rcente de lapplication AIR

Dsinstallez la version actuelle de lapplication AIR et installez la version la plus rcente.

Flux de travail de signature associ aux mises jour

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Signature dapplications AIR

210

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 pour 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 186.

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 :
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 210).

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Signature dapplications AIR

211

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

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 186.

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 173. 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.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Signature dapplications AIR

212

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 :
-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 24/6/2013

213

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

214

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


Elments 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


Elments ajouts :

aspectRatio autoOrients fullScreen image29x29 (voir imageNxN) image57x57 image72x72 image512x512 iPhone renderMode supportedProfiles

Modifications apportes au fichier descripteur dans AIR 2.5


Elment supprim : version Elments ajouts :

android extensionID extensions image36x36 (voir imageNxN) manifestAdditions versionLabel versionNumber

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

215

Modifications apportes au fichier descripteur dans AIR 2.6


Elments ajouts :

image114x114 (voir imageNxN) requestedDisplayResolution softKeyboardBehavior

Modifications apportes au fichier descripteur dans AIR 3.0


Elments 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


Elments ajouts :

Entitlements la page 226

Modifications apportes au fichier descripteur dans AIR 3.2


Elments ajouts :

depthAndStencil supportedLanguages

Modifications apportes au fichier descripteur dans AIR 3.3


Elments ajouts :

aspectRatio inclut dsormais loption ANY.

Modifications apportes au fichier descripteur dans AIR 3.4


Elments ajouts :

image50x50 (voir imageNxN la page 233) image58x58 (voir imageNxN la page 233) image100x100 (voir imageNxN la page 233) image1024x1024 (voir imageNxN la page 233)

Modifications apportes au fichier descripteur dans AIR 3.6


Elments ajouts :

requestedDisplayResolution la page 244 dans llment iPhone la page 237 inclut dsormais un attribut
excludeDevices, vous permettant de spcifier si les cibles iOS utilisent une rsolution leve ou standard.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

216

Le nouvel lment requestedDisplayResolution la page 244 dans initialWindow la page 235 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


Ajouts :

Llment iPhone la page 237 propose maintenant un lment externalSwfs la page 228, qui permet dindiquer une liste de fichiers SWF charger lexcution. page 231, qui permet de forcer le mode de rendu UC pour un ensemble de priphriques spcifi.

Llment iPhone la page 237 propose maintenant un lment forceCPURenderModeForDevices la

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

217

<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 246>...</ supportedLanguages la page 246> <supportedProfiles>...</supportedProfiles> <versionNumber>...</versionNumber> <versionLabel>...</versionLabel> </application>

Elments 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 265.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

218

Elment parent : application la page 218 Elments enfants : aucun Contenu true ou false (valeur par dfaut) Exemple
<allowBrowserInvocation>true </allowBrowserInvocation>

android
Adobe AIR 2.5 et ultrieur : 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. Elment parent : application la page 218 Elments enfants :

colorDepth la page 222 manifestAdditions la page 238


Contenu Elments 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 Elment racine dun document descripteur dapplication AIR. Elment parent : aucun Elments enfants :

allowBrowserInvocation la page 217 android la page 218

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

219

copyright la page 224 customUpdateUI la page 224 description la page 225 extensions la page 228 filename la page 229 fileTypes la page 230 icon la page 232 id la page 233 initialWindow la page 235 installFolder la page 236 iPhone la page 237 name la page 241 programMenuFolder la page 242 publisherID la page 243 supportedLanguages la page 246 supportedProfiles la page 246 version la page 249 versionLabel la page 249 versionNumber la page 250
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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

220

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 Contenu initial, application de type SWF Contenu initial, application de type HTML SWF charg par le contenu SWF Bibliothque SWF charge par le contenu HTML via la balise <script> Mthode de dtermination de la version de lAPI Version SWF du fichier loaded Espace de nom du descripteur dapplication Version du contenu loading Espace de nom du descripteur dapplication

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 <object> ou <embed> (ou les API JavaScript quivalentes) Version SWF du fichier loaded

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

221

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

222

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. Elment parent : initialWindow la page 235 Elments 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. Elment parent : initialWindow la page 235 Elments enfants : aucun Contenu
true ou false (valeur par dfaut)

Exemple
<autoOrients>true </autoOrients>

colorDepth
Adobe AIR 3 et ultrieur : 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

223

Remarque : si votre application utilise la classe StageVideo, vous devez utiliser la couleur 32 bits. Elment parent : android la page 218 Elments enfants : aucun Contenu Utilisez lune des valeurs suivantes :

16 bits 32 bits
Exemple
<android> <colorDepth>16bit</colorDepth> <manifestAdditions>...</manifestAdditions> </android>

content
Adobe AIR 1.0 et ultrieur : 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.) Elment parent : initialWindow la page 235 Elments enfants : aucun 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 ultrieur : 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.

Elment parent : fileType la page 229 Elments enfants : aucun

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

224

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 ultrieur : 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. Elment parent : application la page 218 Elments enfants : aucun Contenu Chane contenant les informations de copyright de lapplication. Exemple
<copyright> 2010, Examples, Inc.All rights reserved. </copyright>

customUpdateUI
Adobe AIR 1.0 et ultrieur : 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 doubleclique 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 267. Elment parent : application la page 218 Elments enfants : aucun

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

225

Contenu true ou false (valeur par dfaut) Exemple


<customUpdateUI> true</customUpdateUI>

depthAndStencil
Adobe AIR 3.2 et ultrieur : 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.

Elment parent : initialWindow la page 235 Elments enfants : aucun Contenu


true ou false (valeur par dfaut)

Exemple
<depthAndStencil> true</depthAndStencil>

description
Adobe AIR 1.0 et ultrieur : 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.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

226

Pour plus dinformations sur le dveloppement dapplications multilingues, voir Localisation dapplications AIR la page 303. Elment parent : application la page 218 Elments enfants : text la page 248 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>

description
Adobe AIR 1.0 et ultrieur : 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 225 en tant quenfant de llment application Elment parent : fileType la page 229 Elments enfants : aucun Contenu Chane qui dcrit le contenu du fichier. Exemple
<description> PNG image</description>

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.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

227

Elment parent : iPhone la page 237 Elments enfants : lments Entitlements.plist iOS 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 ultrieur : obligatoire Chane correspondant lextension dun type de fichier. Elment parent : fileType la page 229 Elments 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. Elment parent : extensions la page 228 Elments enfants : aucun Contenu Chane identifiant lID de lextension ActionScript. Exemple
<extensionID> com.example.extendedFeature</extensionID>

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

228

extensions
Adobe AIR 2.5 et versions ultrieures : facultatif Identifie les extensions ActionScript utilises par une application. Elment parent : application la page 218 Elments enfants : extensionID la page 227 Contenu Elments 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 ultrieur, 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. Elment parent : iPhone la page 237, initialWindow la page 235 Elments 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

229

filename
Adobe AIR 1.0 et ultrieur : 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. Elment parent : application la page 218 Elments 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 divers * " : > < ? \ | Code hexadcimal 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 ultrieur : facultatif Dcrit un type de fichier unique auquel peut tre associe lapplication. Elment parent : fileTypes la page 230 Elments enfants :

contentType la page 223 description la page 226 extension la page 227 icon la page 232 name la page 242

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

230

Contenu Elments 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 ultrieur : 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. Elment parent : application la page 218 Elments enfants : fileType la page 229 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

231

forceCPURenderModeForDevices
Adobe AIR 3.7 et ultrieur, 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 :
iPad1,1 iPad2,1 iPad2,2 iPad2,3 iPad2,4 iPad2,5 iPad3,1 iPad3,2 iPad3,3 iPad3,4 iPhone1,1 iPhone1,2 iPhone2,1 iPhone3.1 iPhone3,2 iPhone4,1 iPhone5,1 iPod1,1 iPod2,1 iPod3,3 iPod4,1 iPod 5,1

Elment parent : iPhone la page 237, initialWindow la page 235 Elments 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.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

232

Elment parent : initialWindow la page 235 Elments enfants : aucun Contenu true ou false (valeur par dfaut) Exemple
<fullscreen>true </fullscreen>

height
Adobe AIR 1.0 et ultrieur : 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. Elment parent : initialWindow la page 235 Elments enfants : aucun Contenu Entier positif dont la valeur ne doit pas dpasser 4 095. Exemple
<height>4095 </height>

icon
Adobe AIR 1.0 et ultrieur : 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. Elment parent : application la page 218 Elments enfants : imageNxN la page 233

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

233

Contenu Elment 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>

id
Adobe AIR 1.0 et ultrieur : obligatoire Chane didentifiant de lapplication, appele ID dapplication. Un identifiant de type DNS inverse est souvent utilis, mais ce type nest pas obligatoire. Elment parent : application la page 218 Elments 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 ultrieur : 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+)

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

234

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+) 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. Elment parent : application la page 218 Elments 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 divers * " : > < ? \ | Code hexadcimal 0x00 x1F x2A x22 x3A x3C x3E x3F x5C x7C

Exemple
<image32x32>icons/icon32.png</image32x32>

InfoAdditions
Adobe AIR 1.0 et ultrieur : facultatif Permet de spcifier des proprits supplmentaires dune application iOS. Elment parent : iPhone la page 237 Elments enfants : lments Info.plist iOS

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

235

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). Exemple
<InfoAdditions> <![CDATA[ <key>UIStatusBarStyle</key> <string>UIStatusBarStyleBlackOpaque</string> <key>UIRequiresPersistentWiFi</key> <string>NO</string> ]]> </InfoAdditions>

Voir aussi
Paramtres iOS la page 85

initialWindow
Adobe AIR 1.0 et ultrieur : obligatoire Dfinit le principal fichier de contenu et laspect initial de lapplication. Elment parent : application la page 218 Elments 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 :
Elment Bureau Mobile utilis utilis utilis utilis

aspectRatio la page 221 ignor autoOrients la page 222 ignor content la page 223 depthAndStencil la page 225 fullScreen la page 231 height la page 232 maximizable la page 239 maxSize la page 240 minimizable la page 240 minSize la page 240 renderMode la page 243 utilis utilis

ignor utilis utilis

utilis ignor ignor

utilis utilis

ignor ignor

utilis utilis (AIR 3.0 et versions ultrieures)

ignor utilis

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

236

Elment

Bureau

Mobile ignor

requestedDisplayResolutio utilis (AIR 3.6 et ultrieur) n la page 244 resizable la page 245 softKeyboardBehavior la page 245 systemChrome la page 247 title la page 248 utilis ignor

ignor utilis

utilis

ignor

utilis

ignor ignor ignor ignor ignor ignor

transparent la page 249 utilis visible la page 250 width la page 251 x la page 251 y la page 251 utilis utilis utilis utilis

Contenu Elments 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 ultrieur : facultatif Identifie le sous-rpertoire du rpertoire dinstallation par dfaut.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

237

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. Elment parent : application la page 218 Elments 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. Elment parent : application la page 218 Elments enfants :

Entitlements la page 226 externalSwfs la page 228 forceCPURenderModeForDevices la page 231 InfoAdditions la page 234 requestedDisplayResolution la page 244

Voir aussi
Paramtres iOS la page 85

manifest
Adobe AIR 2.5 et ultrieur, Android uniquement : facultatif Spcifie les informations ajouter au fichier manifeste Android associ lapplication. Elment parent : manifestAdditions la page 238 Elments enfants : dfinis par le kit SDK dAndroid.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

238

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. 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 ultrieur, 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. Elment parent : android la page 218 Elments enfants : manifest la page 237 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 :

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

239

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 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 ultrieur : 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. Elment parent : initialWindow la page 235 Elments enfants : aucun

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

240

Contenu true (valeur par dfaut) ou false Exemple


<maximizable>false </maximizable>

maxSize
Adobe AIR 1.0 et ultrieur : facultatif Tailles maximales de la fentre. Si vous ne dfinissez pas de taille maximale, elle est dtermine par le systme dexploitation. Elment parent : initialWindow la page 235 Elments 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 ultrieur : facultatif Spcifie si la fentre peut tre rduite. Elment parent : initialWindow la page 235 Elments enfants : aucun Contenu
true (valeur par dfaut) ou false

Exemple
<minimizable>false</minimizable>

minSize
Adobe AIR 1.0 et ultrieur : facultatif Spcifie la taille minimale autorise de la fentre. Elment parent : initialWindow la page 235 Elments enfants : aucun

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

241

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>

name
Adobe AIR 1.0 et ultrieur : 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. Elment parent : application la page 218 Elments enfants : text la page 248 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 303.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

242

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> :
<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 ultrieur : obligatoire Identifie le nom dun type de fichier. Elment parent : fileType la page 229 Elments enfants : aucun Contenu Chane reprsentant le nom dun type de fichier. Exemple
<name>adobe.VideoFile</name>

programMenuFolder
Adobe AIR 1.0 et ultrieur : 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.) Elment parent : application la page 218 Elments 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>

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

243

publisherID
Adobe AIR 1.5.3 et ultrieur : facultatif Identifie lidentifiant dditeur requis pour mettre jour une application AIR initialement cre dans AIR 1.5.2 ou une version antrieure. 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 198. Elment parent : application la page 218 Elments enfants : aucun Contenu Chane didentifiant dditeur. Exemple
<publisherID>B146A943FBD637B68C334022D304CEA226D129B4.1</publisherID>

renderMode
Adobe AIR 2.0 et ultrieur : facultatif Indique si lacclration par unit de processeur graphique (GPU) est utilise, sous rserve dtre prise en charge par le priphrique actif. Elment parent : initialWindow la page 235 Elments 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.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

244

Exemple
<renderMode>direct</renderMode>

requestedDisplayResolution
Adobe AIR 2.6 et ultrieur, iOS uniquement ; Adobe AIR 3.6 et ultrieur, 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. Elment parent : iPhone la page 237, initialWindow la page 235 Elments 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 :

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

245

<initialWindow> <requestedDisplayResolution>high</requestedDisplayResolution> </initialWindow>

iOS :
<iPhone> <requestedDisplayResolution excludeDevices="iPad3 iPad4">high</requestedDisplayResolution> </iPhone>

resizable
Adobe AIR 1.0 et ultrieur : 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. Elment parent : initialWindow la page 235 Elments enfants : Contenu
true (valeur par dfaut) ou false

Exemple
<resizable>false</resizable>

softKeyboardBehavior
Adobe AIR 2.6 et ultrieur, 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. Elment parent : initialWindow la page 235 Elments enfants : aucun Contenu Soit none, soit pan. La valeur par dfaut est pan.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

246

Exemple
<softKeyboardBehavior>none</softKeyboardBehavior>

Voir aussi
SoftKeyboardEvent

supportedLanguages
Adobe AIR 3.2 et ultrieur : 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. Elment parent : application la page 218 Elments 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. 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 ultrieur : facultatif Identifie les profils pris en charge pour lapplication. Elment parent : application la page 218 Elments enfants : aucun

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

247

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 253 Profils pris en charge la page 78

systemChrome
Adobe AIR 1.0 et ultrieur : 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. Elment parent : initialWindow la page 235 Elments 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

248

Exemple
<systemChrome>standard</systemChrome>

text
Adobe AIR 1.1 et ultrieur : 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. Elments parents :

name la page 241 description la page 225


Elments 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 ultrieur : 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. Elment parent : initialWindow la page 235 Elments enfants : aucun Contenu Chane contenant le titre de la fentre.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

249

Exemple
<title>Example Window Title</title>

transparent
Adobe AIR 1.0 et ultrieur : 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. Elment parent : initialWindow la page 235 Elments 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 ultrieur 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. Elment parent : application la page 218 Elments enfants : aucun Contenu Chane contenant la version de lapplication. Exemple
<version>0.1 Alpha</version>

versionLabel
Adobe AIR 2.5 et ultrieur : 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

250

Elment parent : application la page 218 Elments enfants : aucun Contenu Chane contenant la version affiche publiquement. Exemple
<versionLabel>0.9 Beta</versionlabel>

versionNumber
Adobe AIR 2.5 et ultrieur : obligatoire Numro de version de lapplication. Elment parent : application la page 218 Elments 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 ultrieur : 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. Elment parent : initialWindow la page 235 Elments enfants : aucun Contenu
true ou false (valeur par dfaut)

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

251

Exemple
<visible>true</visible>

width
Adobe AIR 1.0 et ultrieur : 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. Elment parent : initialWindow la page 235 Elments enfants : aucun Contenu Entier positif dont la valeur ne doit pas dpasser 4 095. Exemple
<width>1024</width>

x
Adobe AIR 1.0 et ultrieur : 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). Elment parent : initialWindow la page 235 Elments enfants : aucun Contenu Valeur entire Exemple
<x>120</x>

y
Adobe AIR 1.0 et ultrieur : 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Fichiers descripteurs dapplications AIR

252

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). Elment parent : initialWindow la page 235 Elments enfants : aucun Contenu Valeur entire Exemple
<y>250</y>

Dernire mise jour le 24/6/2013

253

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Profils de priphrique

254

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Profils de priphrique

255

Classe ou fonctionnalit

desktop

extendedDeskt op Non Oui Oui

mobileDevice

Acclromtre (Accelerometer.isSupported) Non Accessibilit (Capabilities.hasAccessibility) Annulation de lcho acoustique (Microphone.getEnhancedMicrophone()) ActionScript 2 Matrice CacheAsBitmap Camra (Camera.isSupported) CameraRoll CameraUI (CameraUI.isSupported) Paquets de moteur dexcution ContextMenu (ContextMenu.isSupported) DatagramSocket (DatagramSocket.isSupported) DockIcon (NativeApplication.supportsDockIcon) Glisser-dposer (NativeDragManager.isSupported) EncyptedLocalStore (EncyptedLocalStore.isSupported) Accs Flash (DRMManager.isSupported) GameInput (GameInput.isSupported) Golocalisation (Geolocation.isSupported) HTMLLoader (HTMLLoader.isSupported) Editeur IME (IME.isSupported) LocalConnection (LocalConnection.isSupported) Microphone (Microphone.isSupported) Son multicanaux (Capabilities.hasMultiChannelAudio()) Extensions natives NativeMenu (NativeMenu.isSupported) NativeProcess (NativeProcess.isSupported) Oui Oui

Vrifier Non Non

Oui Non Oui Non Non Oui Oui Oui

Oui Non Oui Non Non Oui Oui Oui

Non Oui Oui Oui Oui Oui Non Oui

Vrifier

Vrifier

Non

Oui

Oui

Vrifier

Oui

Oui

Oui

Oui Non Non Oui Oui Oui

Oui Non Non Oui Oui Oui

Non Non Vrifier Non Vrifier Non

Oui Non

Oui Non

Vrifier Non

Non Oui Non

Oui Oui Oui Oui Oui Oui

Oui Non Non Non Vrifier Non

NativeWindow (NativeWindow.isSupported) Oui NetworkInfo (NetworkInfo.isSupported) Ouverture de fichiers dans lapplication par dfaut Oui Prise en charge restreinte

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Profils de priphrique

256

Classe ou fonctionnalit

desktop

extendedDeskt op Oui Oui Oui Oui

mobileDevice

PrintJob (PrintJob.isSupported) SecureSocket (SecureSocket.isSupported) ServerSocket (ServerSocket.isSupported) Shader

Oui Oui Oui Oui

Non Non Oui Prise en charge restreinte Oui Oui

Stage3D (Stage.stage3Ds.length) Orientation de la scne (Stage.supportsOrientationChange) StageVideo StageWebView (StageWebView.isSupported) Lancement de lapplication lors de ltablissement de la connexion (NativeApplication.supportsStartAtLogin) StorageVolumeInfo (StorageVolumeInfo.isSupported) Mode inactif du systme

Oui Non

Oui Non

Non Oui

Non Oui

Vrifier Oui

Oui

Oui

Non

Oui

Oui

Non

Non

Non Vrifier

Oui Non

SystemTrayIcon Vrifier (NativeApplication.supportsSystemTrayIcon ) Entre Text Layout Framework Updater (Updater.isSupported) XMLSignatureValidator (XMLSignatureValidator.isSupported) Oui Oui Oui

Oui Non Oui

Non Non Non

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Profils de priphrique

257

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 166.) 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 24/6/2013

258

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 264.

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 263.

Il peut vrifier si le moteur dexcution est install. Voir Vrification de la prsence du moteur dexcution la
page 262.

Il peut lancer une application AIR installe sur le systme dun utilisateur. Voir Lancement dune application AIR
installe partir du navigateur la page 265. 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


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

259

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 ajoutezles 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
appname appurl airversion imageurl buttoncolor messagecolor

Description Nom de lapplication, affich par le fichier SWF lorsque le moteur dexcution nest pas install. (Obligatoire). URL du fichier AIR tlcharger. Vous devez utiliser une URL absolue, et non relative. (Obligatoire). Pour la version 1.0 du moteur dexcution, dfinissez ce paramtre sur 1.0. URL de limage (facultative) afficher dans le badge. Couleur du bouton Tlcharger (spcifie sous forme de valeur hexadcimale, telle que FFCC00). 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 260.

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


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

260

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 badge.fla Description 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). Classe ActionScript 3.0 dfinissant la classe de base utilise dans le fichier basdge.fla.

AIRBadge.as

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


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

261

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
getStatus()

Description 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 262.

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 264.

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 213.) 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 265.

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


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

262

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 263.

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 258. 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 262. 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


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

263

La mthode getStatus() renvoie une des valeurs de chane suivantes en fonction de ltat du moteur dexcution sur lordinateur :
Valeur de chane
"available" "unavailable" "installed"

Description Il est possible dinstaller le moteur dexcution sur cet ordinateur, mais il ny est pas install actuellement. Il est impossible dinstaller le moteur dexcution sur cet ordinateur. 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 262. 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


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

264

Paramtres
appID pubID

Description ID dapplication pour lapplication. Pour plus dinformations, voir id la page 233. ID dditeur de lapplication. Pour plus dinformations, voir publisherID la page 243. Si lapplication concerne ne possde pas didentifiant dditeur, dfinissez le paramtre pubID sur une chane vide (). 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.

callback

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 262. 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
url runtimeVersion

Description Chane dfinissant lURL du fichier AIR installer. Vous devez utiliser un chemin dURL absolu, et non relatif. Chane prcisant la version du moteur dexcution (par exemple 1.0 ) qui est requise par lapplication installer. 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 213.) 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 265.

arguments

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


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

265

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 263. 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 213. 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 262. 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


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

266

Paramtre
appID pubID

Description ID dapplication pour lapplication lancer. Pour plus dinformations, voir id la page 233. ID dditeur de lapplication lancer. Pour plus dinformations, voir publisherID la page 243. Si lapplication concerne ne possde pas didentifiant dditeur, dfinissez le paramtre pubID sur une chane vide (). 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.

arguments

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 263. 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 24/6/2013

267

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 243. 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 202. 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Mise jour des applications AIR

268

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 270.

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 213.) 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Mise jour des applications AIR

269

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 213.

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 208. Pour apprendre appliquer une signature, voir Commandes de loutil ADT la page 172. 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Mise jour des applications AIR

270

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 224. 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 274.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Mise jour des applications AIR

271

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Mise jour des applications AIR

272

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 274. 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Mise jour des applications AIR

273

} 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Mise jour des applications AIR

274

} 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Mise jour des applications AIR

275

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 275 Intgration des fichiers de la structure dans une application AIR de type HTML la page 276 Exemple de base : utilisation de la version ApplicationUpdaterUI la page 276

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Mise jour des applications AIR

276

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Mise jour des applications AIR

277

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Mise jour des applications AIR

278

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Mise jour des applications AIR

279

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Mise jour des applications AIR

280

<?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 275 et Intgration des fichiers de la structure dans une application AIR de type HTML la page 276), 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 278). 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 283).

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Mise jour des applications AIR

281

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, configtemplate.xml.

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Mise jour des applications AIR

282

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 278), avant dutiliser lobjet updater (avant dappeler la mthode initialize() de lobjet updater, dcrite la section Initialisation de la structure de mise jour la page 283). 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 280). 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Mise jour des applications AIR

283

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 276), 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Mise jour des applications AIR

284

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 280.

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 282). 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Mise jour des applications AIR

285

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 278.

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Mise jour des applications AIR

286

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Mise jour des applications AIR

287

<?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 24/6/2013

288

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
getDefault() setup()

Description Mthode statique. Renvoie une occurrence de SourceViewer, qui vous permet dappeler les autres mthodes. Applique des paramtres de configuration Source Viewer. Pour plus dinformations, voir Configuration de Source Viewer la page 288. Ouvre une nouvelle fentre dans laquelle lutilisateur peut rechercher et ouvrir les fichiers sources de lapplication hte.

viewSource()

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Affichage du code source

289

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Affichage du code source

290

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Affichage du code source

291

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 288).

Dernire mise jour le 24/6/2013

292

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dbogage laide de loutil AIR HTML Introspector

293

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dbogage laide de loutil AIR HTML Introspector

294

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
info() error() warn()

Icne

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
dumpObject levels

Description Objet srialiser. 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dbogage laide de loutil AIR HTML Introspector

295

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
closeIntrospectorOnExit

Valeur par dfaut


true

Description Configure la fentre de loutil AIR HTML Introspector de sorte quelle se ferme la fermeture de toutes les autres fentres de lapplication. Code de touche du raccourci clavier permettant dafficher et de masquer la fentre de loutil AIR HTML Introspector. Configure loutil AIR HTML Introspector de sorte dvelopper les objets dexcution en plus des outils dfinis dans JavaScript. Configure les onglets Console et XMLHttpRequest de sorte quils clignotent en cas de modification (lorsque du texte y est enregistr par exemple). Code de touche du raccourci clavier permettant douvrir le panneau Inspect. Configure longlet Console de sorte afficher les informations dhorodatage au dbut de chaque ligne. Configure longlet Console de sorte afficher des informations sur lobjet qui envoie le message au dbut de chaque ligne. Nombre de colonnes au-del duquel se produit un retour la ligne dans les fichiers sources.

debuggerKey

123 (touche F12)

debugRuntimeObjects

true

flashTabLabels

true

introspectorKey

122 (touche F11)

showTimestamp

true

showSender

true

wrapColumns

2000

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 293). Vous pouvez remplacer par une autre touche la touche daccs rapide F12 (voir Configuration de loutil AIR HTML Introspector la page 295).

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dbogage laide de loutil AIR HTML Introspector

296

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 293.

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dbogage laide de loutil AIR HTML Introspector

297

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 Pressepapiers, 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 295). 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dbogage laide de loutil AIR HTML Introspector

298

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dbogage laide de loutil AIR HTML Introspector

299

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dbogage laide de loutil AIR HTML Introspector

300

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dbogage laide de loutil AIR HTML Introspector

301

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Dbogage laide de loutil AIR HTML Introspector

302

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 24/6/2013

303

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Localisation dapplications AIR

304

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 Elments du fichier descripteur dapplication AIR la page 217.

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Localisation dapplications AIR

305

<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
getFile()

Description 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 311. Renvoie les langues qui figurent dans le chanage de jeux de paramtres rgionaux. Voir Dfinition du chanage de jeux de paramtres rgionaux la page 310 Renvoie les cls du regroupement et les valeurs correspondantes sous forme dobjet. Voir Extraction de ressources dun jeu de paramtres rgionaux spcifique la page 311. Extrait la chane dfinie pour une ressource. Voir Extraction de ressources dun jeu de paramtres rgionaux spcifique la page 311. Dfinit lemplacement du rpertoire de regroupements. Voir Personnalisation des paramtres de la structure de localisation HTML dAIR la page 309. Dfinit le prfixe utilis par les attributs de localisation utiliss dans des lments DOM HTML. Voir Personnalisation des paramtres de la structure de localisation HTML dAIR la page 309 Dfinit lordre des langues dans le chanage de jeux de paramtres rgionaux. Voir Dfinition du chanage de jeux de paramtres rgionaux la page 310 Trie les jeux de paramtres rgionaux du chanage de jeux de paramtres rgionaux en fonction des paramtres du systme dexploitation. Voir Dfinition du chanage de jeux de paramtres rgionaux la page 310 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 307. Pour plus dinformations sur la mthode update(), voir Mise jour dlments DOM afin quils utilisent le jeu de paramtres rgionaux en cours la page 308.

getLocaleChain()

getResourceBundle()

getString()

setBundlesDirectory( ) setLocalAttributePre fix() setLocaleChain()

sortLanguagesByPrefe rence()

update()

La classe Localizer comprend les proprits statiques suivantes :


Proprit
localizer ultimateFallbackLocale

Description Renvoie une rfrence lobjet singleton Localizer de lapplication. 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 310

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Localisation dapplications AIR

306

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 246.

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 309.) 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 311. 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Localisation dapplications AIR

307

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 306). 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 310

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Localisation dapplications AIR

308

<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 308 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 309.

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Localisation dapplications AIR

309

<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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Localisation dapplications AIR

310

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 307. 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 307).

Dernire mise jour le 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Localisation dapplications AIR

311

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Localisation dapplications AIR

312

Paramtre
bundleName

Description 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. Nom de la ressource. 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. 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.

resourceName templateArgs

locale

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Localisation dapplications AIR

313

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
locale bundleName

Description Jeu de paramtres rgionaux (par exemple fr ). 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
resourceFileName templateArgs

Description Nom du fichier de ressource ("about.html", par exemple). 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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Localisation dapplications AIR

314

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 24/6/2013

315

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Variables denvironnement path

316

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 24/6/2013

CRATION DAPPLICATIONS ADOBE AIR


Variables denvironnement path

317

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 24/6/2013