Informations juridiques
Informations juridiques
Vous trouverez des informations juridiques ladresse http://help.adobe.com/fr_FR/legalnotices/index.html.
Sommaire
Chapitre 1 : 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).
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
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.
Voir aussi
AIR for iOS la page 73
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.
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
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).
FILE_LIST_FORMAT 1.0
FILE_PROMISE_LIST_FORMAT 2.0
URL_FORMAT 1.0
parentSandboxBridge 1.0
autoOrients 2.0
deviceOrientation 2.0
nativeWindow 1.0
orientation 2.0
setAspectRatio 2.0
setOrientation 2.0
softKeyboardRect 2.6
supportedOrientations 2.6
supportsOrientationChange 2.0
listOwnedWindows 2.6
DISPLAYING 1.0
PREPARING 2.6
EXITING 1.0
HTML_BOUNDS_CHANGE 1.0
HTML_DOM_INITIALIZE 1.0
HTML_RENDER 1.0
LOCATION_CHANGE 1.0
NETWORK_CHANGE 1.0
STANDARD_ERROR_CLOSE 2.0
STANDARD_INPUT_CLOSE 2.0
STANDARD_OUTPUT_CLOSE 2.0
USER_IDLE 1.0
USER_PRESENT 1.0
responseHeaders 1.0
responseURL 1.0
controlKey 1.0
uploadUnencoded() 1.0
preloadEmbeddedData() 1.5
resetDRMVouchers() 1.0
setDRMAuthenticationCredent 1.0
ials()
cacheResponse 1.0
followRedirects 1.0
idleTimeout 2.0
manageCookies 1.0
useCache 1.0
userAgent 1.0
copies 2.0
firstPage 2.0
isColor 2.0
jobName 2.0
lastPage 2.0
maxPixelsPerInch 2.0
paperArea 2.0
printableArea 2.0
printer 2.0
printers 2.0
selectPaperSize() 2.0
showPageSetupDialog() 2.0
start2() 2.0
supportsPageSetupDialog 2.0
terminate() 2.0
printMethod 2.0
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.
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.
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.
bin Lapplication de dbogage du lanceur AIR (ADL) permet dexcuter une application
AIR sans la mettre en package et linstaller au pralable. Pour plus dinformations sur
lutilisation de cette application, voir Application de dbogage du lanceur AIR
(ADL) la page 168.
Loutil AIR Developer (ADT) met en package une application sous la forme dun fichier
AIR distribuable. Pour plus dinformations sur lutilisation de cet outil, voir Outil AIR
Developer (ADT) la page 174.
frameworks Le rpertoire libs contient des bibliothques de code destines aux applications AIR.
install Le rpertoire install contient les pilotes USB Windows associs aux priphriques
Android. (Ces pilotes sont fournis par Google dans le kit SDK dAndroid.)
lib Contient le code de prise en charge des outils du kit SDK dAIR.
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.)
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
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">
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>
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.
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.
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 :
f Entrez le mot de passe dfini ltape b dans le champ de texte Mot de passe de la bote de dialogue Signature
numrique. Pour plus dinformations sur la signature des applications Adobe AIR, voir Signature numrique
dun fichier AIR la page 200.
3 Pour crer le fichier de lapplication et du programme dinstallation, cliquez sur le bouton Publier. (Dans Flash CS4
et CS5, cliquez sur le bouton OK.) Pour crer les fichiers SWF et application.xml, vous devez tester ou dboguer
lanimation avant de crer le fichier AIR.
4 Pour installer lapplication, double-cliquez sur le fichier AIR (application.air) dans le dossier o vous avez
enregistr lapplication.
5 Dans la bote de dialogue Installation de lapplication, cliquez sur le bouton Installer.
6 Vrifiez les paramtres demplacement et de prfrences dinstallation et assurez-vous que la case cocher
Dmarrer lapplication la fin de linstallation est active. Cliquez sur Continuer.
7 Lorsque le message Installation termine apparat, cliquez sur Terminer.
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.
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
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.text.TextFieldAutoSize;
textField.setTextFormat ( format );
this.addChild( textField );
}
}
}
Remarque : lorsque vous envoyez une application lApp Store dApple, vous utilisez une version JPG (et non PNG)
du fichier de 512 pixels. La version PNG est rserve au test des versions de dveloppement dune application.
Toute application iPhone affiche une image initiale lors de son chargement sur liPhone. Vous dfinissez cette image
initiale dans un fichier PNG, comme suit :
1 Dans le rpertoire de dveloppement principal, crez un fichier PNG appel Default.png. (Ne placez pas ce fichier
dans le sous-rpertoire icons et respectez la casse du nom du fichier.)
2 Modifiez le fichier de sorte que ses dimensions correspondent 320 pixels de large sur 480 pixels de haut. Pour le
moment, contentez-vous dun contenu compos dun rectangle blanc uni, que vous modifierez ultrieurement.
Pour plus dinformations sur ces graphiques, voir Icnes dune application la page 92.
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.
(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.
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.
<application xmlns="...">
<id></id>
<versionNumber></versionNumber>
<filename></filename>
<initialWindow>
<content></content>
<visible></visible>
<width></width>
<height></height>
</initialWindow>
</application>
Cet exemple se contente de dfinir quelques-unes des proprits dapplication disponibles. Voir Fichiers descripteurs
dapplications AIR la page 217 pour consulter la liste complte des proprits de lapplication, qui permettent de
dfinir des paramtres tels que le chrome, la taille et la transparence des fentres, le rpertoire dinstallation par dfaut,
les types de fichier associs et les icnes de lapplication.
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.
4 Enregistrez le fichier.
Le fichier HelloWorld.html doit maintenant se prsenter comme suit :
<html>
<head>
<title>Hello World</title>
<script type="text/javascript" src="AIRAliases.js"></script>
<script type="text/javascript">
function appLoad(){
air.trace("Hello World");
}
</script>
</head>
<body onLoad="appLoad()">
<h1>Hello World</h1>
</body>
</html>
Test de lapplication
Pour excuter et tester lapplication partir de la ligne de commande, faites appel lapplication de dbogage du
lanceur AIR (ADL). Le fichier excutable ADL se trouve dans le rpertoire bin du kit SDK AIR. Si vous navez pas
encore install le kit SDK AIR, voir Installation du kit de dveloppement SDK AIR la page 17.
1 Ouvrez une console ou un shell de commande. Passez dans le rpertoire cr pour ce projet.
2 Excutez la commande suivante :
adl HelloWorld-app.xml
Une fentre AIR contenant lapplication saffiche. La fentre de la console prsente galement le message rsultant
de lappel air.trace().
Pour plus dinformations, voir Fichiers descripteurs dapplications AIR la page 217.
Loutil ADT gnre le fichier de magasin de cls sampleCert.pfx, qui contient un certificat et la cl prive
correspondante.
Cet exemple utilise le nombre minimal dattributs quil est possible de dfinir pour un certificat. Le type de cl doit
correspondre 1024-RSA ou 2048-RSA (voir Signature dapplications AIR la page 200).
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).
<application xmlns="...">
<id>...</id>
<versionNumber>...</versionNumber>
<filename></filename>
<initialWindow>
<content></content>
<visible></visible>
<width></width>
<height></height>
</initialWindow>
</application>
Cet exemple se contente de dfinir quelques-unes des proprits dapplication disponibles. Voir Fichiers descripteurs
dapplications AIR la page 217 pour consulter la liste complte des proprits de lapplication, qui permettent de
dfinir des paramtres tels que le chrome, la taille et la transparence des fentres, le rpertoire dinstallation par dfaut,
les types de fichier associs et les icnes de lapplication.
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
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
Grce aux proprits horizontalCenter et verticalCenter du contrle Label, le texte est plac au centre de la fentre.
Vous pouvez dplacer ou redimensionner la fentre comme pour toute autre application de bureau.
Pour plus dinformations, voir Application de dbogage du lanceur AIR (ADL) la page 168.
Cet exemple utilise le nombre minimal dattributs quil est possible de dfinir pour un certificat. Le type de cl doit
correspondre 1024-RSA ou 2048-RSA (voir Signature dapplications AIR la page 200).
Vous tes invit entrer le mot de passe du fichier de magasin de cls. Saisissez le mot de passe et appuyez sur
Entre. Les caractres saisis ne sont pas affichs par mesure de scurit.
Largument HelloWorld.air correspond au fichier AIR gnr par loutil ADT. HelloWorld-app.xml est le fichier
descripteur dapplication. Les autres arguments reprsentent les fichiers utiliss par lapplication. Cet exemple
nutilise que trois fichiers, mais vous pouvez inclure un nombre illimit de fichiers et de rpertoires.
Une fois le package AIR cr, vous pouvez double-cliquer dessus pour installer et excuter lapplication. Libre
vous galement dentrer le nom de fichier AIR en tant que commande dans une fentre de shell ou de commande.
Pour plus dinformations, voir Mise en package dun fichier dinstallation AIR de bureau la page 55.
Remarque : pour plus dinformations sur le dveloppement dapplications iPhone, voir Cration dune application
iPhone Hello World dans Flash Professional CS5.
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.
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
Pour plus dinformations, voir Compilation de fichiers sources MXML et ActionScript pour AIR la page 164.
Test de lapplication
Pour excuter et tester lapplication partir de la ligne de commande, faites appel lapplication de dbogage du
lanceur AIR (ADL) afin de lancer lapplication par le biais du fichier descripteur correspondant. (Lapplication ADL
rside dans le rpertoire bin des kits SDK dAIR et de Flex.)
A linvite de commande, entrez la commande suivante :
adl HelloWorld-app.xml
Pour plus dinformations, voir Simulation de priphrique laide de lapplication ADL la page 106.
Cet exemple utilise le nombre minimal dattributs quil est possible de dfinir pour un certificat. Le type de cl doit
tre soit 1024-RSA, soit 2048-RSA (voir Commande ADT certificate la page 183).
Vous tes invit entrer le mot de passe du fichier de magasin de cls. Saisissez le mot de passe et appuyez sur
Entre.
Pour plus dinformations, voir Mise en package dune application AIR mobile la page 98.
Dfinissez lindicateur -platformsdk sur le rpertoire qui stocke le kit SDK dAndroid (indiquez le parent du
dossier tools).
Loutil ADT installe le fichier Runtime.apk intgr au kit SDK.
Pour plus dinformations, voir Installation du moteur dexcution et des applications AIR des fins de
dveloppement la page 115.
Dfinissez lindicateur -platformsdk sur le rpertoire qui stocke le kit SDK dAndroid (indiquez le parent du
dossier tools).
Pour plus dinformations, voir Installation du moteur dexcution et des applications AIR des fins de
dveloppement la page 115.
Vous pouvez lancer lapplication en touchant licne correspondante sur lcran du priphrique ou de lmulateur.
Chapitre 6 : Dveloppement
dapplications de bureau AIR
5 Mettez en package lapplication et signez-la en tant que fichier AIR laide de la cible air.
Assign dans llment application, lespace de noms dtermine globalement les fonctionnalits dont dispose
lapplication. Ainsi, si lapplication utilise lespace de noms dAIR 1.5 et quAIR 3.0 est install sur lordinateur ou le
priphrique de lutilisateur, elle assimile le comportement dAIR celui de la version 1.5, mme sil a t modifi dans
AIR 3.0. Pour que lapplication accde au nouveau comportement et aux nouvelles fonctionnalits, vous devez au
pralable modifier lespace de noms et publier une mise jour. Les modifications associes la scurit et WebKit
constituent les principales exceptions la rgle.
Spcifiez lespace de noms laide de lattribut xmlns de llment racine application :
<application xmlns="http://ns.adobe.com/air/application/3.0">
Voir aussi
application la page 222
Voir aussi
id la page 239
filename la page 234
name la page 247
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>
Voir aussi
version la page 255
versionLabel la page 255
versionNumber la page 256
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>
requestedDisplayResolution : indique si lapplication doit utiliser le mode de rsolution standard ou high (lev)
sur les ordinateurs MacBook Pro dots dcrans haute rsolution. Sur toutes les autres plates-formes, cette valeur
est ignore. Si sa valeur est standard, chaque pixel de la scne est rendu par quatre pixels lcran. Si la valeur est
high, chaque pixel correspond un seul pixel physique lcran. La valeur spcifie est utilise pour toutes les
fentres dapplication. Lutilisation de llment requestedDisplayResolution pour les applications de bureau
AIR (en tant quenfant de llment intialWindow) est disponible dans AIR 3.6 et ultrieur.
resizable : indique si le chrome systme de redimensionnement de la fentre est affich.
systemChrome : indique si les caractristiques standard du systme dexploitation sont utilises. Il est impossible
de modifier le paramtre systemChrome dune fentre lexcution.
title : titre de la fentre.
transparent : indique si la fentre est semi-transparente par rapport larrire-plan. Si la transparence est active,
la fentre ne peut pas utiliser le chrome systme. Il est impossible de modifier le paramtre transparent dune
fentre lexcution.
visible : indique si la fentre est visible ds sa cration. La fentre est initialement invisible par dfaut, afin que
lapplication puisse dessiner son contenu avant dactiver elle-mme sa visibilit.
width : largeur de la fentre.
x : position horizontale de la fentre.
y : position verticale de la fentre.
Voir aussi
content la page 227
depthAndStencil la page 229
height la page 238
maximizable la page 245
maxSize la page 246
minimizable la page 246
minimizable la page 246
minSize la page 246
renderMode la page 249
requestedDisplayResolution la page 250
resizable la page 251
systemChrome la page 253
title la page 254
transparent la page 255
visible la page 256
width la page 257
x la page 257
y la page 257
Voir aussi
customUpdateUI la page 229
fileTypes la page 235
installFolder la page 242
programMenuFolder la page 248
Pour consulter la liste des classes ActionScript prises en charge par les profils desktop et extendedDesktop, voir
Fonctionnalits des diffrents profils la page 260.
Voir aussi
supportedProfiles la page 252
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.
Si vous ne fournissez pas dicne de la taille indique, la taille suivante est utilise et limage est mise lchelle en
consquence. Si vous ne fournissez pas dicne, une icne systme par dfaut est utilise.
Voir aussi
icon la page 238
imageNxN la page 239
Paramtres ignors
Les applications installes sur le bureau ignorent les paramtres dapplication qui sappliquent aux fonctionnalits dun
profil mobile. Les paramtres ignors sont les suivants :
android
aspectRatio
autoOrients
fullScreen
iPhone
renderMode (versions antrieures AIR 3)
requestedDisplayResolution
softKeyboardBehavior
Voir aussi
De Monsters: Monster Debugger (disponible en anglais uniquement)
Dbogage laide de loutil AIR HTML Introspector la page 298
ADL imprime les instructions trace, les exceptions dexcution et les erreurs danalyse HTML dans la fentre du
terminal. Si un processus FDB attend une connexion entrante, lapplication ADL se connecte au dbogueur.
Vous pouvez galement utiliser ADL pour dboguer une application AIR faisant appel des extensions natives.
Exemple :
adl -extdir extensionDirs myApplication-app.xml
Voir aussi
Application de dbogage du lanceur AIR (ADL) la page 168
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.
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.
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.
Vous devez utiliser le certificat dorigine pour signer un package cr pour mettre jour une application AIR existante.
Si vous avez renouvel ce certificat, quil a expir au cours des 180 derniers jours ou que vous souhaitez le remplacer,
vous pouvez apposer une signature de migration. Dans ce cas, le fichier AIR est sign laide des deux certificats,
lancien et le nouveau. La commande -migrate permet dappliquer la signature de migration, comme indiqu la
section Commande ADT migrate la page 182.
Important : vous disposez dun dlai de 180 jours au maximum pour apposer la signature de migration une fois le
certificat dorigine prim. Sans cette signature, les utilisateurs existants doivent dsinstaller leur application existante
pour pouvoir installer la nouvelle version. Le dlai ne sapplique quaux applications pour lesquelles lespace de noms
stipule AIR 1.5.3 ou une version ultrieure dans le fichier descripteur. Lorsque vous ciblez des versions antrieures du
moteur dexcution dAIR, vous ne disposez daucun dlai.
Les signatures de migration ntaient pas prises en charge pralablement AIR 1.1. Pour apposer une signature de
migration, vous devez mettre en package une application laide dun kit de dveloppement SDK version 1.1 ou
ultrieure.
Les applications dployes laide de fichiers AIR font partie du profil de bureau. Il est impossible dutiliser loutil ADT
pour mettre en package un programme dinstallation natif destin une application AIR si le fichier descripteur
correspondant ne prend pas en charge le profil de bureau. Vous pouvez restreindre lutilisation de ce profil laide de
llment supportedProfiles dans le fichier descripteur de lapplication. Voir Profils de priphrique la
page 259 et supportedProfiles la page 252.
Remarque : les paramtres du fichier descripteur dapplication dterminent lidentit dune application AIR et son
chemin dinstallation par dfaut. Voir Fichiers descripteurs dapplications AIR la page 217.
Identifiants dditeur
Depuis AIR 1.5.3, les identifiants dditeur sont obsoltes. Les nouvelles applications (publies lorigine avec
AIR 1.5.3 ou version ultrieure) ne requirent pas didentifiant dditeur et ne doivent pas en spcifier.
Lors de la mise jour dapplications publies laide des versions antrieures dAIR, vous devez spcifier lidentifiant
dditeur dorigine dans le fichier descripteur dapplication, sans quoi la version installe de lapplication et la version
mise jour sont traites comme des applications diffrentes. Si vous utilisez un autre identifiant dditeur ou omettez
la balise publisherID, lutilisateur est contraint de dsinstaller la version antrieure pour pouvoir installer la nouvelle.
Pour dterminer lidentifiant dditeur original, recherchez le fichier publisherid dans le sous-rpertoire META-
INF/AIR du rpertoire dinstallation de lapplication originale. La chane que contient ce fichier correspond
lidentifiant dditeur. Le fichier descripteur de lapplication doit stipuler le moteur dexcution dAIR 1.5.3 (ou version
ultrieure) dans la dclaration despace de noms pour que vous puissiez stipuler manuellement lidentifiant dditeur.
Dans le cas des applications publies avant AIR 1.5.3 (ou de celles publies laide du kit SDK AIR 1.5.3, mais dont
lespace de noms du descripteur spcifie une version antrieure dAIR), un identifiant dditeur est calcul partir du
certificat de signature. Alli lidentifiant dapplication, lidentifiant dditeur permet de dterminer lidentit dune
application. Sil existe, lidentifiant dditeur est utilis comme suit :
Pour vrifier que le fichier AIR est une mise jour et non une nouvelle application installer
Dans la cl de chiffrement destine au magasin local chiffr
Dans le chemin du rpertoire de stockage dapplication
Dans la chane de connexion associe aux connexions locales
Dans la chane didentit destine appeler une application par le biais de lAPI intgre au navigateur dAIR
Dans lOSID (dfinition dinterface de service ouverte) utilise lors de la cration de programmes dinstallation/de
dsinstallation personnaliss
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.
Lexemple part du principe que le chemin daccs loutil ADT figure dans la dfinition path de linterface de
commande de ligne de commande. (Pour plus dinformations, voir Variables denvironnement path la page 321.)
Vous devez excuter la commande partir du rpertoire qui contient les fichiers de lapplication. Dans lexemple
illustr, les fichiers de lapplication sont myApp-app.xml (fichier descripteur de lapplication), myApp.swf et un
rpertoire dicnes.
Si vous excutez la commande comme indiqu, loutil ADT vous invite entrer le mot de passe associ au keystore.
(Les caractres du mot de passe saisis ne sont pas toujours affichs. Appuyez simplement sur Entre une fois la saisie
termine.)
Les applications installes par le biais dun programme dinstallation natif font partie du profil de bureau tendu. Il est
impossible dutiliser loutil ADT pour mettre en package un programme dinstallation natif destin une application
AIR si le fichier descripteur correspondant ne prend pas en charge le profil tendu de bureau. Vous pouvez restreindre
lutilisation de ce profil laide de llment supportedProfiles dans le fichier descripteur de lapplication. Voir
Profils de priphrique la page 259 et supportedProfiles la page 252.
Vous disposez de deux techniques de base pour crer une version du programme dinstallation natif de lapplication AIR :
Vous pouvez crer le programme dinstallation natif partir du fichier descripteur de lapplication et dautres
fichiers sources ( savoir, des fichiers SWF, des fichiers HTML et dautres actifs).
Vous pouvez fonder le programme dinstallation natif sur un fichier AIR ou un fichier AIRI.
Vous devez utiliser loutil ADT sur le mme systme dexploitation que celui du programme dinstallation crer. Par
consquent, pour crer un fichier EXE pour Windows, excutez loutil ADT sous Windows. Pour crer un fichier
DMG pour Mac OS, excutez loutil ADT sur Mac OS. Pour crer un fichier DEB ou RPG pour Linux, excutez loutil
ADT partir du kit SDK dAIR 2.6 sous Linux.
Lorsque vous crez un programme dinstallation natif pour distribuer une application AIR, celle-ci possde les
fonctionnalits suivantes :
Elle peut lancer des processus natifs et communiquer avec eux, par le biais de la classe NativeProcess. Pour plus
dinformations, voir :
Communication avec les processus natifs dans AIR (dveloppeurs ActionScript)
Communication avec les processus natifs dans AIR (dveloppeurs HTML)
Elle peut faire appel des extensions natives.
Elle peut ouvrir tout fichier dans lapplication systme dfinie par dfaut cet effet laide de la mthode
File.openWithDefaultApplication(), quel que soit le type du fichier. (Les applications qui ne sont pas
installes laide dun programme dinstallation natif sont soumises des restrictions. Pour plus dinformations,
voir lentre File.openWithDefaultApplication() dans la rfrence du langage.)
La mise en package sous forme de programme dinstallation natif entrane toutefois la perte de certains avantages qui
caractrisent le format de fichier AIR. Il est alors impossible de distribuer un fichier unique sur tous les ordinateurs de
bureau. La fonction de mise jour intgre (ainsi que la structure du programme de mise jour) ne fonctionnent pas.
Lorsque lutilisateur double-clique sur le fichier du programme dinstallation natif, lapplication AIR est installe. Si la
version requise dAdobe AIR nest pas dj installe sur la machine, le programme dinstallation la tlcharge du rseau
et linstalle. En labsence dune connexion rseau permettant dobtenir la version approprie dAdobe AIR (si
ncessaire), linstallation choue. Linstallation choue galement si le systme dexploitation nest pas pris en charge
dans Adobe AIR 2.
Remarque : si vous souhaitez quun fichier puisse tre excut dans lapplication installe, assurez-vous quil est
excutable sur le systme de fichiers lors de la mise en package de lapplication. (Sous Mac et Linux, vous disposez de
chmod pour dfinir lindicateur excutable, le cas chant.)
Cration dun programme dinstallation natif partir des fichiers sources de lapplication
Pour crer un programme dinstallation natif partir des fichiers sources de lapplication, utilisez la commande -
package en respectant la syntaxe suivante (sur une mme ligne de commande) :
La syntaxe est identique celle permettant de mettre en package un fichier AIR (sans programme dinstallation natif),
quelques exceptions prs :
Vous ajoutez loption -target native la commande. (Si vous spcifiez -target air, loutil ADT gnre un
fichier AIR plutt quun fichier dinstallation natif.)
Vous spcifiez le fichier DMG ou EXE cible en tant que fichier de programme dinstallation (installer_file).
Sous Windows, vous pouvez ajouter un deuxime jeu doptions de signature, indiques sous la forme
[WINDOWS_INSTALLER_SIGNING_OPTIONS] dans la syntaxe. Cette tape est facultative. Sous Windows, outre la
signature du fichier AIR, vous pouvez signer le fichier dinstallation. Utilisez la mme syntaxe pour dfinir le type
de certificat et loption de signature que pour signer le fichier AIR (voir Options de signature du code de loutil
ADT la page 189). Vous pouvez signer le fichier AIR et le fichier dinstallation laide dun mme certificat ou
de certificats diffrents. Lorsque lutilisateur tlcharge un fichier dinstallation Windows sign du Web, Windows
se fonde sur le certificat pour identifier la source du fichier.
Pour plus dinformations sur les options ADT autres que -target, voir Outil AIR Developer (ADT) la page 174.
Lexemple suivant cre un fichier DMG (fichier dinstallation natif rserv Mac OS) :
adt -package
-storetype pkcs12
-keystore myCert.pfx
-target native
myApp.dmg
application.xml
index.html resources
Lexemple suivant cre un fichier EXE (fichier dinstallation natif rserv Windows) :
adt -package
-storetype pkcs12
-keystore myCert.pfx
-target native
myApp.exe
application.xml
index.html resources
Cration dun programme dinstallation natif pour une application faisant appel des extensions natives
Vous pouvez crer un programme dinstallation natif partir des fichiers sources de lapplication et des packages
dextensions natives dont lapplication a besoin. Utilisez la commande -package en respectant la syntaxe suivante (sur
une seule ligne de commande) :
adt -package AIR_SIGNING_OPTIONS
-migrate MIGRATION_SIGNING_OPTIONS
-target native
[WINDOWS_INSTALLER_SIGNING_OPTIONS]
installer_file
app_xml
-extdir extension-directory
[file_or_dir | -C dir file_or_dir | -e file dir ...] ...
Cette syntaxe est identique celle utilise pour la mise en package dun programme dinstallation natif, avec deux
options supplmentaires. Utilisez loption -extdir extension-directory en vue de spcifier le rpertoire
contenant les fichiers ANE (extensions natives) quutilise lapplication. Utilisez lindicateur facultatif -migrate avec
les paramtres MIGRATION_SIGNING_OPTIONS en vue de signer la mise jour dune application avec une signature de
migration lorsque le certificat principal de signature de code est diffrent de celui utilis par la version prcdente.
Pour plus dinformations, voir Signature dune version mise jour dune application AIR la page 211.
Pour plus dinformations sur les options dADT, voir Outil AIR Developer (ADT) la page 174.
Lexemple suivant cre un fichier DMG (fichier de programme dinstallation pour Mac OS) pour une application
faisant appel des extensions natives :
adt -package
-storetype pkcs12
-keystore myCert.pfx
-target native
myApp.dmg
application.xml
-extdir extensionsDir
index.html resources
Cration dun programme dinstallation natif partir dun fichier AIR ou AIRI
Loutil ADT permet de gnrer un fichier dinstallation natif partir dun fichier AIR ou AIRI. Pour crer un fichier
dinstallation natif partir dun fichier AIR, utilisez la commande -package de loutil ADT en respectant la syntaxe
suivante (sur une mme ligne de commande) :
adt -package
-target native
[WINDOWS_INSTALLER_SIGNING_OPTIONS]
installer_file
air_file
Cette syntaxe est identique celle permettant de crer un fichier dinstallation natif partir des fichiers sources de
lapplication AIR, quelques exceptions prs :
Comme source, vous spcifiez un fichier AIR, et non un fichier descripteur dapplication et dautres fichiers sources
de lapplication AIR.
Ne spcifiez pas doptions de signature du fichier AIR car il est dj sign.
Pour crer un fichier dinstallation natif partir dun fichier AIRI, utilisez la commande -package de loutil ADT en
respectant la syntaxe suivante (sur une mme ligne de commande) :
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
Avantages
Cration dune application autonome
Aucun accs Internet requis pour linstallation
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
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.
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.
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.
Voir aussi
API intgre au navigateur et stocke dans le fichier AIR.SWF la page 264
Remarque : ces fichiers ntaient pas crs dans les versions dAIR antrieures AIR 2.
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 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.
Si votre application ajoute des lments llment <manifestAdditions> dans le descripteur dapplication que la
version actuelle dAIR ne reconnat pas comme valides, vous devez installer une version plus rcente du SDK
dAndroid. Dfinissez la variable denvironnement AIR_ANDROID_SDK_HOME ou le paramtre de la ligne de
commande -platformsdk sur le chemin de fichier du kit SDK. Loutil de mise en package dAIR, ADT, fait appel ce
kit SDK pour valider les entres dans llment <manifestAdditions>.
Dans AIR 2.5, vous devez tlcharger un exemplaire distinct du kit SDK dAndroid partir de Google. Vous pouvez
dfinir la variable denvironnement AIR_ANDROID_SDK_HOME de sorte rfrencer le dossier du kit SDK
dAndroid. Si vous ne dfinissez pas cette variable denvironnement, vous devez spcifier le chemin daccs au kit SDK
dAndroid dans largument -platformsdk sur la ligne de commande ADT.
Voir aussi
Variables denvironnement ADT la page 198
Variables denvironnement path la page 321
Configuration diOS
Pour installer et tester une application iOS sur un priphrique et la distribuer, vous devez appartenir au programme
iOS Developer dApple (service payant). Une fois membre du programme iOS Developer, vous pouvez accder au
portail iOS Provisioning Portal, o vous pouvez obtenir dApple les lments et fichiers suivants, dont vous devez
disposer pour installer une application sur un priphrique des fins de test et de distribution ultrieure :
Certificats de dveloppement et de distribution
ID dapplication
Fichiers de configuration pour le dveloppement et la distribution dapplications
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)
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.
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.
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.
Android iOS
File.applicationDirectory Lecture seule via une URL (et non le Lecture seule
chemin natif)
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.
Lissage vido
Afin damliorer les performances, le lissage vido est dsactiv sur AIR.
Fonctions natives
AIR 3.0+
De nombreuses plates-formes mobiles proposent des fonctions qui ne sont pas encore accessibles via lAPI AIR
standard. A partir dAIR 3, vous pouvez tendre AIR avec vos propres bibliothques de code natives. Ces bibliothques
dextensions natives peuvent accder aux fonctions disponibles sur le systme dexploitation, voire mme aux
fonctions propres un priphrique donn. Il est possible dcrire les extensions natives en langage C sur iOS, et en
langage Java ou C sur Android. Pour plus dinformations sur le dveloppement dextensions natives, voir Prsentation
des extensions natives pour Adobe AIR.
Gnrez les ID et fichiers de dveloppement requis sur le portail iOS Provisioning Portal dApple, savoir :
Certificat de dveloppement
ID dapplication
Profil de configuration
Vous devez recenser lID de tous les priphriques de test sur lesquels vous envisagez dinstaller lapplication lors
de la cration du profil de configuration.
Convertissez le certificat de dveloppement et la cl prive en fichier de keystore P12.
Programmez le code de lapplication en ActionScript ou MXML.
Compilez lapplication par le biais dun compilateur ActionScript ou MXML.
Crez les icnes et graphiques de lcran initial de lapplication.
Crez le fichier descripteur de lapplication (utilisez lespace de noms 2.6 ou ultrieur).
Mettez en package le fichier IPA laide de loutil ADT.
Placez le profil de configuration sur le priphrique de test via iTunes.
Installez et testez lapplication sur le priphrique iOS. Vous pouvez installer le fichier IPA avec iTunes ou loutil
ADT via USB (prise en charge dUSB sur AIR 3.4 et les versions ultrieures).
Une fois lapplication AIR termine, vous pouvez la mettre nouveau en package avec un certificat de distribution et
un profil de configuration. Vous pouvez alors lenvoyer lApp Store dApple.
Paramtres standard
Divers paramtres de descripteur dapplication jouent un rle important dans toutes les applications pour
priphriques mobiles.
Sur les priphriques qui utilisent un moteur dexcution distinct de lapplication, tel Android sur AIR 3.6 et versions
antrieures, lutilisateur est invit installer ou mettre niveau AIR sil ne dispose pas de la version requise. Sur les
priphriques qui intgrent le moteur dexcution, tel iPhone, ce cas de figure ne se produit pas, tant donn que la
version requise est mise en package avec lapplication.
Remarque : (AIR 3.7 et versions ultrieures) Par dfaut, ADT compresse le moteur dexcution pour les applications
Android.
Spcifiez lespace de noms laide de lattribut xmlns de llment racine application. Les espaces de noms suivants
sont adapts aux applications mobiles (selon la plate-forme mobile cible) :
iOS 4+ and iPhone 3Gs+ or Android:
<application xmlns="http://ns.adobe.com/air/application/2.7">
iOS only:
<application xmlns="http://ns.adobe.com/air/application/2.0">
Remarque : la prise en charge des priphriques iOS 3 est assure par le kit SDK de Packager for iPhone, bas sur le kit
SDK dAIR 2.0. Pour plus dinformations sur la cration dapplications AIR pour iOS 3, voir Cration dapplications
iPhone. Le kit SDK dAIR 2.6 (et versions ultrieures) prend en charge iOS 4 et les versions ultrieures sur les dispositifs
iPhone 3G, iPhone 4 et iPad.
Voir aussi
application la page 222
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).
Exemple :
Si lID de lapplication Apple est 5RM86Z4DJM.com.example.helloWorld, vous devez utiliser
com.example.helloWorld dans le descripteur dapplication.
Si lID dapplication Apple est 96LPVWEASL.com.example.* (ID dapplication caractre gnrique), vous
pourriez utiliser com.example.helloWorld, com.example.anotherApp ou tout autre ID qui commence par
com.example.
Enfin, si lID de lapplication Apple ne contient quun identifiant dapplication (prfixe) et un caractre gnrique,
tel que : 38JE93KJL.*, vous pouvez utiliser tout ID dapplication dans AIR.
Lorsque vous spcifiez lID de lapplication, ignorez la partie identifiant dapplication (prfixe) de lID dapplication.
Voir aussi
id la page 239
filename la page 234
name la page 247
Sous Android, llment versionNumber AIR est converti en entier Android versionCode laide de la formule :
a*1000000 + b*1000 + c, o a, b et c correspondent aux composants du numro de version AIR : a.b.c.
Voir aussi
version la page 255
versionLabel la page 255
versionNumber la page 256
<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.
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.
En mode de rendu sur GPU, les champs de texte ne sont pas correctement dplacs vers un emplacement visible
lors de louverture du clavier virtuel. Pour assurer la visibilit du champ de texte lorsque lutilisateur saisit du
texte, dplacez-le vers la zone visible par le biais de la proprit softKeyboardRect de la scne et des vnements
de clavier logiciel.
Sil est impossible deffectuer le rendu dun objet daffichage sur le GPU, il nest pas affich du tout. Ainsi, si un
filtre est appliqu un objet daffichage, ce dernier nest pas affich.
Remarque : limplmentation GPU pour iOS dans AIR 2.6 et les versions ultrieure est trs diffrente de
limplmentation utilise dans la version prcdente, AIR 2.0. Des considrations doptimisation diffrentes sont prises
en compte.
Voir aussi
aspectRatio la page 225
autoOrients la page 226
depthAndStencil la page 229
fullScreen la page 237
renderMode la page 249
Voir aussi
supportedProfiles la page 252
Profils de priphrique la page 259
Application de dbogage du lanceur AIR (ADL) la page 168
<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.
Etant donn que pan est la valeur par dfaut, omettre llment softKeyboardBehavior active galement le
comportement automatique du clavier.
Remarque : si le mode de rendu sur GPU est galement activ, le comportement dexcution du panoramique nest pas
pris en charge.
Voir aussi
softKeyboardBehavior la page 251
Stage.softKeyboardRect
SoftKeyboardEvent
Paramtres Android
Sur la plate-forme Android, vous disposez de llment android du descripteur dapplication pour ajouter des
informations au manifeste dapplication Android (fichier de proprits dapplication utilis par le systme
dexploitation Android). Loutil ADT gnre automatiquement le fichier Manifest.xml Android lorsque vous crez le
package APK. AIR dfinit quelques proprits sur les valeurs requises pour assurer le fonctionnement de diverses
fonctionnalits. Toute autre proprit dfinie dans la section android du descripteur dapplication AIR est ajoute la
section correspondante du fichier Manifest.xml.
Remarque : pour la plupart des applications AIR, vous devez dfinir les autorisations Android requises par lapplication
dans llment android, mais il est gnralement inutile de dfinir dautres proprits.
Vous ne pouvez dfinir que les attributs qui grent les valeurs de type chane, entier ou boolen. La dfinition de
rfrences sur des ressources du package dapplication nest pas prise en charge.
Remarque : Le moteur dexcution ncessite linstallation dune version du kit SDK gale ou ultrieure la version 14. Si
vous souhaitez crer une application uniquement pour les versions ultrieures, vous devez vous assurer que le fichier
manifeste inclut <uses-sdk android:minSdkVersion=""></uses-sdk> avec la version correcte approprie.
lment manifest
Il est impossible de dfinir les attributs suivants de llment manifest :
package
android:versionCode
android:versionName
xmlns:android
lment activity
Il est impossible de dfinir les attributs suivants de llment activity principal :
android:label
android:icon
lment application
Il est impossible de dfinir les attributs suivants de llment application :
android:theme
android:name
android:label
android:windowSoftInputMode
android:configChanges
android:screenOrientation
android:launchMode
Autorisations Android
Le modle de scurit Android requiert que chaque application demande lautorisation dutiliser les fonctionnalits
dotes dimplications dordre scuritaire ou confidentiel. Vous spcifiez ces autorisations lors de la mise en package de
lapplication et il est impossible de les modifier lexcution. Le systme dexploitation Android avertit lutilisateur des
autorisations demandes par une application lors de linstallation de cette dernire. Si lapplication ne demande pas
une autorisation associe une fonctionnalit, le systme dexploitation risque de renvoyer une exception lorsque
lapplication accde la fonctionnalit. Le renvoi de lexception nest toutefois pas garanti. Le moteur dexcution
transmet les exceptions lapplication. En cas dchec silencieux, un message dchec de lautorisation est insr dans
le journal systme dAndroid.
Dans AIR, vous spcifiez les autorisations Android dans llment android du descripteur dapplication. Lajout
dautorisations fait appel au format suivant (PERMISSION_NAME correspondant au nom dune autorisation
Android) :
<android>
<manifestAdditions>
<![CDATA[
<manifest>
<uses-permission
android:name="android.permission.PERMISSION_NAME" />
</manifest>
]]>
</manifestAdditions>
</android>
Les instructions uses-permissions intgres llment manifest sont directement ajoutes au document manifeste
Android.
Les autorisations suivantes sont obligatoires pour utiliser diverses fonctionnalits AIR :
ACCESS_COARSE_LOCATION Permet lapplication daccder aux donnes de localisation du rseau Wi-Fi ou
cellulaire via la classe Geolocation.
ACCESS_FINE_LOCATION Permet lapplication daccder aux donnes GPS via la classe Geolocation.
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.
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
android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission
android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission
android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission
android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO"
/>
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>
]]>
</manifestAdditions>
</android>
Voir aussi
Android Security and Permissions (disponible en anglais uniquement)
Android Manifest.permission class (disponible en anglais uniquement)
<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)
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).
<android>
<manifestAdditions>
<![CDATA[
<manifest>
<application android:hardwareAccelerated="true"/>
</manifest>
]]>
</manifestAdditions>
</android>
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.
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>
Adobe AIR 3.3 et les versions ultrieures prennent en charge les multitches sous iOS en permettant certains
comportements en arrire-plan :
Audio
Mises jour de lemplacement
Mise en rseau
Annulation de lexcution dune application en arrire-plan
Remarque : avec les versions 21 et antrieures de SWF, AIR ne prend pas en charge lexcution en arrire-plan sur iOS
et Android lorsque le mode de rendu est dfini sur direct. En raison de cette restriction, les applications bases sur Stage3D
ne peuvent pas excuter des tches en arrire-plan telles que la lecture de laudio, les mises jour demplacement, les
tlchargements vers/depuis le rseau, etc. iOS nautorise pas les appels OpenGLES/de rendu en arrire-plan. Il
interrompt ainsi les applications qui tentent de lancer des appels en arrire-plan. Android ne restreint pas les appels
OpenGLES ou toute autre tche en arrire-plan lance par les applications (telle que la lecture daudio). Avec les
versions 22 et ultrieures de SWF, les applications mobiles AIR peuvent sexcuter en arrire-plan lorsque renderMode
est dfinir sur direct. Le moteur dexcution AIR iOS entrane une erreur ActionScript (3768 - LAPI Stage3D ne peut pas
tre utilise lors dune excution en arrire-plan) si les appels OpenGLES sont effectus en arrire-plan. Cependant,
aucune erreur ne se produit sur Android car ses applications natives sont autorises effectuer des appels OpenGLES en
arrire-plan. Pour une utilisation optimale des ressources mobiles, neffectuez pas dappels de rendu lorsquune
application sexcute en arrire-plan.
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>
<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.
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.
CFBundleDisplayName CTInitialWindowTitle
CFBundleExecutable CTInitialWindowVisible
CFBundleIconFiles CTIosSdkVersion
CFBundleIdentifier CTMaxSWFMajorVersion
CFBundleInfoDictionaryVersion DTPlatformName
CFBundlePackageType DTSDKName
CFBundleShortVersionString NSMainNibFile
CFBundleSupportedPlatforms UIInterfaceOrientation
CFBundleVersion UIStatusBarHidden
CTAutoOrients UISupportedInterfaceOrientations
Remarque : Vous pouvez dfinir MinimumOSVersion. La dfinition de MinimumOSVersion est prise en charge dans
Air 3.3 et les versions ultrieures.
Le paramtre suivant prend en charge les deux familles de priphriques (iPhone/iPod Touch et iPad) :
<key>UIDeviceFamily</key>
<array>
<string>1</string>
<string>2</string>
</array>
En outre, dans AIR 3.7 et les versions ultrieures, vous pouvez utiliser la balise forceCPURenderModeForDevices
balise pour forcer le mode de rendu UC pour un ensemble de priphriques spcifis et activer le mode de rendu GPU
les priphriques iOS restants.
Vous ajoutez cette balise comme enfant de la balise iPhone et spcifiez une liste de noms de modles spars par des
espaces. Pour obtenir une liste de noms de modle valides, reportez-vous forceCPURenderModeForDevices la
page 236.
Par exemple, pour utiliser le mode UC dans les anciens iPods, iPhones et iPads, et activer le mode GPU pour tous les
autres priphriques, spcifiez ce qui suit dans le descripteur dapplication :
...
<renderMode>GPU</renderMode>
...
<iPhone>
...
<forceCPURenderModeForDevices>iPad1,1 iPhone1,1 iPhone1,2
iPod1,1
</forceCPURenderModeForDevices>
</iPhone>
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>
Voir aussi
requestedDisplayResolution la page 250
Renaun Erickson : Developing for both retina and non-retina iOS screens using AIR 2.6 (disponible en anglais
uniquement)
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>example</string>
</array>
<key>CFBundleURLName</key>
<string>com.example.app</string>
</dict>
</array>
Si lapplication est appele par le biais dun URI personnalis, lobjet NativeApplication distribue un vnement
invoke. LURL du lien, paramtres dinterrogation inclus, est place dans le tableau arguments de lobjet
InvokeEvent. Vous disposez dun nombre illimit de modles dURI.
Remarque : les liens dans une occurrence de StageWebView ne peuvent pas ouvrir les URL qui font appel un modle
dURI personnalis.
Remarque : si une autre application a dj enregistr un modle dURI, il est impossible dassocier votre application au
modle.
Si le priphrique nest pas quip de ces fonctionnalits, il est impossible dinstaller lapplication. Les paramtres de
fonctionnalits associs aux applications AIR sont les suivants :
telephony camera-flash
wifi video-camera
sms accelerometer
still-camera location-services
auto-focus-camera gps
front-facing-camera microphone
AIR 2.6+ ajoute automatiquement armv7 et opengles-2 la liste des fonctionnalits requises.
Remarque : il est inutile dinclure ces fonctionnalits dans le descripteur de lapplication pour que cette dernire les utilise.
Ne faites appel aux paramtres UIRequiredDeviceCapabilities que pour interdire aux utilisateurs dinstaller lapplication
sur un priphrique sur lequel elle ne peut pas fonctionner correctement.
<key>UIApplicationExitsOnSuspend</key>
<true/>
Rduire la taille des tlchargements en chargeant des fichiers SWF externes dactifs
uniquement
AIR 3.7
Vous pouvez rduire la taille de tlchargement initiale de lapplication en compressant un sous-ensemble des fichiers
SWF utilises par votre application et en chargeant les fichiers SWF externes restants (actif uniquement) lors de
lexcution laide de la mthode Loader.load(). Pour utiliser cette fonction, vous devez compresser lapplication de
telle sorte quADT dplace tout le pseudo-code ActionScript (ABC) depuis les fichiers SWF chargs en externe vers le
fichier SWF principal de lapplication, laissant un fichier SWF qui contient uniquement des actifs. Cela est ncessaire
pour respecter la rgle de lApple Store qui interdit le tlchargement tout code une fois quune application est installe.
ADT effectue les oprations suivantes pour prendre en charge les fichiers SWF chargs en externe (galement appels
fichiers SWF dmunis) :
Lit le fichier texte spcifi dans le sous-lment <externalSwfs> de llment <iPhone> pour accder la liste de
fichiers SWF spars par une ligne charger la prochaine excution :
<iPhone>
...
<externalSwfs>FilewithPathsOfSWFsThatAreToNotToBePackaged.txt</externalSwfs>
</iPhone>
Transfert le code ABC de chaque fichier SWF charg en externe vers lexcutable principal.
Omet les fichiers SWF chargs en externe du fichier .ipa.
Copie les fichiers SWF dmunis dans le rpertoire .remoteStrippedSWFs. Vous hbergez ces fichiers SWF sur un
serveur Web et votre application les charge, au besoin, au moment de lexcution.
Vous devez indiquer les fichiers SWF charger au moment de lexcution en spcifiant leurs noms, un par ligne dans
un fichier texte, comme le montre lexemple suivant :
assets/Level1/Level1.swf
assets/Level2/Level2.swf
assets/Level3/Level3.swf
assets/Level4/Level4.swf
Le chemin daccs du fichier spcifi est relatif au fichier descripteur de lapplication. En outre, vous devez spcifier ces
fichiers SWF comme actifs dans la commande adt.
Remarque : Cette fonction sapplique aux compressions standard uniquement. Pour une compression rapide (par
exemple laide dun interprteur, dun simulateur, ou dun dbogueur) ADT ne cre pas de fichiers SWF dmunis.
Pour plus dinformations sur cette fonction, y compris un exemple de code, reportez-vous Hbergement externe
de fichiers SWF secondaires pour applications AIR sur iOS, une publication de blog par Abhinav Dhandh,
ingnieur chez Adobe.
<InfoAdditions>
<![CDATA[
<key>NSLocationAlwaysUsageDescription</key>
<string>Sample description to allow geolocation always</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Sample description to allow geolocation when application
is in foreground</string>
]]>
</InfoAdditions>
29x29 iOS
36x36 Android
40 x 40 iOS
50x50 iOS
57x57 iOS
58x58 iOS
60 x 60 iOS
75 x 75 iOS
76 x 76 iOS
80 x 80 iOS
87 x 87 iOS
96x96 Android
100x100 iOS
114x114 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.
Etant donn quiOS ajoute un effet de lueur jaune une icne, il est inutile dappliquer leffet limage source. Pour
dsactiver cet effet de lueur jaune activ par dfaut, ajoutez le texte ci-dessous llment InfoAdditions du fichier
descripteur dapplication :
<InfoAdditions>
<![CDATA[
<key>UIPrerenderedIcon</key>
<true/>
]]>
</InfoAdditions>
Remarque : sur iOS, les mtadonnes de lapplication sont insres en tant que mtadonnes png dans les icnes de
lapplication afin quAdobe puisse connatre le nombre dapplications AIR disponibles dans lApp Store iOS dApple. Si
vous ne souhaitez pas que votre application soit identifie comme une application AIR, vous devez extraire le fichier IPA
du package, retirer les mtadonnes de licne, puis remettre le fichier IPA en package. Cette procdure est dcrite dans
larticle Opt-out of AIR application analytics for iOS (disponible en anglais uniquement).
Voir aussi
icon la page 238
imageNxN la page 239
Android Developers : Icon Design Guidelines (disponible en anglais uniquement)
iOS Human Interface Guidelines: Custom Icon and Image Creation Guidelines (disponible en anglais uniquement)
La partie basename du nom de fichier est lunique partie requise. Elle correspond soit Default (avec un D majuscule),
soit au nom spcifi laide de la cl UILaunchImageFile dans llment InfoAdditions du descripteur de
lapplication.
La partie screen size modifier dsigne la taille de lcran lorsquelle ne correspond aucune taille dcran standard. Ce
modificateur sapplique uniquement aux modles diPhone et diPod dots dcrans 16:9, tels que liPhone 5 et liPod
touch de 5e gnration. Lunique valeur prise en charge par ce modificateur est -568h. Etant donn que ces
priphriques prennent en charge les affichages haute rsolution (Retina), le modificateur de taille dcran est toujours
utilis avec une image possdant galement le modificateur dchelle @2x. Le nom dimage de lancement complet par
dfaut pour ces priphriques est Default-568h@2x.png.
La partie urischeme correspond la chane didentification du modle dURI. Cette partie sapplique uniquement si
votre application mobile prend en charge un ou plusieurs modles dURL personnaliss. Par exemple, sil est possible
dappeler lapplication par le biais dun lien tel que example://foo, faites de -example la partie modle du nom de
fichier de limage de lancement.
La partie orientation permet de spcifier plusieurs images de lancement selon lorientation du priphrique lors du
dmarrage de lapplication. Cette partie sapplique uniquement aux images des applications de liPad. Elle peut
possder lune des valeurs suivantes, selon lorientation du priphrique lorsque lapplication dmarre :
-Portrait
-PortraitUpsideDown
-Landscape
-LandscapeLeft
-LandscapeRight
La partie scale correspond @2x (pour liPhone 4, liPhone 5 et liPhone 6) ou @3x (pour liPhone 6 plus) pour les
images de lancement rserves aux crans haute rsolution (retina). (Omettez compltement la partie scale pour les
images associes aux crans rsolution standard.) Pour les images de lancement des priphriques plus grands, tels
que liPhone 5 et liPod touch de 5e gnration, vous devez galement spcifier le modificateur de taille dcran -528h
aprs la partie basename et avant tout autre partie.
La partie device est utilise pour dsigner les images de lancement des priphriques et des tlphones de poche. Cette
partie est utilise lorsque votre application est une application mobile universelle qui prend en charge les priphriques
de poche et les tablettes avec une seule interface binaire-programme. La valeur doit tre soit ~ipad soit ~iphone (pour
liPhone et liPod Touch).
Pour liPhone, vous ne pouvez inclure que les images au format portrait. Cependant, dans le cas dun iPhone 6 plus,
les images en mode paysage peuvent galement tre ajoutes. Utilisez des images de 320 x 480 pixels pour les
priphriques de rsolution standard, des images de 640 x 960 pixels pour les priphriques haute rsolution, et des
images 640 x 1 136 pixels pour les priphriques 16:9 tels que liPhone 5 et liPod touch de 5e gnration.
Pour liPad, vous pouvez inclure les images suivantes :
AIR 3.3 et versions antrieures : images qui ne sont pas au mode plein cran : vous pouvez inclure des images au
format paysage (1 024 x 748 en rsolution normale, 2 048 x 1 496 en haute rsolution) et au format portrait (768 x
1 004 en rsolution normale, 1 536 x 2 008 en haute rsolution).
AIR 3.4 et versions ultrieures : images plein cran : vous pouvez inclure des images au format paysage (1 024 x 768
en rsolution normale, 2 048 x 1 536 en haute rsolution) et au format portrait (768 x 1 024 en rsolution normale,
1 536 x 2 048 en haute rsolution). Notez que lorsque vous mettez en package une image plein cran pour une
application qui nest pas affiche en plein cran, les 20 pixels suprieurs (les 40 pixels suprieurs pour une image
haute rsolution) sont masqus par la barre dtat. Evitez dafficher des informations importantes dans cette zone.
Exemples
Le tableau suivant contient un exemple densemble dimages de lancement que vous pourriez associer une
application hypothtique qui prend en charge lventail le plus large possible de priphriques et dorientations.
Lutilisateur peut lancer lapplication par le biais dURL bases sur le modle example:// :
Default-Portrait@2x.png 1 536 x 2 008 (AIR 3.3 et iPad, haute rsolution, orientation portrait
versions antrieures)
Default-PortraitUpsideDown@2x.png 1 536 x 2 008 (AIR 3.3 et iPad, haute rsolution, orientation portrait
versions antrieures) lenvers
1 536 x 2 048 (AIR 3.4 et
versions ultrieures)
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)
iPhone
iPad
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
Packages Android
Les applications AIR for Android utilisent le format de package dAndroid (APK), plutt que le format de package
dAIR.
Le format des packages produits par loutil ADT avec le type de cible APK est adapt Android Market. Toute
application doit imprativement se conformer aux conditions requises dAndroid Market pour tre accepte. Passez
en revue les conditions requises les plus rcentes avant de crer le package final. Voir Android Developers : Publishing
on the Market (disponible en anglais uniquement).
Contrairement aux applications iOS, vous pouvez signer lapplication par le biais dun certificat de signature du code
AIR standard. Toutefois, pour proposer une application sur Android Market, le certificat doit respecter les rgles en
vigueur, qui exigent quil soit valide au moins jusquen 2033. Pour crer un certificat de ce type, utilisez la commande
ADT -certificate.
Pour proposer une application un autre site dont les applications ne doivent pas ncessiter le tlchargement dAIR
partir dAndroid Market, vous pouvez spcifier une autre URL de tlchargement laide du paramtre -
airDownloadURL de loutil ADT. Lorsquun utilisateur qui ne dispose pas de la version requise du moteur dexcution
dAIR lance lapplication, il est redirig vers lURL indique. Pour plus dinformations, voir Commande ADT
package la page 175.
Par dfaut, ADT met en package lapplication Android avec le moteur dexcution partag. Pour excuter lapplication,
lutilisateur doit donc installer le moteur dexcution dAIR sparment sur le priphrique.
Remarque : Pour forcer ADT crer un package APK qui utilise un moteur dexcution captif, utilisez target apk-
captive-runtime.
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)
Saisissez la commande entire sur une ligne unique. Les sauts de ligne que contient lexemple ci-dessus ont pour
unique objet de faciliter la lecture. Par ailleurs, lexemple part du principe que le chemin daccs loutil ADT figure
dans la dfinition path de linterface de commande de ligne de commande. (Pour plus dinformations, voir Variables
denvironnement path la page 321.)
Vous devez excuter la commande partir du rpertoire qui contient les fichiers de lapplication. Dans lexemple
illustr, les fichiers de lapplication sont myApp-app.xml (fichier descripteur de lapplication), myApp.swf et un
rpertoire dicnes.
Si vous excutez la commande comme indiqu, loutil ADT vous invite entrer le mot de passe associ au keystore.
(Les caractres du mot de passe saisis ne sont pas affichs. Appuyez simplement sur Entre une fois la saisie termine.)
Remarque : Par dfaut, toutes les applications AIR Android disposent dAir. prfixe du nom du package. Pour
dsactiver ce comportement par dfaut, dfinissez la variable denvironnement AIR_NOANDROIDFLAIR sur true depuis
votre ordinateur.
Cration dun package APK pour une application faisant appel des extensions natives
Pour crer un package APK pour une application ayant recours aux extensions natives, ajoutez loption -extdir aux
options de mise en package standard. Dans le cas de fichiers ANE qui partagent des ressources/bibliothques, loutil
ADT slectionne une seule ressource/bibliothque et ignore les autres entres en double avant de gnrer un
avertissement. Cette option spcifie le rpertoire contenant les fichiers ANE auxquels fait appel lapplication.
Exemple :
adt -package
-target apk
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
-extdir extensionsDir
myApp.swf icons
Cration dun package APK incluant sa propre version du moteur dexcution dAIR
Pour crer un package APK contenant lapplication et une version captive du moteur dexcution dAIR, utilisez la
cible apk-captive-runtime. Cette option spcifie le rpertoire contenant les fichiers ANE auxquels fait appel
lapplication. Exemple :
adt -package
-target apk-captive-runtime
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
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 192 pour obtenir
une description complte des indicateurs -connect et -listen.
Remarque : Par dfaut, ADT met en package une copie captive du moteur dexcution dAIR avec votre application
Android lors de la cration du package de lapplication avec la cible apk-debug. Pour forcer loutil ADT crer un package
APK qui utilise un moteur dexcution externe, dfinissez la variable denvironnement AIR_ANDROID_SHARED_RUNTIME
sur true.
Sous Android, lapplication doit galement tre autorise accder Internet pour pouvoir se connecter lordinateur
qui excute le dbogueur via le rseau. Voir Autorisations Android la page 80.
Lexemple part du principe que le chemin daccs loutil ADT figure dans la dfinition path de linterface de
commande de ligne de commande. (Pour plus dinformations, voir Variables denvironnement path la page 321.)
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 :
-target ipa-debug -connect bobroberts-mac.example.com
Loption -connect est facultative. Si elle nest pas spcifie, lapplication de dbogage rsultante ne tentera pas
de se connecter un dbogueur hberg. Vous pouvez galement spcifier -listen au lieu de -connect pour
activer le dbogage via USB (voir Dbogage distance avec le programme FDB via USB la page 112).
En cas dchec dune tentative de connexion une session de dbogage, lapplication affiche une bote de
dialogue qui invite lutilisateur saisir ladresse IP de lordinateur qui hberge le dbogueur. Une tentative de
connexion peut chouer si le priphrique nest pas connect au rseau Wi-Fi. Elle peut galement chouer si le
priphrique est connect, mais pas derrire le pare-feu de lordinateur de dbogage hte.
Vous pouvez galement utiliser ipa-debug-interpreter pour une compilation plus rapide ou ipa-debug-
interpreter-simulator pour excuter lapplication dans le simulateur iOS.
Pour plus dinformations, voir Dbogage dune application AIR mobile la page 105.
-target ipa-ad-hoc : cette option permet de crer une application destine un dploiement ad hoc (voir le
centre des dveloppeurs iPhone dApple).
-target ipa-app-store : cette option permet de crer une version dfinitive du fichier IPA dployer sur
lApp Store dApple.
Remplacez PROFILE_PATH par le chemin du profil de configuration de lapplication. Pour plus dinformations sur
les profils de configuration, voir Configuration diOS la page 69.
Utilisez loption -platformsdk pour pointer vers le kit du simulateur iOS lorsque vous crez votre application en
vue de lexcuter dans le simulateur iOS.
Remplacez llment SIGNING_OPTIONS de sorte faire rfrence au certificat de dveloppement iPhone et au mot
de passe correspondant Utilisez la syntaxe suivante :
-storetype pkcs12 -keystore P12_FILE_PATH -storepass PASSWORD
Remplacez P12_FILE_PATH par le chemin du fichier de certificat P12. Remplacez PASSWORD par le mot de passe
associ au certificat (voir lexemple ci-dessous). Pour plus dinformations sur le fichier du certificat P12, voir
Conversion dun certificat de dveloppement en fichier de keystore P12 la page 209.
Remarque : vous pouvez utiliser un certificat auto-sign lors de la mise en package pour le simulateur iOS.
Remplacez llment APP_DESCRIPTOR de sorte faire rfrence au fichier descripteur de lapplication.
Remplacez llment SOURCE_FILES de sorte faire rfrence au principal fichier SWF du projet, suivi de tout autre
actif inclure. Incluez les chemins daccs tous les fichiers dicne dfinis dans la bote de dialogue des paramtres
de lapplication de Flash Professional ou dans un fichier descripteur dapplication personnalis. Ajoutez galement
le fichier contenant les graphiques de lcran initial, Default.png.
Utilisez loption -extdir extension-directory pour spcifier le rpertoire contenant les fichiers ANE
(extensions natives) quutilise lapplication. Si lapplication ne fait pas appel des extensions natives, nincluez pas
cette option.
Important : ne crez pas de sous-rpertoire dans le rpertoire de votre application appel Resources. Le moteur
dexcution cre automatiquement un dossier avec ce nom pour respecter la structure du package IPA. La cration de
votre propre dossier de ressources entrane un conflit fatal.
Remarque : Vous pouvez galement utiliser ipa-debug-interpreter pour une compilation plus rapide ou ipa-
debug-interpreter-simulator pour excuter lapplication dans le simulateur iOS
Saisissez la commande entire sur une ligne unique. Les sauts de ligne que contient lexemple ci-dessus ont pour
unique objet de faciliter la lecture. Par ailleurs, lexemple part du principe que le chemin daccs loutil ADT figure
dans la dfinition path de linterface de commande de ligne de commande. (Pour plus dinformations, voir Variables
denvironnement path la page 321.)
Vous devez excuter la commande partir du rpertoire qui contient les fichiers de lapplication. Dans lexemple
illustr, les fichiers de lapplication sont myApp-app.xml (fichier descripteur de lapplication), myApp.swf, un
rpertoire dicnes et le fichier Default.png.
Vous devez signer lapplication laide du certificat de distribution correct dlivr par Apple. Il est impossible dutiliser
tout autre certificat dveloppeur.
Utilisez loption -connect pour le dbogage wi-fi. Lapplication tente de lancer une session de dbogage lorsque le
dbogueur Flash (FDB) est en cours dexcution sur ladresse IP ou le nom dhte spcifi. Utilisez loption -listen
pour le dbogage USB. Dmarrez tout dabord lapplication, puis dmarrez FDB, qui lance une session de dbogage
pour lapplication en cours dexcution. Pour plus dinformations, voir Connexion au dbogueur Flash la
page 110.
Saisissez la commande entire sur une ligne unique. Les sauts de ligne que contient lexemple ci-dessus ont pour
unique objet de faciliter la lecture. Par ailleurs, lexemple part du principe que le chemin daccs loutil ADT figure
dans la dfinition path de linterface de commande de ligne de commande. (Pour plus dinformations, voir Variables
denvironnement path la page 321.)
Vous devez excuter la commande partir du rpertoire qui contient les fichiers de lapplication. Dans lexemple
illustr, les fichiers de lapplication sont myApp-app.xml (fichier descripteur de lapplication), myApp.swf, un
rpertoire dicnes et le fichier Default.png.
Vous devez signer lapplication laide du certificat de distribution correct dlivr par Apple. Il est impossible dutiliser
tout autre certificat dveloppeur.
Important : Apple requiert que vous utilisiez le programme Application Loader dApple pour tlcharger une application
sur lApp Store. Apple publie Application Loader pour Mac OS X uniquement. Par consquent, bien que vous puissiez
dvelopper une application AIR pour liPhone sur un ordinateur Windows, vous devez disposer dun ordinateur qui
excute OS X (version 10.5.3 ou ultrieure) pour envoyer lapplication lApp Store. Le programme Application Loader
est disponible sur le centre de dveloppement iOS dApple.
adt -package
-target ipa-ad-hoc
-storetype pkcs12 -keystore ../AppleDistribution.p12
-provisioning-profile AppleDistribution.mobileprofile
myApp.ipa
myApp-app.xml
myApp.swf icons Default.png
Saisissez la commande entire sur une ligne unique. Les sauts de ligne que contient lexemple ci-dessus ont pour
unique objet de faciliter la lecture. Par ailleurs, lexemple part du principe que le chemin daccs loutil ADT figure
dans la dfinition path de linterface de commande de ligne de commande. (Pour plus dinformations, voir Variables
denvironnement path la page 321.)
Vous devez excuter la commande partir du rpertoire qui contient les fichiers de lapplication. Dans lexemple
illustr, les fichiers de lapplication sont myApp-app.xml (fichier descripteur de lapplication), myApp.swf, un
rpertoire dicnes et le fichier Default.png.
Vous devez signer lapplication laide du certificat de distribution correct dlivr par Apple. Il est impossible dutiliser
tout autre certificat dveloppeur.
Cration dun package iOS pour une application faisant appel des extensions natives
Pour crer un package iOS pour une application faisant appel des extensions natives, utilisez la commande du
package ADT avec loption -extdir. Utilisez la commande ADT correspondant la cible (ipa-app-store, ipa-
debug, ipa-ad-hoc, ipa-test). Exemple :
adt -package
-target ipa-ad-hoc
-storetype pkcs12 -keystore ../AppleDistribution.p12
-provisioning-profile AppleDistribution.mobileprofile
myApp.ipa
myApp-app.xml
-extdir extensionsDir
myApp.swf icons Default.png
Saisissez la commande entire sur une ligne unique. Les sauts de ligne que contient lexemple ci-dessus ont pour
unique objet de faciliter la lecture.
En ce qui concerne les extensions natives, lexemple ci-dessus suppose que le rpertoire appel extensionsDir est le
rpertoire dans lequel vous excutez la commande. Le rpertoire extensionsDir contient les fichiers ANE auxquels
fait appel lapplication.
Si vous adoptez cette mthode pour simuler le profil mobile sur le bureau, lapplication sexcute dans un
environnement plus proche dun priphrique mobile cible. Les API ActionScript qui ne font pas partie du profil
mobile ne sont pas disponibles. Lapplication ADL ntablit toutefois pas de distinction entre les fonctionnalits de
diffrents priphriques mobiles. Vous pouvez, par exemple, envoyer des simulations dutilisation de touche
programmable lapplication, mme si le priphrique cible rel nutilise pas de touches programmables.
Lapplication ADL prend en charge les simulations de changement dorientation dun priphrique et la saisie par
touches programmables par le biais de commandes de menu. Si vous lexcutez dans le profil de priphrique mobile,
elle affiche un menu (dans la fentre de lapplication ou la barre de menus du bureau) qui permet dentrer les donnes
de rotation du priphrique ou de touche programmable.
Touches programmables
Lapplication ADL simule les boutons de touche programmable Retour, Menu et Rechercher dun priphrique
mobile. Vous pouvez envoyer ces touches au priphrique simul laide du menu qui saffiche au lancement de
lapplication ADL par le biais du profil mobile.
Rotation du priphrique
Lapplication ADL permet de simuler la rotation dun priphrique laide du menu qui saffiche au lancement dADL
par le biais du profil mobile. Vous pouvez faire pivoter le priphrique simul vers la droite ou la gauche.
La simulation de la rotation naffecte quune application qui gre lorientation automatique. Pour activer cette
fonctionnalit, dfinissez llment autoOrients sur true dans le descripteur dapplication.
Taille de lcran
Vous pouvez tester lapplication sur des crans de diverses tailles en dfinissant le paramtre ADL -screensize. Vous
pouvez transmettre le code associ lun des types dcran prdfinis ou une chane qui contient les quatre valeurs
reprsentant les dimensions en pixels des crans de taille normale et agrandie.
Veillez toujours spcifier les dimensions (en pixels) correspondant au format Portrait, cest--dire de spcifier une
valeur de largeur infrieure la valeur de hauteur. La commande suivante permet, par exemple, douvrir lapplication
ADL pour simuler lcran du Droid Motorola :
adl -screensize 480x816:480x854 myApp-app.xml
Pour consulter la liste des types dcran prdfinis, voir Utilisation de lapplication ADL la page 168.
Restrictions
Lapplication ADL ne peut pas simuler certaines API qui ne sont pas prises en charge par le profil de bureau, savoir :
Accelerometer
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.
adt -package
-target ipa-test-interpreter-simulator
-storetype pkcs12 -keystore Certificates.p12
-storepass password
myApp.ipa
myApp-app.xml
myApp.swf
-platformsdk
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk
Remarque : Les options de signature ne sont dsormais plus requises dans le cas des simulateurs. Par consquent, toute
valeur peut tre fournie dans lindicateur -keystore, car elle nest pas prise en charge par ADT.
2 Utilisez la commande adt -installApp pour installer lapplication dans le simulateur iOS, comme dans lexemple
suivant :
adt -installApp
-platform ios
-platformsdk
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk
-device ios-simulator
-package sample_ipa_name.ipa
3 Utilisez la commande adt -launchApp pour excuter lapplication dans le simulateur iOS, comme dans lexemple
suivant :
Remarque : Par dfaut, la commande adt -launchApp excute lapplication dans le simulateur iPhone. Pour
excuter lapplication dans le simulateur iPad, exportez la variable denvironnement, AIR_IOS_SIMULATOR_DEVICE
= iPad, puis excutez la commande adt -launchApp.
adt -launchApp
-platform ios
-platformsdk
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk
-device ios-simulator
-appid sample_ipa_name
Pour tester une extension native dans le simulateur iOS, utilisez le nom de plate-forme iPhone-x86 dans le fichier
extension.xml, puis spcifiez library.a (bibliothque statique) dans llment nativeLibrary, comme dans
lexemple extension.xml suivant :
<extension xmlns="http://ns.adobe.com/air/extension/3.1">
<id>com.cnative.extensions</id>
<versionNumber>1</versionNumber>
<platforms>
<platform name="iPhone-x86">
<applicationDeployment>
<nativeLibrary>library.a</nativeLibrary>
<initializer>TestNativeExtensionsInitializer </initializer>
<finalizer>TestNativeExtensionsFinalizer </finalizer>
</applicationDeployment>
</platform>
</platforms>
</extension>
Remarque : lorsque vous testez une extension native dans le simulateur iOS, nutilisez pas la bibliothque statique
(fichier .a) compile pour le priphrique. Utilisez plutt la bibliothque statique compile pour le simulateur.
Instructions trace
Si vous excutez lapplication mobile sur le bureau, la sortie trace est imprime sur le dbogueur ou la fentre du
terminal utilise pour lancer lapplication ADL. Si vous excutez lapplication sur un priphrique ou un mulateur,
vous pouvez configurer une session de dbogage distance pour afficher la sortie trace. Si cette fonctionnalit est prise
en charge, vous pouvez galement afficher la sortie trace laide des outils de dveloppement logiciel intgrs au
priphrique ou au systme dexploitation.
Dans tous les cas, vous devez compiler les fichiers SWF de lapplication en activant le dbogage pour que le moteur
dexcution puisse gnrer les instructions trace.
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.
Voir aussi
Android Debug Bridge: Enable logcat Logging (disponible en anglais uniquement)
Variables denvironnement path la page 321
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
(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
Pour dboguer une application mobile via une connexion USB, mettez en package lapplication en utilisant loption
-listen au lieu de loption -connect. Si vous spcifiez loption -listen, le moteur dexcution coute une connexion
provenant du dbogueur Flash (FDB) sur le port TCP 7936 au dmarrage de lapplication. Excutez alors FDB avec
loption -p ; FDB tablit la connexion.
Procdure de dbogage USB pour Android
Pour que le dbogueur Flash qui sexcute sur lordinateur de bureau se connecte au moteur dexcution dAIR qui
sexcute sur le priphrique ou lmulateur, vous devez utiliser lutilitaire Android Debug Bridge (ADB, intgr au kit
SDK dAndroid) ou lutilitaire iOS Debug Bridge (IDB, intgr au kit SDK dAIR) pour transmettre le port du
priphrique au port de lordinateur de bureau.
1 Ouvrez une fentre dinvite de commande ou de terminal et accdez au rpertoire qui contient le code source de
lapplication.
2 Compilez lapplication avec amxmlc en activant le dbogage :
amxmlc -debug DebugExample.as
3 Mettez en package lapplication laide de la cible de dbogage approprie (telle que apk-debug), puis spcifiez
loption -listen :
adt -package -target apk-debug -listen -storetype pkcs12 -keystore ../../AndroidCert.p12
DebugExample.apk DebugExample-app.xml DebugExample.swf
4 Connectez le priphrique lordinateur de dbogage via un cble USB. (Cette procdure permet galement de
dboguer une application qui sexcute sur un mulateur, auquel cas la connexion USB est superflue et
impossible.)
5 Installez lapplication.
Vous pouvez utiliser la commande ADT -installApp :
adt -installApp -platform android -package DebugExample.apk
6 Transmettez le port TCP 7936 du priphrique ou de lmulateur lordinateur de bureau par le biais de lutilitaire
Android ADB :
adb forward tcp:7936 tcp:7936
Remarque : le moteur dexcution dAIR et FDB utilisent par dfaut le port 7936 pour le dbogage. Vous pouvez spcifier
lutilisation dautres ports avec le paramtre de port ADT -listen et le paramtre de port FDB -p. Si tel est le cas, vous devez
transfrer le numro de port spcifi dans loutil ADT au port spcifi dans FDB par le biais de lutilitaire Android Debug
Bridge : adb forward tcp:adt_listen_port# tcp:fdb_port#
Procdure de dbogage USB pour iOS
Pour que le dbogueur Flash qui sexcute sur lordinateur de bureau se connecte au moteur dexcution dAIR qui
sexcute sur le priphrique ou lmulateur, vous devez utiliser lutilitaire iOS Debug Bridge (IDB, intgr au kit SDK
dAIR) pour transmettre le port du priphrique au port de lordinateur de bureau.
1 Ouvrez une fentre dinvite de commande ou de terminal et accdez au rpertoire qui contient le code source de
lapplication.
2 Compilez lapplication avec amxmlc en activant le dbogage :
amxmlc -debug DebugExample.as
3 Mettez en package lapplication laide de la cible de dbogage approprie (telle que ipa-debug ou ipa-debug-
interpreter), puis spcifiez loption -listen :
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
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 :
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.
Si la nouvelle version nest pas installe, supprimez-la du priphrique et de la liste dapplications dans iTunes, puis
rptez la procdure. Ce cas de figure se produit parfois si la version actuellement installe utilise le mme ID et le
mme numro.
Voir aussi
Commande ADT installRuntime la page 186
Commande ADT installApp la page 184
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.
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.
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
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)
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.
crer un profil et un certificat dattribution de privilges daccs pour activer les services Push sur iOS.
Lexemple de code annot suivant souscrit aux notifications Push et gre les vnements de notification Push :
package
{
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.*;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.MouseEvent;
import flash.net.*;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.ui.Multitouch;
import flash.ui.MultitouchInputMode;
// Required packages for push notifications
import flash.notifications.NotificationStyle;
import flash.notifications.RemoteNotifier;
import flash.notifications.RemoteNotifierSubscribeOptions;
import flash.events.RemoteNotificationEvent;
import flash.events.StatusEvent;
[SWF(width="1280", height="752", frameRate="60")]
public class TestPushNotifications extends Sprite
{
private var notiStyles:Vector.<String> = new Vector.<String>;;
private var tt:TextField = new TextField();
private var tf:TextFormat = new TextFormat();
// Contains the notification styles that your app wants to receive
private var preferredStyles:Vector.<String> = new Vector.<String>();
private var subscribeOptions:RemoteNotifierSubscribeOptions = new
RemoteNotifierSubscribeOptions();
private var remoteNot:RemoteNotifier = new RemoteNotifier();
private var subsButton:CustomButton = new CustomButton("Subscribe");
private var unSubsButton:CustomButton = new
CustomButton("UnSubscribe");
private var clearButton:CustomButton = new CustomButton("clearText");
private var urlreq:URLRequest;
private var urlLoad:URLLoader = new URLLoader();
private var urlString:String;
public function TestPushNotifications()
{
super();
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
tf.size = 20;
tf.bold = true;
tt.x=0;
tt.y =150;
tt.height = stage.stageHeight;
tt.width = stage.stageWidth;
tt.border = true;
tt.defaultTextFormat = tf;
addChild(tt);
subsButton.x = 150;
subsButton.y=10;
subsButton.addEventListener(MouseEvent.CLICK,subsButtonHandler);
stage.addChild(subsButton);
unSubsButton.x = 300;
unSubsButton.y=10;
unSubsButton.addEventListener(MouseEvent.CLICK,unSubsButtonHandler);
stage.addChild(unSubsButton);
clearButton.x = 450;
clearButton.y=10;
clearButton.addEventListener(MouseEvent.CLICK,clearButtonHandler);
stage.addChild(clearButton);
//
tt.text += "\n SupportedNotification Styles: " +
RemoteNotifier.supportedNotificationStyles.toString() + "\n";
tt.text += "\n Before Preferred notificationStyles: " +
subscribeOptions.notificationStyles.toString() + "\n";
// Subscribe to all three styles of push notifications:
// ALERT, BADGE, and SOUND.
preferredStyles.push(NotificationStyle.ALERT
,NotificationStyle.BADGE,NotificationStyle.SOUND );
subscribeOptions.notificationStyles= preferredStyles;
tt.text += "\n After Preferred notificationStyles:" +
subscribeOptions.notificationStyles.toString() + "\n";
remoteNot.addEventListener(RemoteNotificationEvent.TOKEN,tokenHandler);
remoteNot.addEventListener(RemoteNotificationEvent.NOTIFICATION,notificationHandler);
remoteNot.addEventListener(StatusEvent.STATUS,statusHandler);
this.stage.addEventListener(Event.ACTIVATE,activateHandler);
}
// Apple recommends that each time an app activates, it subscribe for
// push notifications.
public function activateHandler(e:Event):void{
// Before subscribing to push notifications, ensure the device supports
it.
// supportedNotificationStyles returns the types of notifications
// that the OS platform supports
if(RemoteNotifier.supportedNotificationStyles.toString() != "")
{
remoteNot.subscribe(subscribeOptions);
}
else{
tt.appendText("\n Remote Notifications not supported on this Platform
!");
}
}
public function subsButtonHandler(e:MouseEvent):void{
remoteNot.subscribe(subscribeOptions);
}
// Optionally unsubscribe from push notfications at runtime.
public function unSubsButtonHandler(e:MouseEvent):void{
remoteNot.unsubscribe();
tt.text +="\n UNSUBSCRIBED";
}
public function clearButtonHandler(e:MouseEvent):void{
tt.text = " ";
}
// Receive notification payload data and use it in your app
public function notificationHandler(e:RemoteNotificationEvent):void{
tt.appendText("\nRemoteNotificationEvent type: " + e.type +
"\nbubbles: "+ e.bubbles + "\ncancelable " +e.cancelable);
for (var x:String in e.data) {
tt.text += "\n"+ x + ": " + e.data[x];
}
}
// If the subscribe() request succeeds, a RemoteNotificationEvent of
// type TOKEN is received, from which you retrieve e.tokenId,
// which you use to register with the server provider (urbanairship, in
// this example.
public function tokenHandler(e:RemoteNotificationEvent):void
{
tt.appendText("\nRemoteNotificationEvent type: "+e.type +"\nBubbles:
"+ e.bubbles + "\ncancelable " +e.cancelable +"\ntokenID:\n"+ e.tokenId +"\n");
urlString = new
String("https://go.urbanairship.com/api/device_tokens/" +
e.tokenId);
urlreq = new URLRequest(urlString);
urlreq.authenticate = true;
urlreq.method = URLRequestMethod.PUT;
URLRequestDefaults.setLoginCredentialsForHost
("go.urbanairship.com",
"1ssB2iV_RL6_UBLiYMQVfg","t-kZlzXGQ6-yU8T3iHiSyQ");
urlLoad.load(urlreq);
urlLoad.addEventListener(IOErrorEvent.IO_ERROR,iohandler);
urlLoad.addEventListener(Event.COMPLETE,compHandler);
urlLoad.addEventListener(HTTPStatusEvent.HTTP_STATUS,httpHandler);
}
private function iohandler(e:IOErrorEvent):void
{
tt.appendText("\n In IOError handler" + e.errorID +" " +e.type);
}
private function compHandler(e:Event):void{
tt.appendText("\n In Complete handler,"+"status: " +e.type + "\n");
}
private function httpHandler(e:HTTPStatusEvent):void{
tt.appendText("\n in httpstatus handler,"+ "Status: " + e.status);
}
// If the subscription request fails, StatusEvent is dispatched with
// error level and code.
public function statusHandler(e:StatusEvent):void{
tt.appendText("\n statusHandler");
tt.appendText("event Level" + e.level +"\nevent code " +
e.code + "\ne.currentTarget: " + e.currentTarget.toString());
}
}
}
<iphone>
...
<Entitlements>
<![CDATA[
<key>aps-environment</key>
<string>development</string>
]]>
</Entitlements>
</iphone>
Lorsque vous tes prt soumettre lapplication lApp Store, un lment <string> pour le dveloppement la
production :
<string>production</string>
Si votre application prend en charge les chanes localises, spcifiez les langues dans la balise supportedLanguages,
sous la balise intialWindow, comme dans lexemple suivant :
<supportedLanguages>en de cs es fr it ja ko nl pl pt</supportedLanguages>
Cration dun profil et dun certificat dattribution de privilges daccs pour activer les
services Push sur iOS
Pour permettre la communication entre le service APN et lapplication, vous devez mettre en package lapplication
avec un profil et un certificat dattribution de privilges daccs permettant dactiver les services Push sur iOS. Pour
cela, procdez comme suit :
1 Connectez-vous votre compte de dveloppement Apple.
2 Accdez au portail de configuration.
3 Cliquez sur longlet App IDs.
4 Cliquez sur le bouton New App ID.
5 Entrez une description et un identificateur doffres groupes (vous ne devez pas utiliser le signe * dans cet
identificateur).
6 Cliquez sur Submit. Le portail de configuration gnre votre ID dapplication et vous tes redirig vers la page App IDs.
7 Cliquez sur Configure (en regard de votre ID dapplication). La page Configure App ID saffiche.
8 Cochez la case Enable for Apple Push Notification service. Notez quil existe deux types de certificats SSL Push : un
pour le dveloppement et le test, un autre pour la production.
9 Cliquez sur le bouton Configure situ en regard de Development Push SSL Certificate. La page Generate Certificate
Signing Request (CSR) saffiche.
10 Gnrez une demande de signature de certificat (CSR) laide de lutilitaire Keychain Access, comme indiqu sur
cette page.
11 Gnrez le certificat SSL.
12 Tlchargez et installez le certificat SSL.
13 (Facultatif) Rptez les tapes 9 12 pour le certificat SSL Push de production.
14 Cliquez sur Done. La page Configure App ID saffiche.
15 Cliquez sur Done. La page App IDs saffiche. Notez le cercle vert en regard de la notification Push correspondant
votre ID dapplication.
16 Veillez enregistrer vos certificats SSL, car ils seront utiliss ultrieurement pour communiquer avec lapplication
et le fournisseur.
Apple prend en charge les formats de donnes audio suivants (dans les fichiers aiff, wav et caf) :
PCM linaire
MA4 (IMA/ADPCM)
uLaw
aLaw
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.
Utiliser un fournisseur de services. Par exemple, http://urbanairship.com/ offre un fournisseur de service APN prt
lemploi. Aprs avoir souscrit ce service, vous devez commencer par fournir votre jeton de priphrique laide
dun code similaire au suivant :
private var urlreq:URLRequest;
private var urlLoad:URLLoader = new URLLoader();
private var urlString:String;
//When subscription is successful then only call the
following code
urlString = new
String("https://go.urbanairship.com/api/device_tokens/" + e.tokenId);
urlreq = new URLRequest(urlString);
urlreq.authenticate = true;
urlreq.method = URLRequestMethod.PUT;
URLRequestDefaults.setLoginCredentialsForHost("go.urbanairship.com",
"Application Key","Application Secret");
urlLoad.load(urlreq);
urlLoad.addEventListener(IOErrorEvent.IO_ERROR,iohandler);
urlLoad.addEventListener(Event.COMPLETE,compHandler);
urlLoad.addEventListener(HTTPStatusEvent.HTTP_STATUS,httpHandler);
private function iohandler(e:IOErrorEvent):void{
trace("\n In IOError handler" + e.errorID +" "
+e.type);
}
private function compHandler(e:Event):void{
trace("\n In Complete handler,"+"status: " +e.type +
"\n");
}
private function httpHandler(e:HTTPStatusEvent):void{
tt.appendText("\n in httpstatus handler,"+ "Status:
" + e.status);
}
Vous pouvez envoyer des notifications de test laide des outils Urban Airship.
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).
Chapitre 8 : Dveloppement
dapplications AIR pour priphriques TV
Profils de priphrique
AIR fait appel des profils pour dfinir un ensemble de priphriques cible dots de fonctionnalits similaires. Utilisez
les profils suivants pour les applications AIR pour TV :
Profil tv : utilisez ce profil dans les applications AIR qui ciblent un priphrique TV.
Profil extendedTV : Utilisez ce profil si lapplication AIR pour TV fait appel des extensions natives.
Les fonctionnalits ActionScript dfinies pour ces profils sont passes en revue la section Profils de priphrique
la page 259. Diverses diffrences ActionScript lies aux applications AIR pour TV sont indiques dans le manuel
Guide de rfrence ActionScript 3.0 pour la plate-forme Adobe Flash.
Pour plus dinformations sur les profils AIR pour TV, voir Profils pris en charge la page 149.
Acclration matrielle
Les priphriques TV intgrent des acclrateurs matriels qui augmentent considrablement les performances
graphiques et vido dans lapplication AIR. Pour exploiter ces acclrateurs matriels, voir Considrations prendre
en compte lors de la cration dune application AIR pour TV la page 129.
Protection du contenu
AIR pour TV permet dassurer au consommateur de contenu vido premium une exprience de qualit, quil sagisse
dune superproduction hollywoodienne, dun film dart et dessai ou dun pisode de srie TV. Les fournisseurs de
contenu peuvent crer des applications interactives laide doutils Adobe. Ils peuvent intgrer des produits serveur
Adobe leur infrastructure de distribution de contenu ou collaborer avec lun des membres de la communaut Adobe.
La protection du contenu constitue un lment cl de la distribution de vido premium. AIR pour TV prend en charge
Adobe Flash Access, une solution de montisation et de protection de contenu qui satisfait aux exigences
scuritaires rigoureuses des propritaires de contenus, y compris les principaux studios.
Flash Access prend en charge les lments suivants :
Tlchargement et diffusion en continu de vido
Divers modles de vente, tels que le financement par la publicit, labonnement, la location et la vente
dmatrialise (ou EST, Electronic Sell-Through )
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.
Extensions natives
Si lapplication cible le profil extendedTV, elle peut faire appel des packages ANE (AIR Native Extension).
En rgle gnrale, les constructeurs de priphriques fournissent des packages ANE en vue daccder aux
fonctionnalits du priphrique qui ne sont pas prises en charge par AIR. Une extension native pourrait, par exemple,
permettre de changer de chane sur un tlviseur ou de mettre en pause la lecture sur un lecteur vido.
Lorsque vous mettez en package une application AIR pour TV qui fait appel aux packages ANE, vous obtenez un
fichier AIRN et non un fichier AIR.
Les extensions natives pour les priphriques AIR pour TV sont toujours des extensions natives intgres dans le
priphrique. Cela signifie que les bibliothques dextensions sont installes sur le priphrique AIR pour TV. Le
package ANE que vous incluez dans le package de votre application ninclut jamais les bibliothques natives de
lextension. Il contient parfois une version ActionScript uniquement de lextension native. Cette version en
ActionScript uniquement est une version temporaire ou un simulateur de lextension. Le fabricant du priphrique
installe lextension relle, notamment les bibliothques natives, sur le priphrique.
Si vous dveloppez des extensions natives, tenez compte des points suivants :
Rapprochez-vous toujours du fabricant lorsque vous crez une extension native AIR pour TV pour ses
priphriques.
Sur certains priphriques AIR pour TV, seul le fabricant du priphrique cre des extensions natives.
Sur tous les priphriques AIR pour TV, le fabricant du priphrique dcide des extensions natives installer.
Les outils de dveloppement dextensions natives AIR pour TV varient selon le fabricant.
Pour plus dinformations sur lutilisation dextensions natives dans votre application AIR, voir Utilisation
dextensions natives pour Adobe AIR la page 157.
Pour plus dinformations sur la cration dextensions natives, voir Dveloppement dextensions natives pour Adobe AIR.
Codec vido : encodage progressif, H.264 ou faisant appel au profil Principal ou Haut
Codec audio : AAC-LC ou AC-3, 44,1 kHz, stro, ou les codecs audio multicanal suivants : E-AC-3, DTS,
DTS Express, DTS-HD High Resolution Audio ou DTS-HD Master Audio
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).
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.
AAC Toujours Toujours Dans les vidos H.264 Lors de lutilisation dun flux AAC audio
uniquement, encapsulez le flux dans un
Pour la diffusion en continu de conteneur MP4.
laudio, tel quun service de
diffusion en continu de musique
sur Internet
MP3 Toujours Non Pour le son dans les fichiers SWF Une vido H.264 dont le son est au format
de lapplication mp3 nest pas reproduite sur les
priphriques AIR pour TV.
Dans les vidos codes avec
Sorenson Spark ou On2 VP6.
AC-3 (Dolby Digital) Vrifier Oui Dans les vidos H.264 En gnral, AIR pour TV transmet un flux
audio multicanaux un rcepteur
E-AC-3 (Enhanced Dolby audio/vido externe qui dcode et lit le
Digital) son.
DTS Digital Surround
DTS Express
Speex Toujours Non Lors de la rception dun flux vocal Une vido H.264 qui utilise le codec audio
en direct. Speex nest pas reproduite sur les
priphriques AIR pour TV. Utilisez Speex
uniquement avec les vidos codes laide
de Sorenson Spark ou dOn2 VP6.
NellyMoser Toujours Non Lors de la rception dun flux vocal Une vido H.264 qui utilise le codec audio
en direct. NellyMoser nest pas reproduite sur les
priphriques AIR pour TV. Utilisez
NellyMoser uniquement avec les vidos
codes laide de Sorenson Spark ou dOn2
VP6.
Remarque : certains fichiers vido contiennent deux flux audio. Par exemple, un fichier vido peut contenir un flux AAC
et un flux AC3. AIR pour TV ne prend pas en charge ces fichiers vido ; lutilisation de tels fichiers peut empcher la
diffusion du son de la vido.
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
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.
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 :
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;
1920
1632
918
Zone de visualisation efficace 1080
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 %.
Il est toutefois recommand de calculer la zone de visualisation efficace de faon dynamique. Exemple :
var horizontalInset, verticalInset, safeAreaWidth, safeAreaHeight:int;
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.
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 :
Calculez et enregistrez les dimensions de la zone de visualisation efficace et les carts correspondants.
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.
Haut Keyboard.UP
Bas Keyboard.DOWN
Gauche Keyboard.LEFT
Droite Keyboard.RIGHT
OK ou Slectionner Keyboard.ENTER
AIR 2.5 intgre de nombreuses autres constantes Keyboard pour prendre en charge la saisie par tlcommande. Pour
en consulter la liste complte, voir Classe Keyboard dans le manuel Guide de rfrence ActionScript 3.0 pour la plate-
forme Adobe Flash.
Pour assurer le fonctionnement de lapplication sur un nombre aussi lev que possible de priphriques, Adobe
recommande de respecter les directives suivantes :
Dans la mesure du possible, utilisez uniquement les touches du pav directionnel.
Les ensembles de touches varient selon les tlcommandes. La grande majorit des tlcommandes intgrent
toutefois des touches de pav directionnel.
Ainsi, une tlcommande de priphrique Blu-ray ne comporte gnralement pas de touche permettant de passer
la chane suivante ou la chane prcdente. Mme les touches de lecture, pause et arrt ne figurent pas sur toutes
les tlcommandes.
Utilisez les touches Menu et Informations si les touches du pav directionnel ne suffisent pas lapplication.
Aprs les touches du pav directionnel, les touches Menu et Informations sont les plus courantes sur les
tlcommandes.
Tenez compte de lutilisation frquente des tlcommandes universelles.
Mme si vous crez une application destine un priphrique dtermin, gardez lesprit le fait que de nombreux
utilisateurs prfrent viter la tlcommande fournie avec le priphrique. Ils ont au contraire recours une
tlcommande universelle. Par ailleurs, les utilisateurs ne programment pas toujours la tlcommande universelle
de sorte mapper toutes les touches de la tlcommande du priphrique. Il est par consquent recommand de
nutiliser que les touches les plus courantes.
Veillez ce que les utilisateurs puissent dsactiver toute opration par le biais de lune des touches du pav
directionnel.
Lapplication a parfois recours bon escient une touche qui nest pas frquemment utilise sur une
tlcommande. Fournir une voie de sortie laide de lune des touches du pav directionnel assure le comportement
appropri de lapplication sur tous les priphriques.
Ne sollicitez pas dentre de pointeur moins que vous ne sachiez que le priphrique AIR pour TV cible dispose
dune fonctionnalit dentre de pointeur.
Bien que de nombreuses applications de bureau attendent une entre de souris, la plupart des tlviseurs ne
prennent pas en charge lentre de pointeur. Par consquent, si vous convertissez une application de bureau en
application pour tlviseur, veillez la modifier de faon ce quelle nattende pas dentre de souris. Ces
modifications affectent la gestion des vnements et les instructions destines lutilisateur. Lorsque lcran de
dmarrage de lapplication apparat, naffichez pas le texte Cliquez pour dmarrer , par exemple.
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.
Crez les graphiques de sorte atteindre cet objectif. La complexit des oprations graphiques risque daffecter la
cadence. Pour plus dinformations sur lamlioration des performances de rendu, voir Optimisation des
performances pour la plate-forme Adobe Flash.
Remarque : le matriel graphique dun priphrique AIR pour TV applique gnralement un taux de rafrachissement
de lcran de 60 ou 120 Hz (en dautres termes, lcran est mis jour 60 ou 120 fois par seconde). Le matriel analyse
la scne pour identifier les mises jour une cadence de 30 ou 60 images par seconde, par exemple, sur un cran de
60 ou 120 Hz. La complexit des oprations graphiques de lapplication dtermine toutefois si ces cadences leves sont
appliques ou non.
Mettez jour lcran dans les 100 - 200 millisecondes qui suivent une saisie utilisateur.
Si le dlai de mise jour est plus long, lutilisateur simpatiente et appuie souvent plusieurs fois sur les touches.
Convivialit
Les utilisateurs dune application AIR pour TV rsident dans un environnement de type salon . Ils sont assis
3 mtres au moins du tlviseur. La pice est souvent sombre. Ils ont gnralement recours une tlcommande des
fins de saisie. Il est possible que plusieurs personnes utilisent lapplication, parfois conjointement, parfois en srie.
Tenez par consquent compte des considrations suivantes pour assurer la convivialit de linterface utilisateur sur un
tlviseur :
Assignez une taille leve aux lments de linterface utilisateur.
Lors de la conception du texte, des boutons ou de tout autre lment de linterface utilisateur, tenez compte du fait
que lutilisateur est assis lautre bout de la pice. Assurez-vous que tout lment est clairement visible et lisible
une distance de 3 mtres, par exemple. Evitez dencombrer lcran pour lunique raison que lcran est de taille
leve.
Dfinissez un contraste appropri afin que lutilisateur puisse visualiser et lire aisment le contenu de lautre bout
de la pice.
Identifiez clairement la cible daction en assurant la luminosit de llment de linterface utilisateur concern.
Nutilisez le mouvement quen cas de besoin. Glisser dun cran lautre des fins de continuit, par exemple, peut
donner des rsultats satisfaisants. Toutefois, le mouvement empche parfois lutilisateur de se concentrer sil ne
laide pas naviguer ou sil nest pas intrinsque lapplication.
Proposez toujours lutilisateur un moyen vident de retourner son point de dpart par le biais de linterface
utilisateur.
Pour plus dinformations sur lutilisation de la tlcommande, voir Gestion de la saisie par tlcommande la
page 138.
Crez une interface utilisateur qui fonctionne de faon transparente avec une tlcommande. Nutilisez pas une
interface utilisateur ou des lments de conception adapts une application de bureau ou une application
mobile. Par exemple, dans les interfaces utilisateur des priphriques de bureau et des priphriques mobiles, il est
souvent ncessaire de pointer, cliquer ou appuyer sur des boutons avec une souris ou un doigt.
Polices et texte
Dans lapplication AIR pour TV, utilisez les polices de priphrique ou les polices incorpores.
Les polices de priphrique sont installes sur le priphrique. Tous les priphriques AIR pour TV intgrent les
polices suivantes :
Nom de la Description
police
_sans La police de priphrique _sans contient des caractres sans serif. La police de
priphrique_sans installe sur tous les priphriques AIR pour TV est Myriad Pro. En
rgle gnrale, une police sans-srif est mieux reproduite sur un tlviseur que les polices
srif en raison de la distance de visionnage.
_serif La police de priphrique _serif contient des caractres serif. La police de priphrique
_serif installe sur tous les priphriques AIR pour TV est Minion Pro.
_typewriter La police de priphrique _typewriter est une police espacement fixe. La police de
priphrique _typewriter installe sur tous les priphriques AIR pour TV est Courier
Std.
Tous les priphriques AIR pour TV intgrent galement les polices de priphrique asiatiques suivantes :
Vous pouvez galement incorporer des polices lapplication AIR pour TV. Pour plus dinformations sur les polices
incorpores, voir Fonctions avances daffichage de texte dans le manuel Guide du dveloppeur dActionScript 3.0.
Adobe recommande dappliquer les directives dutilisation des champs de texte TLF suivantes :
Faites appel aux champs de texte TLF pour le texte en langue asiatique afin dexploiter les paramtres rgionaux en
vigueur dans lapplication. Dfinissez la proprit locale de lobjet TextLayoutFormat associ lobjet
TLFTextField. Pour dterminer les paramtres rgionaux actifs, voir Choix dun jeu de paramtres rgionaux dans
le manuel Guide du dveloppeur dActionScript 3.0.
Spcifiez le nom de la police dans la proprit fontFamily de lobjet TextLayoutFormat si la police ne fait pas partie
des polices de priphrique AIR pour TV. AIR pour TV utilise la police si elle est disponible sur le priphrique. Si
la police requise ne figure pas sur le priphrique, AIR pour TV lui substitue la police de priphrique AIR pour TV
approprie en se rfrant au paramtre locale.
Spcifiez le paramtre _sans, _serif ou _typewriter pour la proprit fontFamily et dfinissez la proprit
locale pour quAIR pour TV slectionne la police de priphrique AIR pour TV approprie. Selon les paramtres
rgionaux en vigueur, AIR pour TV effectue une slection dans le jeu de polices de priphrique asiatiques ou non
asiatiques. Ces paramtres permettent dutiliser automatiquement la police approprie pour les quatre principaux
jeux de paramtres rgionaux et langlais.
Remarque : si vous utilisez des champs de texte classiques pour le texte en langue asiatique, spcifiez le nom dune police
de priphrique AIR pour TV pour assurer un rendu appropri. Si vous savez quune autre police est installe sur le
priphrique cible, vous pouvez galement lindiquer.
En ce qui concerne les performances de lapplication, tenez compte des considrations suivantes :
Les champs de texte classiques assurent de meilleures performances que les champs de texte TLF.
Un champ de texte classique qui a recours des polices bitmap assure des performances optimales.
A lencontre des polices vectorielles, qui ne proposent que des donnes vectorielles associes chaque caractre, les
polices bitmap proposent un bitmap par caractre. Les polices de priphrique comme les polices incorpores
peuvent correspondre des polices bitmap.
Si vous spcifiez une police de priphrique, veillez linstaller sur le priphrique cible. Si tel nest pas le cas, AIR
pour TV recherche et utilise une autre police installe sur le priphrique. Ce comportement ralentit toutefois les
performances de lapplication.
A linstar de tout objet daffichage, si un objet TextField nest que rarement modifi, dfinissez la proprit
cacheAsBitmap correspondante sur true. Ce paramtre amliore les performances des transitions de type fondu,
glissement et fusion alpha. Utilisez la proprit cacheAsBitmapMatrix pour la mise lchelle et la translation.
Pour plus dinformations, voir Acclration graphique matrielle la page 132.
Pour plus dinformations, voir Vue arborescente associe aux applications AIR pour TV.
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
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.
Pour plus dinformations, voir Dbogage distance avec Flash Professional la page 155.
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">
</s:Application>.
Important : Les applications AIR pour TV ne prennent pas en charge llment WindowedApplication.
Remarque : il nest pas impratif dutiliser un fichier MXML. Vous pouvez opter pour la cration dun projet
ActionScript 3.0.
Utilise uniquement les classes et mthodes ActionScript 3.0 prises en charge par les profils AIR tv et extendedTV.
Pour plus dinformations, voir Profils de priphrique la page 259.
Par ailleurs, dans le fichier XML de lapplication, assurez-vous que :
Lattribut xmlns de llment application est dfini sur AIR 2.5 :
<application xmlns="http://ns.adobe.com/air/application/2.5">
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.
Paramtres standard
Divers paramtres de descripteur dapplication jouent un rle important dans toutes les applications associes au profil TV.
AIR 2.5 est la premire version dAIR prendre en charge les applications TV.
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.
lment visible
Llment visible est un lment enfant de llment initialWindow. AIR pour TV ignore llment visible, car
le contenu de votre application est toujours visible sur les priphriques AIR pour TV.
Dfinissez toutefois llment visible sur true si votre application cible galement les priphriques de bureau.
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.
<supportedProfiles>tv extendedTV</supportedProfiles>
Si une application fait appel une extension native, incluez uniquement le profil extendedTV la liste des profils pris
en charge :
<supportedProfiles>extendedTV</supportedProfiles>
Si vous omettez llment supportedProfiles, il est considr comme acquis que lapplication prend en charge tous
les profils.
Nincluez pas uniquement le profil tv dans la liste supportedProfiles. Certains priphriques TV excutent toujours
AIR pour TV dans un mode qui correspond au profil extendedTV. Ce comportement permet AIR pour TV
dexcuter des applications faisant appel des extensions natives. Si votre lment supportedProfiles spcifie
uniquement tv, cela indique que votre contenu est incompatible avec le mode AIR pour TV pour extendedTV. Par
consquent, certains priphriques TV ne chargent pas une application qui spcifie uniquement le profil tv.
Pour consulter la liste des classes ActionScript prises en charge par les profils tv et extendedTV, voir Fonctionnalits
des diffrents profils la page 260.
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
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.
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.
Lapplication ADL autorise la saisie de contrles dentre de priphriques, tels que les tlcommandes, par le biais
de commandes de menu.
En spcifiant tv ou extendedTV dans largument -profile, lapplication ADL est en mesure de simuler la classe
StageVideo sur le bureau.
Spcifier extendedTV dans largument -profile autorise lapplication utiliser des versions de simulation ou des
implmentations dextensions natives temporaires avec le fichier AIRN de lapplication.
Toutefois, tant donn que lapplication ADL excute lapplication sur le bureau, tester une application AIR pour TV
laide dADL est soumis certaines restrictions :
Cette mthode ne reflte pas les performances de lapplication sur le priphrique. Excutez des tests de
performance sur le priphrique cible.
Elle ne simule pas les restrictions de lobjet StageVideo. Vous utilisez gnralement la classe StageVideo au lieu de
la classe Video pour lire une vido si vous ciblez les priphriques AIR pour TV. La classe StageVideo exploite les
performances optimises du matriel du priphrique, mais souffre de restrictions au niveau de laffichage.
Lapplication ADL nest pas affecte par ces restrictions lorsquelle lit la vido sur le bureau. Testez par consquent
la lecture de la vido sur le priphrique cible.
Il est impossible de simuler le code natif dune extension native. Vous pouvez toutefois spcifier le profil
extendedTV, qui prend en charge les extensions natives, dans largument -profile de lapplication ADL.
Lapplication ADL permet de procder au test avec la version de simulation ou limplmentation uniquement
temporaire de lextension ActionScript intgre au package ANE. En rgle gnrale, lextension correspondante
installe sur le priphrique comprend toutefois galement du code natif. Pour procder au test en utilisant
lextension avec le code natif, excutez lapplication sur le priphrique cible.
Pour plus dinformations, voir Application de dbogage du lanceur AIR (ADL) la page 168.
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.
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.
Voir aussi
A propos des fichiers SWC
Voir aussi
Prise en charge du profil AIR
<extensions>
<extensionID>com.example.Extension1</extensionID>
<extensionID>com.example.Extension2</extensionID>
</extensions>
La valeur de llment extensionID est identique celle de llment id dans le fichier descripteur de lextension. Le
fichier descripteur de lextension est un fichier XML appel extension.xml. Il est mis en package dans le fichier ANE.
Vous pouvez utiliser un outil dextraction pour accder au fichier extension.xml.
Remarques importantes :
Utilisez un package de type programme dinstallation natif.
Spcifiez le rpertoire de lextension.
-target bundle
-target ipa-debug-interpreter-simulator
Voir aussi
Cration dune premire application de bureau AIR laide du kit SDK de Flex la page 38
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.
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>
(Tapez la commande entire sur une ligne ou utilisez le caractre de suite de ligne sur le shell de commande.)
(Notez quavant dexcuter la commande, vous devez vrifier que le dossier lib existe et quil est vide.)
-pubid IdentifiantEditeur Affecte la valeur indique comme identifiant dditeur de lapplication AIR pour cette
excution. Lutilisation dun ID dditeur temporaire vous permet de tester les fonctions dune application AIR (telles
que la communication via une connexion locale) ncessitant ce type didentifiant afin didentifier une application de
manire unique. Depuis la version 1.5.3 dAIR, vous pouvez galement stipuler lidentifiant dditeur dans le fichier
descripteur de lapplication (nutilisez donc pas ce paramtre).
Remarque : depuis la version 1.5.3 dAIR, un identifiant dditeur nest plus automatiquement calcul et affect une
application AIR. Vous pouvez stipuler un identifiant dditeur lorsque vous crez une mise jour dapplication AIR
existante, mais les nouvelles applications ne ncessitent pas - et ne devraient pas comporter - didentifiant dditeur.
-nodebug Dsactive la prise en charge du dbogage. Si cette option est utilise, le processus de lapplication ne peut
pas se connecter au programme Flash Debugger et les botes de dialogue relatives aux exceptions non gres sont
masques. (Toutefois, les instructions trace sont toujours imprimes dans la fentre de la console.) La dsactivation de
la fonction de dbogage permet dacclrer lexcution de votre application et dmuler plus troitement le mode
dexcution dune application installe.
-atlogin Simule le lancement de lapplication lors de la connexion. Cet indicateur permet de tester la logique
applicative qui sexcute uniquement lorsquune application est configure de sorte dmarrer lorsque lutilisateur se
connecte. Lors de lutilisation de -atlogin, la proprit reason de lobjet InvokeEvent envoye lapplication
correspond login, et non standard ( moins que lapplication soit dj en cours dexcution).
-profile NomProfil Lapplication ADL dbogue lapplication avec le profil indiqu. La valeur NomProfil gre lune des
valeurs suivantes :
desktop
extendedDesktop
mobileDevice
Si le descripteur de lapplication comprend un lment supportedProfiles, le profil spcifi avec lindicateur -
profile doit figurer dans la liste prise en charge. Si vous nutilisez pas lindicateur -profile, le premier profil du
descripteur de lapplication fait office de profil actif. Si le descripteur de lapplication ne comprend pas dlment
supportedProfiles et que vous nutilisez pas lindicateur -profile, le profil desktop est utilis.
Pour plus dinformations, voir supportedProfiles la page 252 et Profils de priphrique la page 259.
-screensize valeur Taille de lcran simule utiliser lors de lexcution dune application associe au profil
mobileDevice sur le bureau. Indiquez la taille de lcran en slectionnant le type dcran prdfini ou saisissez les
dimensions (en pixels) de la largeur et de la hauteur standard correspondant au mode Portrait, plus la largeur et la
hauteur en plein cran. Pour spcifier la valeur par type, utilisez lun des types dcran prdfinis suivants :
Pour spcifier directement les dimensions de lcran en pixels, utilisez le format suivant :
widthXheight:fullscreenWidthXfullscreenHeight
Veillez toujours spcifier les dimensions (en pixels) correspondant au format Portrait, cest--dire de spcifier une
valeur de largeur infrieure la valeur de hauteur. Spcifiez par exemple comme suit lcran NexusOne :
-screensize 480x762:480x800
-extdir extension-directory Rpertoire dans lequel le moteur dexcution doit rechercher les extensions natives. Ce
rpertoire contient un sous-rpertoire pour chaque extension native quutilise lapplication. Chacun de ces sous-
rpertoires contient le fichier ANE extrait du package dune extension. Exemple :
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
Exemples ADL
Excutez une application dans le rpertoire actif :
adl myApp-app.xml
Excutez une application et transmettez deux arguments de ligne de commande, tick et tock :
adl myApp-app.xml -- tick tock
Excutez une application du profil de priphrique mobile et simulez la taille de lcran Nexus One :
adl -profile mobileDevice -screensize NexusOne myMobileApp-app.xml
Excutez une application par le biais dApache Ant (les chemins illustrs dans lexemple se rfrent Windows) :
<property name="SDK_HOME" value="C:/AIRSDK"/>
<property name="ADL" value="${SDK_HOME}/bin/adl.exe"/>
<property name="APP_ROOT" value="c:/dev/MyApp/bin-debug"/>
<property name="APP_DESCRIPTOR" value="${APP_ROOT}/myApp-app.xml"/>
<target name="test">
<exec executable="${ADL}">
<arg value="${APP_DESCRIPTOR}"/>
<arg value="${APP_ROOT}"/>
</exec>
</target>
Code de Description
sortie
4 Impossible de dmarrer le moteur dexcution. En gnral, cela se produit car la version spcifie dans
lapplication ne correspond pas celle du moteur dexcution.
7 Le contenu du descripteur de lapplication est incorrect. Cette erreur indique gnralement que le fichier
XML nest pas bien constitu.
Code de Description
sortie
8 Le fichier de contenu principal de lapplication (spcifi dans llment <content> du fichier descripteur
dapplication) est introuvable.
9 Le fichier du contenu principal de lapplication nest pas un fichier SWF ou HTML valide.
10 Lapplication ne prend pas en charge le profil spcifi par le biais de loption -profile.
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.
-prepare : met en package une application AIR sous forme de fichier intermdiaire (AIRI), mais ne la signe pas. Il
est impossible dinstaller un fichier AIRI.
-sign : signe un package AIRI cr laide de la commande -prepare. Les commandes -prepare et -sign permettent
dexcuter la mise en package et la signature en plusieurs tapes. Vous disposez galement de la commande -sign
pour signer ou signer nouveau un package ANE.
-migrate : applique une signature de migration un package AIR sign, vous permettant ainsi dutiliser un nouveau
certificat dveloppeur ou un certificat renouvel.
-certificate : cre un certificat dveloppeur numrique auto-sign.
-checkstore : vrifie quil est possible daccder un certificat numrique dans un keystore.
-installApp : installe une application AIR sur un priphrique ou un mulateur de priphrique.
-launchApp : lance une application AIR sur un priphrique ou un mulateur de priphrique.
-appVersion : indique la version dune application AIR actuellement installe sur un priphrique ou un mulateur
de priphrique.
-uninstallApp : dsinstalle une application AIR partir dun priphrique ou dun mulateur de priphrique.
-installRuntime : installe le moteur dexcution dAIR sur un priphrique ou un mulateur de priphrique.
-runtimeVersion : indique la version du moteur dexcution dAIR actuellement installe sur un priphrique ou
un mulateur de priphrique.
-uninstallRuntime : dsinstalle le moteur dexcution dAIR actuellement install sur un priphrique ou un
mulateur de priphrique.
-version : indique le numro de la version de loutil ADT.
-devices : affiche des informations sur les priphriques mobiles ou les mulateurs raccords.
-help : affiche la liste de commandes et doptions.
De nombreuses commandes ADT partagent des ensembles associs de paramtres et dindicateurs doption. Ces
ensembles doptions font lobjet dune description dtaille distincte :
Options de signature du code de loutil ADT la page 189
Options associes aux fichiers et chemins la page 191
Options de connexion au dbogueur la page 192
Options dextension native la page 193
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 dextensions natives partir des fichiers dextension native du composant :
adt -package
AIR_SIGNING_OPTIONS
-target ane
output
ANE_OPTIONS
Remarque : il nest pas ncessaire de signer un fichier ANE ; les paramtres AIR_SIGNING_OPTIONS sont donc facultatifs
dans cet exemple.
AIR_SIGNING_OPTIONS Les options de signature AIR identifient le certificat utilis pour signer un fichier
dinstallation AIR. Les options de signature font lobjet dune description dtaille la section Options de signature
du code de loutil ADT la page 189.
-migrate Cet indicateur spcifie que lapplication est signe avec un certificat de migration en plus du certificat spcifi
par les paramtres AIR_SIGNING_OPTIONS. Cet indicateur nest valide que si vous mettez en package une application
de bureau sous la forme dun programme dinstallation natif et que lapplication utilise une extension native. Dans les
autres cas, une erreur survient. Les options de signature du certificat de migration sont spcifies dans les paramtres
MIGRATION_SIGNING_OPTIONS. Elles font lobjet dune description dtaille la section Options de signature
du code de loutil ADT la page 189. Lutilisation de lindicateur -migrate permet de crer une mise jour dune
application de bureau programme dinstallation natif qui utilise une extension native et de modifier le certificat de
signature du code de lapplication lors de lexpiration du certificat dorigine, par exemple. Pour plus dinformations,
voir Signature dune version mise jour dune application AIR la page 211.
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)
Pour plus dinformations, voir Mise en package dun programme dinstallation natif de bureau la page 58.
-sampler (iOS uniquement, AIR 3.4 et ultrieur) Active lchantillonneur ActionScript bas sur la tlmtrie dans les
applications iOS. Cet indicateur permet de profiler lapplication avec Adobe Scout. Bien que Scout puisse profiler le
contenu de nimporte quelle plate-forme Flash, lactivation de la tlmtrie dtaille vous permet de mieux connatre
la dure des fonctions ActionScript, les rendus DisplayList et Stage3D, etc. Notez que lutilisation de cet indicateur peut
avoir une incidence sur les performances ; par consquent, ne lutilisez pas pour les applications de production.
-hideAneLibSymbols (iOS uniquement, AIR 3.4 et les versions ultrieures) Les dveloppeurs dapplications peuvent
utiliser plusieurs extensions natives provenant de sources diverses, et si les fichiers ANE partagent un nom de symbole
commun, loutil ADT gnre une erreur de type symbole dupliqu dans le fichier dobjet . Dans certains cas, cette
erreur peut mme se manifester sous forme de blocage au moment de lexcution. Vous pouvez utiliser loption
hideAneLibSymbols pour indiquer si vous souhaitez rendre visibles les symboles de la bibliothque ANE uniquement
aux sources de cette bibliothque (yes) ou toutes les sources (no) :
yes : les symboles ANE sont masqus, ce qui rsout tous les conflits de symboles indsirables.
no : (valeur par dfaut) les symboles ANE ne sont pas masqus. Ce comportement est celui des versions antrieures
AIR 3.4.
-embedBitcode (iOS uniquement, AIR 25 et versions ultrieures) Les dveloppeurs dapplication peuvent utiliser
loption embedBitcode pour indiquer sil faut inclure le bitcode dans leur application iOS en spcifiant oui ou non. La
valeur par dfaut de cette option est non.
DEBUGGER_CONNECTION_OPTIONS Les options de connexion au dbogueur indiquent si un package
dboguer doit tenter de se connecter un dbogueur distant qui sexcute sur un autre ordinateur ou couter une
connexion issue dun dbogueur distant. Cet ensemble doptions est rserv aux packages mobiles dboguer (cibles
apk-debug et ipa-debug). Il est dcrit la section Options de connexion au dbogueur la page 192.
-airDownloadURL Spcifie une autre URL de tlchargement et dinstallation du moteur dexcution dAIR sur un
priphrique Android. Si vous ne spcifiez pas dautre URL, une application AIR redirige lutilisateur vers le moteur
dexcution dAIR dans Android Market, le cas chant.
Si lapplication est distribue via un site autre quAndroid Market gr par Google, il peut savrer ncessaire de
spcifier lURL de tlchargement du moteur dexcution dAIR partir de ce site. Certains autres sites nautorisent
pas les applications demander un tlchargement externe. Cette option est rserve aux packages Android.
NATIVE_SIGNING_OPTIONS Les options de signature natives identifient le certificat requis pour signer un fichier
de package natif. Ces options de signature permettent dappliquer une signature utilise par le systme dexploitation
natif, plutt que le moteur dexcution dAIR. Les options sont sinon identiques AIR_SIGNING_OPTIONS et font
lobjet dune description dtaille la section Options de signature du code de loutil ADT la page 189.
Les signatures natives sont prises en charge sous Windows et Android. Sous Windows, vous devez spcifier la fois
les options de signature AIR et les options de signature natives. Sous Android, vous ne pouvez spcifier que les options
de signature natives.
Dans la plupart des cas, un mme certificat de signature du code peut appliquer la fois une signature AIR et une
signature native. Certains cas de figure font toutefois exception la rgle. Google stipule, par exemple, que toutes les
applications destines Android Market doivent imprativement tre signes laide dun certificat valide jusqu
lanne 2033 au moins. Cela signifie quun certificat dlivr par une autorit de certification reconnue, recommande
lors de lapplication dune signature AIR, ne doit pas tre utilis pour signer une application Android. (Aucune autorit
de certification ne dlivre de certificat de signature du code dont la priode de validit est aussi longue.)
output Nom du fichier de package crer. La dfinition de lextension du fichier est facultative. Si vous ne lindiquez
pas, une extension adapte la valeur -target et au systme dexploitation en cours est ajoute.
app_descriptor Chemin daccs au fichier descripteur de lapplication. Il est possible de spcifier un chemin relatif
(dfini par rapport au rpertoire actif) ou un chemin absolu. (Le fichier descripteur de lapplication est renomm
application.xml dans le fichier AIR.)
-platformsdk Chemin daccs au kit SDK de la plate-forme du priphrique cible :
Android : le kit SDK dAIR 2.6+ inclut les outils du kit SDK dAndroid SDK ncessaires limplmentation des
commandes de loutil ADT correspondantes. Ne dfinissez cette valeur que si vous souhaitez utiliser une autre
valeur du kit SDK dAndroid. Il est galement inutile dindiquer le chemin du kit SDK de plate-forme sur la ligne
de commande si la variable denvironnement AIR_ANDROID_SDK_HOME est dj dfinie. (Si les deux variables
sont dfinies, le chemin indiqu sur la ligne de commande est utilis.)
iOS : le kit SDK dAIR est livr avec un kit SDK iOS captif. Loption -platformsdk permet la mise en package
dapplications avec un kit SDK externe ; vous ntes donc pas oblig dutiliser le SDK iOS captif. Par exemple, si
vous avez cr une extension avec le dernier kit SDK iOS, vous pouvez spcifier ce kit SDK lors de la mise en
package de votre application. En outre, lorsque vous utilisez loutil ADT avec le simulateur iOS, vous devez toujours
inclure loption -platformsdk en spcifiant le chemin vers le kit SDK du simulateur iOS.
Les dveloppeurs dapplications -arch peuvent utiliser cet argument pour crer un package APK pour les plates-formes
x86, qui prend les valeurs suivantes :
armv7 - ADT met en package APK pour la plate-forme Android armv7.
x86 - ADT met en package APK pour la plate-forme Android x86.
armv7 est la valeur par dfaut lorsquaucune valeur nest spcifie
FILE_OPTIONS Identifie les fichiers dapplication inclure dans le package. Les options de fichier font lobjet dune
description dtaille la section Options associes aux fichiers et chemins la page 191. Ne spcifiez pas doptions
de fichier si vous crez un package natif partir dun fichier AIR ou AIRI.
input_airi A spcifier lors de la cration dun package natif partir dun fichier AIRI. Les options
AIR_SIGNING_OPTIONS sont obligatoires si la cible correspond air (ou quaucune cible nest spcifie).
input_air A spcifier lors de la cration dun package natif partir dun fichier AIR. Ne spcifiez pas doption
AIR_SIGNING_OPTIONS.
ANE_OPTIONS Identifie les options et les fichiers permettant de crer un package dextensions natives. Les options
du package dextensions sont dcrites de faon exhaustive dans Options dextension native la page 193.
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
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
/myAppRoot
/META-INF
/AIR
application.xml
hash
myApp.swf or myApp.html
mimetype
/images
image-1.png
...
image-n.png
/libs
lib-1.swf
lib-2.swf
lib-a.js
AIRAliases.js
Excution de loutil ADT en tant que programme Java pour une application SWF simple (sans dfinir le chemin de
classe) :
java jar {AIRSDK}/lib/ADT.jar package -storetype pkcs12 -keystore cert.p12 myApp.air
myApp.xml myApp.swf
Excution de loutil ADT en tant que programme Java pour une application HTML simple (sans dfinir le chemin de
classe) :
java jar {AIRSDK}/lib/ADT.jar package -storetype pkcs12 -keystore cert.p12 myApp.air
myApp.xml myApp.html AIRAliases.js
Excution de loutil ADT en tant que programme Java (le chemin de classe Java tant dfini de sorte inclure le
package ADT.jar) :
java -com.adobe.air.ADT package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml
myApp.swf
Excution de loutil ADT en tant que tche Java dans Apache Ant (bien quil soit plutt conseill dutiliser la
commande ADT directement dans les scripts Ant). Les chemins indiqus dans lexemple correspondent un systme
Windows :
<property name="SDK_HOME" value="C:/AIRSDK"/>
<property name="ADT.JAR" value="${SDK_HOME}/lib/adt.jar"/>
target name="package">
<java jar="${ADT.JAR}" fork="true" failonerror="true">
<arg value="-package"/>
<arg value="-storetype"/>
<arg value="pkcs12"/>
<arg value="-keystore"/>
<arg value="../../ExampleCert.p12"/>
<arg value="myApp.air"/>
<arg value="myApp-app.xml"/>
<arg value="myApp.swf"/>
<arg value="icons/*.png"/>
</java>
</target>
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.
AIR_SIGNING_OPTIONS Les options de signature AIR identifient le certificat requis pour signer un fichier de
package. Les options de signature font lobjet dune description dtaille la section Options de signature du code de
loutil ADT la page 189.
input Nom du fichier AIRI ou ANE signer.
output Nom du package sign crer.
Si un fichier ANE est dj sign, lancienne signature est limine. (Il est impossible de signer nouveau un fichier AIR.
Pour utiliser une nouvelle signature en cas de mise jour dune application, utilisez la commande -migrate.)
Remarque : le certificat de migration doit tre appliqu dans les 365 jours qui suivent lexpiration du certificat. Au terme
de ce dlai, il devient impossible de signer les mises jour dune application par le biais dune signature de migration. Les
utilisateurs peuvent commencer par mettre jour lapplication en installant une version associe une signature de
migration, puis installer la mise jour la plus rcente ou dsinstaller lapplication dorigine et installer le nouveau
package AIR.
Pour utiliser une signature de migration, commencez par signer lapplication AIR laide du nouveau certificat ou du
certificat renouvel ( laide des commandes -package ou -sign), puis appliquez la signature de migration par le biais
de lancien certificat et de la commande -migrate.
La commande -migrate utilise la syntaxe suivante :
adt -migrate AIR_SIGNING_OPTIONS input output
AIR_SIGNING_OPTIONS Options de signature AIR qui identifient le certificat dorigine utilis pour signer les
versions existantes de lapplication AIR. Les options de signature font lobjet dune description dtaille la section
Options de signature du code de loutil ADT la page 189.
input Fichier AIR dj sign par le biais du NOUVEAU certificat dapplication.
output Nom du package final qui contient les signatures issues du nouveau et de lancien certificats.
les fichiers dentre et de sortie AIR doivent porter un nom diffrent.
Remarque : La commande ADT migrate ne peut pas tre utilise avec les applications de bureau AIR incluant des
extensions natives, car ces applications ont t mises en package comme des programmes dinstallation natifs, pas comme
des fichiers .air. Pour modifier les certificats pour une application AIR qui inclut une extension native, mettez
lapplication en package en utilisant la Commande ADT package la page 175 avec lindicateur -migrate.
SIGNING_OPTIONS Options de signature qui identifient le keystore valider. Les options de signature font lobjet
dune description dtaille la section Options de signature du code de loutil ADT la page 189.
-c Code pays ISO-3166 de deux lettres. Un certificat nest pas gnr si un code incorrect est indiqu. (Facultatif)
-validityPeriod Nombre dannes de validit du certificat. Si aucune valeur nest spcifie, une validit de cinq ans
est dfinie. (Facultatif)
key_type Type de cl utiliser pour que le certificat soit 2048-RSA.
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.
-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).
-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).
-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).
-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).
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).
-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
-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
? : 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.
-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 :
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.
-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).
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
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
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.
-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.
-listen Si cet lment est spcifi, le moteur dexcution attend une connexion manant dun dbogueur distant.
port (Facultatif) port dcoute. Par dfaut, le moteur dexcution coute sur le port 7936. Pour plus dinformations sur
lutilisation de loption -listen, voir Dbogage distance avec le programme FDB via USB la page 112.
-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.
-platformoptions Chemin vers le fichier doptions dune plate-forme (platform.xml). Utilisez ce fichier pour spcifier
les options personnalises de lditeur de liens, les bibliothques partages et les bibliothques statiques tierces utilises
par lextension. Pour plus dinformations et dexemples, voir Bibliothques iOS natives.
FILE_OPTIONS Identifie les fichiers de la plate-forme native inclure au package, notamment les bibliothques
statiques inclure au package de lextension native. Les options de fichier font lobjet dune description dtaille la
section Options associes aux fichiers et chemins la page 191. (Notez quil est impossible dutiliser loption -e lors
de la mise en package dun fichier ANE.)
Voir aussi
Mise en package dune extension native
100 Le fichier descripteur dapplication ne peut Recherchez les erreurs de syntaxe XML
pas tre analys. ventuelles dans le fichier descripteur
dapplication, par exemple des balises non
fermes.
106 Combinaison dattributs de fentre non Certains paramtres de fentre, tels que
valide transparency = true et
systemChrome = standard ne peuvent
pas tre utiliss simultanment. Modifiez
lun des paramtres incompatibles.
107 La taille minimale de la fentre est Modifiez lun des paramtres de taille.
suprieure sa taille maximale.
111 Aucun des profils stipuls dans le fichier Ajoutez un profil la liste supportedProfies
descripteur de lapplication ne prend en qui prend en charge les extensions natives.
charge les extensions natives.
112 La cible AIR ne prend pas en charge les Slectionnez une cible qui prend en charge
extensions natives. les extensions natives.
114 <finalizer> dtect sans <nativeLibrary>. Ne spcifiez pas dlment finalizer, sauf si
la plate-forme utilise une bibliothque
native.
115 La plate-forme par dfaut ne doit pas Ne spcifiez pas de bibliothque native
contenir dimplmentation native. dans llment de plate-forme par dfaut.
116 Linvocation du navigateur nest pas prise Il est impossible de dfinir llment
en charge pour cette cible. <allowBrowserInvocation> sur true
pour la cible de mise en package spcifie.
117 Cette cible requiert au moins n espaces de Modifiez lespace de noms AIR dans le
noms pour mettre en package les descripteur de lapplication en dfinissant
extensions natives. une valeur prise en charge.
Pour plus dinformations sur les espaces de noms, les lments, les attributs et leurs valeurs valides, voir Fichiers
descripteurs dapplications AIR la page 217.
Erreurs des icnes dapplication
200 Le fichier dicne ne peut pas tre ouvert. Vrifiez la prsence du fichier
lemplacement spcifi.
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>
202 Le fichier dicne contient un format Seul le format PNG est pris en charge.
dimage non pris en charge. Convertissez les images en un autre format
avant de mettre votre application en
package.
300 Le fichier est manquant ou ne peut pas tre Un fichier spcifi sur la ligne de
ouvert. commande est introuvable ou ne peut pas
tre ouvert.
302 Le fichier de contenu racine nest pas dans Le fichier SWF ou HTML rfrenc dans
le package. llment <content> du descripteur
dapplication doit tre ajout dans le
package via son inclusion dans la liste des
fichiers sur la ligne de commande dADT.
303 Le fichier dicne nest pas dans le package. Les fichiers dicne spcifis dans le
descripteur dapplication doivent tre
ajouts dans le package via leur inclusion
dans la liste des fichiers sur la ligne de
commande dADT. Les fichiers dicne ne
sont pas ajouts automatiquement.
304 Le contenu initial de la fentre nest pas Le fichier rfrenc dans llment
valide. <content> du descripteur dapplication
nest pas reconnu comme un fichier HTML
ou SWF valide.
305 La version SWF du contenu initial de la La version SWF du fichier rfrenc dans
fentre dpasse la version de lespace de llment <content> du descripteur
nom. dapplication nest pas prise en charge par
la version dAIR spcifie dans lespace de
noms du descripteur. Par exemple, tenter
de crer un package avec un fichier SWF10
(Flash Player 10) en tant que contenu initial
dune application AIR 1.1 gnre cette
erreur.
306 Profil non pris en charge Le profil que vous spcifiez dans le fichier
descripteur dapplication nest pas pris en
charge. Voir supportedProfiles la
page 252.
307 Lespace de noms doit correspondre au Utilisez lespace de noms adapt aux
moins nnn. fonctionnalits de lapplication (tel que
lespace de noms 2.0).
16 Composants GPL introuvables Le kit SDK dAIR actif ne contient pas tous
les composants requis pour excuter
lopration.
17 chec de loutil de mise en package du Le package na pas pu tre cr, car les
priphrique. composants attendus du systme
dexploitation sont manquants.
Erreurs Android
402 La version actuelle du kit SDK dAndroid Vrifiez lorthographe du nom de la balise
ne prend pas en charge la balise XML. XML et assurez-vous quil sagit dun
lment de document manifeste Android
valide. Il sera peut-tre ncessaire de
dfinir lindicateur -platformsdk dans la
commande ADT si llment a t
introduit aprs Android 2.2.
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.
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.
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)
Avant la version 1.5.3 dAIR, le programme dinstallation dune application AIR gnrait un identifiant dditeur lors
de linstallation dun fichier AIR. Cet identifiant tait propre au certificat de signature du fichier AIR. Si vous rutilisiez
le mme certificat pour plusieurs applications AIR, le mme identifiant dditeur leur tait appliqu. La signature dune
mise jour dapplication par le biais dun autre certificat, voire dune occurrence renouvele du certificat original
entranait la modification de lidentifiant dditeur.
Depuis la version 1.5.3 dAIR, aucun identifiant dditeur nest affect par AIR. Le fichier descripteur dune application
publie avec AIR 1.5.3 peut stipuler une chane didentifiant dditeur. Ne stipulez didentifiant dditeur que lors de
la publication de mises jour dapplications originellement associes aux versions dAIR antrieures 1.5.3. Si vous ne
stipulez pas didentifiant original dans le fichier descripteur dapplication, le nouveau package AIR nest pas trait
comme une mise jour de lapplication existante.
Pour dterminer lidentifiant dditeur original, recherchez le fichier publisherid dans le sous-rpertoire META-
INF/AIR du rpertoire dinstallation de lapplication originale. La chane que contient ce fichier correspond
lidentifiant dditeur. Le fichier descripteur de lapplication doit stipuler le moteur dexcution dAIR 1.5.3 (ou version
ultrieure) dans la dclaration despace de noms pour que vous puissiez stipuler manuellement lidentifiant dditeur.
Sil existe, lidentifiant dditeur est utilis comme suit :
Dans la cl de chiffrement destine au magasin local chiffr
Dans le chemin du rpertoire de stockage dapplication
Dans la chane de connexion associe aux connexions locales
Dans la chane didentit destine appeler une application par le biais de lAPI intgre au navigateur dAIR
Dans lOSID (dfinition dinterface de service ouverte) utilise lors de la cration de programmes dinstallation/de
dsinstallation personnaliss
Toute modification de lidentifiant dditeur entrane un changement de comportement de toute fonctionnalit AIR
base sur celui-ci. Il devient, par exemple, impossible daccder aux donnes stockes dans le magasin local chiffr et
la chane de connexion associe toute occurrence de Flash ou dAIR qui cre une connexion locale lapplication doit
contenir le nouvel identifiant. Lidentifiant dditeur dune application installe ne doit pas tre modifie dans
AIR 1.5.3 ou ultrieur. Si vous utilisez un autre identifiant dditeur lorsque vous publiez un package AIR, le
programme dinstallation traite le nouveau package comme une autre application plutt quune mise jour.
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.
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.
Important : ce mot de passe protge le fichier de magasin de cls et il est requis lorsque le fichier est utilis pour
signer des applications AIR. Votre choix devrait se porter de prfrence sur un mot de passe scuris.
i Cliquez sur OK. Vous devriez recevoir un message de sauvegarde du mot de passe vous informant que
lopration a russi. Le fichier de magasin de cls, qui contient la cl prive et le certificat, est sauvegard au
moyen dune extension de fichier .p12 (au format PKCS12).
6 Utilisez le fichier de magasin de cls export avec loutil AIR Developer (ADT), Flash Builder, Flash Professional
ou Dreamweaver. Le mot de passe cr pour le fichier est demand chaque fois quune application AIR est signe.
Important : la cl prive et le certificat demeurent stocks dans le magasin de cls Firefox. Si cette procdure vous permet
dexporter un exemplaire supplmentaire du fichier de certificat, vous obtenez galement un autre point daccs quil faut
absolument protger pour prserver la scurit de votre certificat et de votre cl prive.
Changement de certificats
Il savre parfois ncessaire de changer de certificat pour signer les mises jour de lapplication AIR. Cette opration
est ainsi requise dans les circonstances suivantes :
Renouvellement du certificat dveloppeur original
Mise niveau partir dun certificat auto-sign vers un certificat mis par une autorit de certification
Changement dun certificat auto-sign sur le point dexpirer
Changement dun certificat commercial, par exemple lorsque les informations relatives lidentit de votre socit
sont modifies
Pour quAIR traite un fichier AIR comme une mise jour, vous devez signer la fois les fichiers AIR originaux et les
fichiers AIR de mise jour laide du mme certificat ou appliquer une signature de migration de certificat la mise
jour. Une signature de migration est une seconde signature applique au package AIR de mise jour laide du
certificat original. La signature de migration se base sur le certificat original pour attester que le signataire est bien
lditeur original de lapplication.
Lorsquun fichier AIR dot dune signature de migration est install, le nouveau certificat devient le certificat principal.
Les mises jour suivantes ne ncessitent pas de signature de migration. Dans la mesure du possible, vous devez
toutefois continuer appliquer des signatures de migration pour prendre en compte les utilisateurs qui neffectuent
pas toutes les mises jour.
Important : vous devez changer de certificat et appliquer une signature de migration la mise jour avec le certificat
original avant son expiration. Si vous neffectuez pas cette procdure, les utilisateurs doivent dsinstaller la version
existante de lapplication avant den installer une nouvelle version. Pour AIR 1.5.3 ou ultrieur, vous pouvez appliquer
une signature de migration laide dun certificat arriv expiration dans les 365 jours qui suivent la date dexpiration.
Il est toutefois impossible dappliquer la signature dapplication principale laide du certificat arriv expiration.
Pour changer de certificats :
1 Crez une mise jour de votre application.
2 Crez le package et signez le fichier AIR de mise jour laide du nouveau certificat.
3 Signez le fichier AIR de nouveau au moyen du certificat original (grce la commande -migrate de loutil ADT).
Un fichier AIR dot dune signature de migration est, dautres gards, un fichier AIR tout fait normal. Si
lapplication est installe sur un systme vierge de toute version originale, lenvironnement AIR installe la nouvelle
version de la faon habituelle.
Remarque : avant la version 1.5.3 dAIR, signer une application AIR laide dun certificat renouvel ne ncessitait pas
toujours une signature de migration. Depuis la version 1.5.3 dAIR, les certificats renouvels requirent imprativement
une signature de migration.
Pour appliquer une signature de migration, utilisez la Commande ADT migrate la page 182, comme le dcrit la
section Signature dune version mise jour dune application AIR la page 211.
Remarque : La commande ADT migrate ne peut pas tre utilise avec les applications de bureau AIR incluant des
extensions natives, car ces applications ont t mises en package comme des programmes dinstallation natifs, pas comme
des fichiers .air. Pour modifier les certificats pour une application AIR qui inclut une extension native, mettez
lapplication en package en utilisant la Commande ADT package la page 175 avec lindicateur -migrate.
Terminologie
Cette section propose un glossaire des termes essentiels votre comprhension lorsque vous dcidez de signer une
application pour la distribuer publiquement.
Terme Description
Autorit de certification Entit dans un rseau infrastructure de cl publique qui sert de tiers de confiance et qui, en
dfinitive, atteste de lidentit du propritaire dune cl publique. Normalement, une autorit de
certification met des certificats numriques, signs par sa propre cl prive, pour attester quelle
a effectivement contrl lidentit du dtenteur du certificat.
Dclaration des pratiques de Prsente les diffrentes pratiques et stratgies de lautorit de certification dans lmission et la
certification (Dclaration CPS) vrification des certificats. La dclaration des pratiques de certification, ou dclaration CPS
(Certification Practice Statement), fait partie intgrante du contrat qui lie lautorit de certification
avec ses abonns et parties de confiance. Elle dcrit galement dans les grandes lignes les
stratgies labores pour la vrification didentit et le niveau des garanties offertes par les
certificats fournis.
Liste de rvocation de certificats Liste des certificats mis qui ont t rvoqus et qui ne devraient plus tre considrs comme
dignes de confiance. Lenvironnement dexcution AIR vrifie la liste de rvocation des certificats
la signature dune application AIR et, si aucun horodatage nest prsent, renouvelle lopration
lorsque lapplication est installe.
Chane de certificats Une chane de certificats est une squence de certificats dans laquelle chaque certificat prsent a
t sign par le certificat qui lui succde.
Certificat numrique Document numrique contenant des informations sur lidentit du propritaire, la cl publique du
propritaire et lidentit du certificat lui-mme. Un certificat mis par une autorit de certification
est lui-mme sign par un certificat appartenant lautorit de certification mettrice.
Signature numrique Rsum ou message chiffr ne pouvant tre dchiffr qu laide de la paire cl publique et moiti
de la cl publique-prive. Dans une infrastructure de cl publique (PKI), une signature numrique
contient un ou plusieurs certificats numriques qui, en bout de chane, remontent jusqu
lautorit de certification. Une signature numrique peut servir garantir quun message (ou un
fichier informatique) na subi aucune modification depuis sa signature (dans les limites de la
garantie fournie par lalgorithme de chiffrement utilis) et, en admettant que lautorit de
certification mettrice soit juge digne de confiance, attester de lidentit du signataire.
Magasin de cls Base de donnes contenant des certificats numriques et, dans certains cas, les cls prives
associes.
architecture de chiffrement Java Architecture extensible propre la gestion et laccs des magasins de cls. Pour plus
(architecture JCA) dinformations, voir le Guide de rfrence de larchitecture JCA.
PKCS #11 Norme de chiffrement dinterface pour jeton labore par RSA Laboratories. Un magasin de cls
sur jeton (priphrique de scurit) matriel.
PKCS #12 Norme dcrivant la syntaxe des changes dinformations personnelles labore par RSA
Laboratories. Fichier de magasin de cls ; il contient habituellement une cl prive et son certificat
numrique associ.
Terme Description
Infrastructure de cl publique (PKI) Systme bas sur lapprobation dans lequel les autorits de certification garantissent lidentit des
propritaires de cls publiques. Les clients du rseau font confiance aux certificats numriques
mis par une autorit de certification approuve pour vrifier lidentit du signataire dun message
numrique (ou dun fichier).
Horodatage Donne signe numriquement qui contient la date et lheure auxquelles un vnement est
survenu. Loutil ADT peut englober un horodatage partir dun serveur de temps RFC 3161 (en
anglais) dans un package AIR. Lorsquil est prsent, lenvironnement AIR utilise lhorodatage pour
tablir la validit dun certificat au moment de la signature. Ceci permet linstallation dune
application AIR aprs lexpiration du certificat de signature.
Autorit dhorodatage Organisation ayant autorit pour mettre des horodatages. Pour tre reconnu par
lenvironnement AIR, lhorodatage doit tre conforme au protocole RFC 3161 et la signature de cet
horodatage doit tre lie par une chane de certificats un certificat racine de confiance sur
lordinateur dinstallation.
Certificats iOS
Les certificats dveloppeurs dlivrs par Apple permettent de signer les applications iOS, notamment celles qui sont
dveloppes dans Adobe AIR. Il est obligatoire dappliquer une signature laide dun certificat de dveloppement
Apple pour installer une application sur un priphrique de test. Lapplication dune signature par le biais dun
certificat de distribution est obligatoire pour distribuer lapplication finalise.
Pour signer une application, loutil ADT doit pouvoir accder au certificat dveloppeur et la cl prive associe. Le
fichier de certificat en tant que tel ne comprend pas de cl prive. Vous devez crer un keystore sous forme de fichier
dchange dinformations personnelles (.p12 or .pfx) qui contient la fois le certificat et la cl prive. Voir Conversion
dun certificat de dveloppement en fichier de keystore P12 la page 209.
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 .)
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
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).
SIGNING_OPTIONS Les options de signature permettent didentifier la cl prive et le certificat utiliss pour
signer le fichier AIR. Ces options sont dcrites la section Options de signature du code de loutil ADT la
page 189.
airi_file Chemin daccs au fichier intermdiaire AIR non sign signer.
air_file Nom du fichier AIR crer.
Application base Valide Publiez la version la plus rcente de Aucune action requise
sur le moteur lapplication AIR.
dexcution Lapplication est automatiquement
dAdobe AIR 1.5.3 mise niveau.
ou ultrieur
Arriv expiration, mais Signez lapplication laide du nouveau Aucune action requise
le dlai de 365 jours certificat. Appliquez une signature de
nest pas dpass migration en utilisant le certificat expir. Lapplication est automatiquement
mise niveau.
Application Tous les tats Signez lapplication AIR laide dun certificat Dsinstallez la version actuelle de
base sur le valide et publiez la version la plus rcente de lapplication AIR et installez la
moteur lapplication AIR version la plus rcente.
dexcution
dAdobe
AIR 1.5.2 ou
antrieur
Lidentifiant
dditeur
figurant dans le
descripteur
dapplication de
la mise jour ne
correspond pas
celui de la
version
prcdente
1.0
C1
Nouvelle
ID diteur Non installation Non
identique valeur Le certificat a-t-il
dorigine? expir?
1.0
C1
Supprimer
Oui Oui
2.0
C2
Oui Non
Le certificat a-t-il Installer Priode dexpiration
expir? < 180 jours?
Les utilisateurs
doivent dsinstaller
lancienne version
pour installer la
Non version mise jour. Oui
Lgendes:
1.0 Ancienne application
C1 Ancien certificat
2.0 Nouvelle application
C2 Nouveau certificat
SIGNING_OPTIONS Les options de signature permettent didentifier la cl prive et le certificat utiliss pour
signer le fichier AIR. Ces options doivent identifier le certificat de signature dorigine. Elles sont dcrites la
section Options de signature du code de loutil ADT la page 189.
air_file_in Fichier AIR destin la mise jour, sign au moyen du nouveau certificat.
air_file_out Fichier AIR crer.
Remarque : les fichiers dentre et de sortie AIR doivent porter un nom diffrent.
Lexemple montre lappel dADT avec lindicateur -migrate pour appliquer une signature de migration une version
mise jour dune application AIR :
Remarque : la commande -migrate a t ajoute loutil ADT dans la version 1.1 dAIR.
4 Appliquez le certificat de migration au fichier .air laide de la commande ADT -migrate en utilisant le certificat
dorigine (comme dcrit plus haut dans Migration dune application AIR en vue dutiliser un nouveau certificat
la page 213).
5 Mettez le fichier .air en package dans un programme dinstallation natif en utilisant la commande ADT -package
avec lindicateur -target native. Comme lapplication est dj signe, vous navez pas besoin de spcifier un
certificat de signature cette tape.
Lexemple suivant illustre les tapes 3 5 de ce processus. Le code appelle ADT avec la commande -package, puis avec
-migrate et enfin une nouvelle fois avec -package afin de mettre en package une version mise jour dune
application AIR sous forme de programme dinstallation natif :
adt -package -storetype pkcs12 -keystore new_cert.p12 myAppUpdated.air myApp.xml myApp.swf
adt -migrate -storetype pkcs12 -keystore original_cert.p12 myAppUpdated.air myAppMigrate.air
adt -package -target native myApp.exe myAppMigrate.air
Migration dune application AIR qui utilise une extension native en vue
dutiliser un nouveau certificat
Une application AIR qui utilise une extension native ne peut pas tre signe laide de la commande ADT -migrate.
Il est galement impossible deffectuer sa migration laide de la procdure de migration dune application AIR avec
programme dinstallation natif, car elle ne peut pas tre publie en tant que fichier .air intermdiaire. Pour effectuer la
migration dune application AIR qui utilise une extension native vers un nouveau certificat, mieux vaut procder
comme suit :
1 Crez une mise jour de votre application.
2 Mettez en package et signez le programme dinstallation natif de la mise jour en utilisant la commande ADT -
package. Mettez lapplication en package avec le nouveau certificat, et incluez lindicateur -migrate dsignant le
certificat dorigine.
Utilisez la syntaxe suivant pour appeler la commande ADT -package avec lindicateur -migrate :
Remarque : lindicateur -migrate de la commande -package est disponible dans ADT dans AIR 3.6 et ultrieur.
Pour signer des fichiers AIR laide de ces certificats, utilisez les options de signature avec les commandes -package
ou -prepare dADT :
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.
Si lapplication utilise un fichier HTML comme contenu racine plutt quun fichier SWF, seul llment <content>
est diffrent :
<content>
HelloWorld.html
</content>
autoOrients
fullScreen
image57x57
image72x72
image512x512
iPhone
renderMode
supportedProfiles
extensionID
extensions
manifestAdditions
versionLabel
versionNumber
requestedDisplayResolution
softKeyboardBehavior
supportedLanguages
Le nouvel lment requestedDisplayResolution la page 250 dans initialWindow la page 241 indique sil
faut utiliser une rsolution leve ou standard sur les plates-formes telles que les Mac quips dcrans haute
rsolution.
<content>...</content>
<depthAndStencil>...</depthAndStencil>
<fullScreen>...</fullScreen>
<height>...</height>
<maximizable>...</maximizable>
<maxSize>...</maxSize>
<minimizable>...</minimizable>
<minSize>...</minSize>
<renderMode>...</renderMode>
<requestedDisplayResolution>...</requestedDisplayResolution>
<resizable>...</resizable>
<softKeyboardBehavior>...</softKeyboardBehavior>
<systemChrome>...</systemChrome>
<title>...</title>
<transparent>...</transparent>
<visible>...</visible>
<width>...</width>
<x>...</x>
<y>...</y>
</initialWindow>
<installFolder>...</installFolder>
<iPhone>
<Entitlements>...</Entitlements>
<InfoAdditions>...</InfoAdditions>
<requestedDisplayResolution>...</requestedDisplayResolution>
<forceCPURenderModeForDevices>...</forceCPURenderModeForDevices>
<externalSwfs>...</externalSwfs>
</iPhone>
<name>
<text xml:lang="...">...</text>
</name>
<programMenuFolder>...</programMenuFolder>
<publisherID>...</publisherID>
< supportedLanguages la page 252>...</ supportedLanguages la page 252>
<supportedProfiles>...</supportedProfiles>
<versionNumber>...</versionNumber>
<versionLabel>...</versionLabel>
</application>
allowBrowserInvocation
Adobe AIR 1.0 et ultrieur : facultatif
Contenu
true ou false (valeur par dfaut)
Exemple
<allowBrowserInvocation>true </allowBrowserInvocation>
android
Adobe AIR 2.5 et versions ultrieures : facultatif
Permet dajouter des lments au fichier manifeste Android. AIR cre un fichier AndroidManifest.xml par package
APK. Llment android du fichier descripteur dapplication AIR permet de lui ajouter dautres lments. Cet lment
est ignor sur toutes les plates-formes, lexception dAndroid.
lment parent : application la page 222
lments enfants :
colorDepth la page 226
manifestAdditions la page 244
Contenu
lments qui dfinissent les proprits propres Android ajouter au fichier manifeste de lapplication Android.
Exemple
<android>
<manifestAdditions>
...
</manifestAdditions>
</android>
Voir aussi
Paramtres Android la page 79
The AndroidManifest.xml File (disponible en anglais uniquement)
application
Adobe AIR 1.0 et ultrieur : obligatoire
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"
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 :
Bibliothque SWF charge par le contenu HTML Espace de nom du descripteur dapplication
via la balise <script>
Fichier SWF charg par le contenu HTML, via les Espace de nom du descripteur dapplication
API AIR ou Flash Player (flash.display.Loader, par
exemple)
SWF charg par le contenu HTML via les balises Version SWF du fichier loaded
<object> ou <embed> (ou les API JavaScript
quivalentes)
Lors du chargement dun fichier SWF dune version diffrente de celle du contenu en cours de chargement, deux
problmes peuvent survenir :
Chargement dun fichier SWF dune version rcente par un fichier SWF dune version antrieure : les rfrences
aux API ajoutes versions rcentes dAIR et de Flash Player dans le contenu charg ne sont pas rsolues.
Chargement dun fichier SWF dune ancienne version par un fichier SWF dune version rcente : les API modifies
dans les versions rcentes dAIR et de Flash Player peuvent adopter un comportement auquel le contenu charg ne
sattend pas.
Contenu
Llment de lapplication contient des lments enfants qui dfinissent les proprits dune application AIR.
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
Si le format nest pas spcifi, lapplication souvre dans le format et lorientation naturels du priphrique.
Lorientation naturelle varie selon le priphrique. En rgle gnrale, il sagit du format portrait sur les priphriques
quips dun cran de petite taille, tels que les tlphones. Sur certains priphriques, tels que la tablette iPad,
lapplication souvre dans lorientation active. Dans AIR 3.3 et les versions ultrieures, cela sapplique la totalit de
lapplication et pas simplement laffichage initial.
lment parent : initialWindow la page 241
lments enfants : aucun
Contenu
portrait, landscape ou any
Exemple
<aspectRatio> landscape</aspectRatio>
autoOrients
Adobe AIR 2.0 et versions ultrieures, iOS et Android : facultatif
Indique si lorientation du contenu de lapplication est automatiquement modifie lorsque le priphrique pivote.
Pour plus dinformations, voir Orientation de la scne.
Si vous utilisez lorientation automatique, envisagez de dfinir les proprits align et scaleMode de lobjet Stage sur
les valeurs suivantes :
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
Ces paramtres permettent lapplication de pivoter autour de langle suprieur gauche et interdisent la mise lchelle
automatique de son contenu. Bien que les autres modes de mise lchelle ajustent le contenu en fonction des
dimensions de la scne au terme de sa rotation, ils entranent galement un dcoupage, une distorsion ou une
rduction excessive du contenu. Il est quasiment toujours prfrable de redessiner le contenu ou den modifier
nouveau la disposition manuellement.
lment parent : initialWindow la page 241
lments enfants : aucun
Contenu
true ou false (valeur par dfaut)
Exemple
<autoOrients>true </autoOrients>
colorDepth
Adobe AIR 3 et versions ultrieures : facultatif
Remarque : si votre application utilise la classe StageVideo, vous devez utiliser la couleur 32 bits.
lment parent : android la page 222
lments enfants : aucun
Contenu
Utilisez lune des valeurs suivantes :
16 bits
32 bits
Exemple
<android>
<colorDepth>16bit</colorDepth>
<manifestAdditions>...</manifestAdditions>
</android>
containsVideo
Indique si lapplication contiendra ou non tout contenu vido.
lment parent : android la page 222
lments enfants : aucun
Contenu
Utilisez lune des valeurs suivantes :
true
false
Exemple
<android>
<containsVideo>true</containsVideo>
<manifestAdditions>...</manifestAdditions>
</android>
content
Adobe AIR 1.0 et versions ultrieures : obligatoire
La valeur indique de llment content correspond lURL du fichier de contenu principal de lapplication. Il sagit
soit dun fichier SWF, soit dun fichier HTML. LURL est dfinie relativement la racine du dossier dinstallation de
lapplication. (Si une application AIR est excute avec ADL, lURL est relative au dossier contenant le fichier
descripteur dapplication. Vous disposez du paramtre root-dir dADL pour indiquer un autre rpertoire racine.)
lment parent : initialWindow la page 241
lments enfants : aucun
Contenu
URL relative au rpertoire de lapplication. La valeur de llment content tant assimile une URL, les caractres qui
composent le nom du fichier de contenu doivent respecter le codage URL, conformment aux rgles dfinies dans RFC
1738. Les caractres espace doivent par exemple tre cods sous la forme %20.
Exemple
<content>TravelPlanner.swf </content>
contentType
Adobe AIR 1.0 1.1 : facultatif. AIR 1.5 et versions ultrieures : obligatoire
contentType est obligatoire depuis AIR 1.5 (il tait facultatif dans AIR 1.0 et 1.1). Cette proprit aide certains
systmes dexploitation trouver lapplication la plus adapte pour ouvrir un fichier. Sa valeur doit correspondre au
type MIME du contenu du fichier. Notez que la valeur est ignore sous Linux si le type de fichier est dj enregistr et
a un type MIME attribu.
lment parent : fileType la page 234
lments enfants : aucun
Contenu
Type et sous-type MIME. Pour plus dinformations sur les types MIME, voir RFC2045 (disponible en anglais
uniquement).
Exemple
<contentType> text/plain</contentType>
copyright
Adobe AIR 1.0 et versions ultrieures : facultatif
Informations de copyright relatives lapplication AIR. Sous Mac OS, le texte de copyright saffiche dans la bote de
dialogue A propos de de lapplication installe. Sous Mac OS, les informations de copyright sont galement utilises
dans le champ NSHumanReadableCopyright du fichier Info.plist de lapplication.
lment parent : application la page 222
lments enfants : aucun
Contenu
Chane contenant les informations de copyright de lapplication.
Exemple
<copyright> 2010, Examples, Inc.All rights reserved. </copyright>
customUpdateUI
Adobe AIR 1.0 et versions ultrieures : facultatif
Indique si une application fournit ses propres botes de dialogue de mise jour. Si llment est dfini sur false, AIR
propose des botes de dialogue de mise jour standard lutilisateur. Seules les applications distribues en tant que
fichiers AIR disposent du systme de mise jour intgr dAIR.
Si llment customUpdateUI est dfini sur true dans la version installe de lapplication et que lutilisateur double-
clique sur le fichier AIR pour installer une nouvelle version ou procder la mise jour de lapplication par le biais de
la fonction dinstallation transparente, le moteur dexcution ouvre la version installe de lapplication. Le moteur
dexcution nouvre pas le programme dinstallation de lapplication AIR par dfaut. La logique de lapplication peut
alors dterminer la marche suivre pour lopration de mise jour. (LID dapplication et lID dditeur stocks dans
le fichier AIR doivent tre identiques aux valeurs de lapplication installe pour que la mise jour aboutisse.)
Remarque : le mcanisme customUpdateUI nintervient que lorsque lapplication est dj installe et que lutilisateur
double-clique sur le fichier dinstallation AIR contenant une mise jour ou quil installe une mise jour de lapplication
par le biais de la fonction dinstallation transparente. Que le paramtre customUpdateUI soit dfini sur true ou non,
vous pouvez tlcharger et dmarrer une mise jour par le biais de la logique de lapplication en affichant linterface
utilisateur personnalise si besoin est.
Pour plus dinformations, voir Mise jour des applications AIR la page 273.
lment parent : application la page 222
lments enfants : aucun
Contenu
true ou false (valeur par dfaut)
Exemple
<customUpdateUI> true</customUpdateUI>
depthAndStencil
Adobe AIR 3.2 et versions ultrieures : facultatif
Indique que lapplication requiert lutilisation du tampon de profondeur ou du tampon de modle. Ces tampons
sutilisent normalement avec du contenu 3D. Par dfaut, la valeur de cet lment est false en vue de dsactiver les
tampons de profondeur et de modle. Cet lment est ncessaire, car les tampons doivent tre allous au dmarrage
de lapplication, cest--dire avant le chargement de contenu.
Le paramtre de cet lment doit correspondre la valeur transmise pour largument enableDepthAndStencil la
mthode Context3D.configureBackBuffer(). Si les valeurs ne correspondent pas, AIR renvoie une erreur.
Cet lment est applicable uniquement lorsque renderMode = direct. Si renderMode nest pas gal direct, ADT
renvoie lerreur 118 :
<depthAndStencil> element unexpected for render mode cpu. It requires "direct" render mode.
Contenu
true ou false (valeur par dfaut)
Exemple
<depthAndStencil> true</depthAndStencil>
description
Adobe AIR 1.0 et versions ultrieures : facultatif
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 versions ultrieures : obligatoire
Description du type de fichier affiche lintention de lutilisateur par le systme dexploitation. Il est impossible de la
localiser.
Voir aussi : description la page 230 en tant quenfant de llment application
lment parent : fileType la page 234
lments enfants : aucun
Contenu
Chane qui dcrit le contenu du fichier.
Exemple
<description> PNG image</description>
embedFonts
Vous permet dutiliser des polices personnalises sur StageText dans lapplication AIR. Cet lment est facultatif.
lment parent : application la page 222
lments enfants : font la page 236
Contenu
Llment embedFonts peut contenir un nombre illimit dlments font.
Exemple
<embedFonts>
<font>
<fontPath>ttf/space age.ttf</fontPath>
<fontName>space age</fontName>
</font>
<font>
<fontPath>ttf/xminus.ttf</fontPath>
<fontName>xminus</fontName>
</font>
</embedFonts>
Entitlements
Adobe AIR 3.1 et versions ultrieures, iOS uniquement : facultatif
iOS utilise des proprits appeles entitlements pour que lapplication puisse accder des ressources et
fonctionnalits supplmentaires. Utilisez llment Entitlements pour spcifier ces informations sur une application
iOS mobile.
lment parent : iPhone la page 243
lments enfants : lments Entitlements.plist iOS
Contenu
Contient les lments enfants qui stipulent les paires cl-valeur faisant office de paramtres Entitlements.plist dans
lapplication. Le contenu de llment Entitlements doit tre entour dun bloc CDATA. Pour plus dinformations, voir
le document Entitlement Key Reference dans iOS Developer Library (disponible en anglais uniquement).
Exemple
<iphone>
...
<Entitlements>
<![CDATA[
<key>aps-environment</key>
<string>development</string>
]]>
</Entitlements>
</iphone>
extension
Adobe AIR 1.0 et versions ultrieures : obligatoire
Contenu
Chane identifiant les caractres qui composent lextension du fichier (sans le point, . ).
Exemple
<extension> png</extension>
extensionID
Adobe AIR 2.5 et versions ultrieures
Indique lID dune extension ActionScript utilise par lapplication. LID est dfini dans le document descripteur de
lextension.
lment parent : extensions la page 233
lments enfants : aucun
Contenu
Chane identifiant lID de lextension ActionScript.
Exemple
<extensionID> com.example.extendedFeature</extensionID>
extensions
Adobe AIR 2.5 et versions ultrieures : facultatif
Contenu
lments enfant extensionID contenant les ID dextension ActionScript issus du fichier descripteur de lextension.
Exemple
<extensions>
<extensionID>extension.first</extensionID>
<extensionID>extension.next</extensionID>
<extensionID>extension.last</extensionID>
</extensions>
externalSwfs
Adobe AIR 3.7 et versions ultrieures, iOS uniquement : facultatif
Indique le nom dun fichier texte contenant une liste de fichiers SWF configurer par ADT pour lhbergement
distance. Vous pouvez rduire la taille de tlchargement initiale de lapplication en compressant un sous-ensemble
des fichiers SWF utilises par votre application et en chargeant les fichiers SWF externes restants (actif uniquement)
lors de lexcution laide de la mthode Loader.load(). Pour utiliser cette fonction, vous devez compresser
lapplication de telle sorte quADT dplace tout le pseudo-code ActionScript (ABC) depuis les fichiers SWF chargs en
externe vers le fichier SWF principal de lapplication, laissant un fichier SWF qui contient uniquement des actifs. Cela
est ncessaire pour respecter la rgle de lApple Store qui interdit le tlchargement tout code une fois quune
application est installe.
Pour plus dinformations, reportez-vous Rduire la taille des tlchargements en chargeant des fichiers SWF
externes dactifs uniquement la page 91.
lment parent : iPhone la page 243, initialWindow la page 241
lments enfants : aucun
Contenu
Nom dun fichier texte contenant une liste dlimite par des virgules de ligne des fichiers SWF pour tre distance
hberg.
Attributs :
aucun.
Exemples
iOS :
<iPhone>
<externalSwfs>FileContainingListofSWFs.txt</externalSwfs>
</iPhone>
filename
Adobe AIR 1.0 et versions ultrieures : obligatoire
Chane utiliser en tant que nom de fichier de lapplication (sans extension) lors de linstallation de cette dernire. Le
fichier dapplication dmarre lapplication AIR dans le moteur dexcution. Si aucune valeur name nest dfinie,
llment filename fait galement office de nom du dossier dinstallation.
lment parent : application la page 222
lments enfants : aucun
Contenu
La proprit filename peut contenir tout caractre Unicode (UTF-8), lexception des caractres suivants, dont
lutilisation est interdite dans les noms de fichier dans divers systmes de fichiers :
* x2A
" x22
: x3A
> x3C
< x3E
? x3F
\ x5C
| x7C
Exemple
<filename> MyApplication</filename>
fileType
Adobe AIR 1.0 et versions ultrieures : facultatif
Contenu
lments qui dcrivent un type de fichier.
Exemple
<fileType>
<name>foo.example</name>
<extension>foo</extension>
<description>Example file type</description>
<contentType>text/plain</contentType>
<icon>
<image16x16>icons/fooIcon16.png</image16x16>
<image48x48>icons/fooIcon48.png</imge48x48>
<icon>
</fileType>
fileTypes
Adobe AIR 1.0 et versions ultrieures : facultatif
Llment fileTypes permet de dclarer les types de fichiers auxquels peut tre associe une application AIR.
Lors de linstallation dune application AIR, tout type de fichier dclar est enregistr dans le systme dexploitation.
Si ces types de fichiers ne sont pas encore associs une autre application, ils sont associs lapplication AIR. Pour
remplacer une association existante entre un type de fichier et une autre application, utilisez la mthode
NativeApplication.setAsDefaultApplication() lexcution (de prfrence avec laccord de lutilisateur).
Remarque : les mthodes dexcution ne grent que les associations de types de fichiers dclars dans le descripteur
dapplication.
Llment fileTypes est facultatif.
lment parent : application la page 222
lments enfants : fileType la page 234
Contenu
Llment fileTypes peut contenir un nombre illimit dlments fileType.
Exemple
<fileTypes>
<fileType>
<name>adobe.VideoFile</name>
<extension>avf</extension>
<description>Adobe Video File</description>
<contentType>application/vnd.adobe.video-file</contentType>
<icon>
<image16x16>icons/AIRApp_16.png</image16x16>
<image32x32>icons/AIRApp_32.png</image32x32>
<image48x48>icons/AIRApp_48.png</image48x48>
<image128x128>icons/AIRApp_128.png</image128x128>
</icon>
</fileType>
</fileTypes>
font
Dcrit une police personnalise unique pouvant tre utilise dans lapplication AIR.
lment parent : embedFonts la page 231
lments enfants : fontName la page 236, fontPath la page 236
Contenu
lments spcifiant le nom de la police personnalise et son chemin daccs.
Exemple
<font>
<fontPath>ttf/space age.ttf</fontPath>
<fontName>space age</fontName>
</font>
fontName
Spcifie le nom de la police personnalise.
lment parent : font la page 236
lments enfants : aucun
Contenu
Nom de la police personnalise spcifier dans StageText.fontFamily
Exemple
<fontName>space age</fontName>
fontPath
Indique lemplacement du fichier de police personnalise.
lment parent : font la page 236
lments enfants : aucun
Contenu
Chemin daccs au fichier de police personnalis (en fonction de la source).
Exemple
<fontPath>ttf/space age.ttf</fontPath>
forceCPURenderModeForDevices
Adobe AIR 3.7 et versions ultrieures, iOS uniquement : facultatif
Forcer le mode de rendu UC pour un ensemble spcifi de priphriques. Cette fonction vous permet dactiver de
manire slective le mode de rendu GPU pour les priphriques iOS restants.
Vous ajoutez cette balise comme enfant de la balise iPhone et spcifiez une liste de noms de modles spars par des
espaces. Voici des noms de modle de priphrique valides :
iPad2,5 iPhone4,1
iPad3,1 iPhone5,1
iPad3,2
iPad3,3
iPad3,4
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
Contenu
true ou false (valeur par dfaut)
Exemple
<fullscreen>true </fullscreen>
height
Adobe AIR 1.0 et versions ultrieures : facultatif
Contenu
Entier positif dont la valeur ne doit pas dpasser 4 095.
Exemple
<height>4095 </height>
icon
Adobe AIR 1.0 et versions ultrieures : facultatif
La proprit icon dfinit un ou plusieurs fichiers dicne utiliser pour lapplication. Linclusion dune icne est
facultative. Si vous ne dfinissez pas la proprit icon, le systme dexploitation affiche une icne par dfaut.
Le chemin dfini est relatif au rpertoire racine de lapplication. Les fichiers dicne doivent tre au format PNG. Vous
pouvez indiquer les tailles dicne suivantes :
Sil existe un lment de taille donne, limage du fichier doit possder exactement la taille dfinie. Si toutes les tailles
ne sont pas disponibles, la taille la plus proche est mise lchelle en fonction de lutilisation requise de licne par le
systme dexploitation.
Remarque : les icnes indiques ne sont pas automatiquement ajoutes au package AIR. Les fichiers dicne doivent tre
inclus lemplacement relatif correct lors de la mise en package de lapplication.
Pour obtenir de meilleurs rsultats, fournissez une image dans chacune des tailles disponibles. Assurez-vous en outre
que lapparence des icnes est approprie en mode de couleur 16 et 32 bits.
lment parent : application la page 222
lments enfants : imageNxN la page 239
Contenu
lment imageNxN dfini pour chaque taille dicne requise.
Exemple
<icon>
<image16x16>icons/smallIcon.png</image16x16>
<image32x32>icons/mediumIcon.png</image32x32>
<image48x48>icons/bigIcon.png</image48x48>
<image128x128>icons/biggestIcon.png</image128x128>
</icon>
id
Adobe AIR 1.0 et versions ultrieures : obligatoire
Chane didentifiant de lapplication, appele ID dapplication. Un identifiant de type DNS inverse est souvent utilis,
mais ce type nest pas obligatoire.
lment parent : application la page 222
lments enfants : aucun
Contenu
La valeur de lidentifiant ne contient que les caractres suivants :
09
az
AZ
. (point)
- (tiret)
La valeur doit comporter entre 1 et 212 caractres. Cet lment est obligatoire.
Exemple
<id>org.example.application</id>
imageNxN
Adobe AIR 1.0 et versions ultrieures : facultatif
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 :
* x2A
" x22
: x3A
> x3C
< x3E
? x3F
\ x5C
| x7C
Exemple
<image32x32>icons/icon32.png</image32x32>
InfoAdditions
Adobe AIR 1.0 et versions ultrieures : facultatif
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 86
initialWindow
Adobe AIR 1.0 et versions ultrieures : obligatoire
Contenu
lments enfants qui dfinissent laspect et le comportement dune application.
Exemple
<initialWindow>
<title>Hello World</title>
<content>
HelloWorld.swf
</content>
<depthAndStencil>true</depthAndStencil>
<systemChrome>none</systemChrome>
<transparent>true</transparent>
<visible>true</visible>
<maxSize>1024 800</maxSize>
<minSize>320 240</minSize>
<maximizable>false</maximizable>
<minimizable>false</minimizable>
<resizable>true</resizable>
<x>20</x>
<y>20</y>
<height>600</height>
<width>800</width>
<aspectRatio>landscape</aspectRatio>
<autoOrients>true</autoOrients>
<fullScreen>false</fullScreen>
<renderMode>direct</renderMode>
</initialWindow>
installFolder
Adobe AIR 1.0 et versions ultrieures : facultatif
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
Voir aussi
Paramtres iOS la page 86
manifest
Adobe AIR 2.5 et versions ultrieures, Android uniquement : facultatif
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 versions ultrieures, Android uniquement
Contenu
Les informations que contient llment manifestAdditions sont ajoutes au document XML AndroidManifest.
AIR dfinit plusieurs entres manifeste dans le document manifeste Android gnr pour sassurer que les
fonctionnalits de lapplication et du moteur dexcution fonctionnent correctement. Il est impossible de remplacer les
paramtres suivants :
Il est impossible de dfinir les attributs suivants de llment manifest :
package
android:versionCode
android:versionName
Il est impossible de dfinir les attributs suivants de llment activity principal :
android:label
android:icon
Il est impossible de dfinir les attributs suivants de llment application :
android:theme
android:name
android:label
android:windowSoftInputMode
android:configChanges
android:screenOrientation
android:launchMode
Exemple
<manifestAdditions>
<![CDATA[
<manifest android:installLocation="preferExternal">
<uses-permission android:name="android.permission.INTERNET"/>
<application android:allowClearUserData="true"
android:enabled="true"
android:persistent="true"/>
</manifest>
]]>
</manifestAdditions>
Voir aussi
Paramtres Android la page 79
The AndroidManifest.xml File (disponible en anglais uniquement)
maximizable
Adobe AIR 1.0 et versions ultrieures : facultatif
Contenu
true (valeur par dfaut) ou false
Exemple
<maximizable>false </maximizable>
maxSize
Adobe AIR 1.0 et versions ultrieures : facultatif
Tailles maximales de la fentre. Si vous ne dfinissez pas de taille maximale, elle est dtermine par le systme
dexploitation.
lment parent : initialWindow la page 241
lments enfants : aucun
Contenu
Deux entiers qui reprsentent la largeur et la hauteur maximales, spars par un espace blanc.
Remarque : la taille de fentre maximale prise en charge par AIR est passe de 2 048x2 048 4 096x4 096 pixels dans
AIR 2. (Etant donn que les coordonnes de lcran sont de base zro, la valeur maximale gre par la largeur et la hauteur
est 4 095.)
Exemple
<maxSize>1024 360</maxSize>
minimizable
Adobe AIR 1.0 et versions ultrieures : facultatif
Contenu
true (valeur par dfaut) ou false
Exemple
<minimizable>false</minimizable>
minSize
Adobe AIR 1.0 et versions ultrieures : facultatif
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 versions ultrieures : facultatif
Contenu
Si vous indiquez un nud texte unique (au lieu de plusieurs lments <text>), le programme dinstallation de
lapplication AIR utilise ce nom, quelle que soit la langue systme active.
Le modle de fichier descripteur dapplication AIR 1.0 ne permet de dfinir quun seul nud texte simple en tant que
nom (plutt que plusieurs lments text). Dans AIR 1.1 (ou version ultrieure), il est possible de spcifier plusieurs
langues dans llment name.
Lattribut xml:lang de chaque lment text dfinit un code de langue, comme indiqu ladresse suivante RFC4646
(http://www.ietf.org/rfc/rfc4646.txt).
Le programme dinstallation dune application AIR utilise le nom le plus proche de la langue de linterface utilisateur
du systme dexploitation de lutilisateur. Prenons lexemple dune installation dans laquelle llment name du fichier
descripteur dapplication comprend une valeur pour le jeu de paramtres rgionaux en (anglais). Le programme
dinstallation dune application AIR utilise le nom en si le systme dexploitation identifie en (anglais) en tant que
langue de linterface utilisateur. Il utilise galement le nom en si la langue de linterface utilisateur systme correspond
en-US (anglais amricain). Toutefois, si la langue de linterface utilisateur correspond en-US et que le fichier
descripteur dapplication dfinit la fois les noms en-US et en-GB, le programme dinstallation dAIR utilise la valeur
en-US. Si lapplication ne dfinit pas de nom qui corresponde aux langues prises en charge par le systme
dexploitation, le programme dinstallation dune application AIR utilise la premire valeur name stipule dans le
fichier descripteur dapplication.
Llment name ne dfinit que le titre dapplication utilis par le programme dinstallation dune application AIR. Le
programme dinstallation dune application AIR prend en charge plusieurs langues : chinois traditionnel, chinois
simplifi, tchque, nerlandais, anglais, franais, allemand, italien, japonais, coren, polonais, portugais brsilien,
russe, espagnol, sudois et turc. Le programme dinstallation dune application AIR slectionne la langue affiche
(pour le texte autre que le titre et la description de lapplication) en fonction de la langue de linterface utilisateur
systme. La langue slectionne nest pas affecte par les paramtres du fichier descripteur dapplication.
Llment name ne dfinit pas les jeux de paramtres rgionaux disponibles pour lapplication installe en cours
dexcution. Pour plus dinformations sur le dveloppement dapplications multilingues, voir Localisation
dapplications AIR la page 309.
Exemple
Lexemple suivant dfinit un nom associ un nud texte simple :
<name>Test Application</name>
Lexemple suivant, valide dans AIR 1.1 et ultrieur, spcifie le nom dans trois langues (anglais, espagnol et franais)
par le biais de nuds dlment <text> :
<name>
<text xml:lang="en">Hello AIR</text>
<text xml:lang="fr">Bonjour AIR</text>
<text xml:lang="es">Hola AIR</text>
</name>
name
Adobe AIR 1.0 et versions ultrieures : obligatoire
Contenu
Chane reprsentant le nom dun type de fichier.
Exemple
<name>adobe.VideoFile</name>
programMenuFolder
Adobe AIR 1.0 et versions ultrieures : facultatif
Identifie lemplacement de stockage des raccourcis associs lapplication dans le menu Tous les programmes du
systme dexploitation Windows ou dans le menu Applications sous Linux. (Ce paramtre nest actuellement pas pris
en charge par les autres systmes dexploitation.)
lment parent : application la page 222
lments enfants : aucun
Contenu
La chane utilise par la valeur programMenuFolder peut comporter nimporte quel caractre Unicode (UTF-8),
lexception de ceux dont lutilisation est interdite dans les noms de fichier dans divers systmes de fichiers (voir
llment filename, qui contient la liste dexceptions). Le dernier caractre de cette valeur ne doit pas correspondre
une barre oblique (/).
Exemple
<programMenuFolder>Example Company/Sample Application</programMenuFolder>
publisherID
Adobe AIR 1.5.3 et versions ultrieures : facultatif
Identifie lidentifiant dditeur requis pour mettre jour une application AIR initialement cre dans AIR 1.5.2 ou une
version antrieure.
Ne spcifiez un identifiant dditeur que si vous crez une mise jour dapplication. La valeur de llment
publisherID doit correspondre lidentifiant dditeur gnr par AIR pour la version antrieure de lapplication.
Lidentifiant dditeur dune application installe est indiqu dans le fichier META-INF/AIR/publisherid, qui rside
dans le dossier dans lequel est installe lapplication.
Les nouvelles applications cres dans AIR 1.5.3 ou ultrieur ne doivent pas spcifier didentifiant dditeur.
Pour plus dinformations, voir A propos des identifiants dditeur AIR la page 201.
lment parent : application la page 222
lments enfants : aucun
Contenu
Chane didentifiant dditeur.
Exemple
<publisherID>B146A943FBD637B68C334022D304CEA226D129B4.1</publisherID>
renderMode
Adobe AIR 2.0 et versions ultrieures : facultatif
Indique si lacclration par unit de processeur graphique (GPU) est utilise, sous rserve dtre prise en charge par
le priphrique actif.
lment parent : initialWindow la page 241
lments enfants : aucun
Contenu
Utilisez lune des valeurs suivantes :
auto (valeur par dfaut) : active actuellement le mode unit centrale.
direct : la composition du rendu est effectue dans lunit centrale ; le blitting fait appel au processeur graphique.
Disponible dans AIR 3+.
Remarque : pour tirer profit de lacclration par processeur graphique du contenu Flash sur les plates-formes AIR
mobiles, Adobe recommande dutiliser renderMode="direct" (cest--dire, Stage3D) plutt que renderMode="gpu".
Adobe prend officiellement en charge les structures dapplication bases sur Stage3D suivantes et recommande leur
utilisation : Starling (2D) et Away3D (3D). Pour plus dinformations sur Stage3D et Starling/Away3D, voir
http://gaming.adobe.com/getstarted/.
gpu : lacclration matrielle est utilise, le cas chant.
Important : Nutilisez pas le mode de rendu sur GPU pour les applications Flex.
Exemple
<renderMode>direct</renderMode>
requestedDisplayResolution
Adobe AIR 2.6 et versions ultrieures, iOS uniquement ; Adobe AIR 3.6 et versions ultrieures, OS X (facultatif)
Indique si lapplication souhaite utiliser une rsolution standard ou haute sur un priphrique ou un ordinateur quip
dun cran haute rsolution. Si llment est dfini sur standard (valeur par dfaut), lcran est assimil par
lapplication un cran rsolution standard. Si llment est dfini sur high, lapplication peut adresser chaque pixel
haute rsolution.
Par exemple, sur un cran diPhone haute rsolution 640 x 960, si le paramtre est dfini sur standard, la dimension
de la scne en plein cran est de 320 x 480, et chaque pixel dapplication est rendu en utilisant quatre pixels dcran. Si
le paramtre est dfini sur high, la dimension de la scne en plein cran est 640 x 960.
Sur un priphrique quip dun cran haute rsolution, les dimensions de la scne correspondent celles de lcran,
quel que soit le paramtre utilis.
Si llment requestedDisplayResolution est imbriqu dans llment iPhone, il sapplique aux priphriques iOS.
Dans ce cas, lattribut excludeDevices peut tre utilis pour spcifier les priphriques auxquels le paramtre ne
sapplique pas.
Si llment requestedDisplayResolution est imbriqu dans llment initialWindow, il sapplique aux
applications AIR sur les ordinateurs MacBook Pro prenant en charge des crans haute rsolution. La valeur spcifie
sapplique toutes les fentres natives utilises dans lapplication. Limbrication de llment
requestedDisplayResolution dans llment initialWindow est pris en charge dans AIR 3.6 et ultrieur.
Contenu
Soit standard (valeur par dfaut), soit high
Attribut
excludeDevices : liste spare par des espaces de noms de modles iOS ou de prfixes de noms de modles. Cela permet
au dveloppeur de faire utiliser la haute rsolution par certains priphriques et la rsolution standard par dautres.
Cet attribut nest disponible que sous iOS (llment requestedDisplayResolution est imbriqu dans llment
iPhone). Lattribut excludeDevices est disponible dans AIR 3.6 et ultrieur.
Pour tout autre priphrique dont le nom de modle est spcifi dans cet attribut, la valeur
requestedDisplayResolution est linverse de la valeur spcifie. En dautres termes, si la valeur de
requestedDisplayResolution est high, les priphriques exclus utilisent la rsolution standard. Si la valeur de
requestedDisplayResolution est standard, les priphriques exclus utilisent la rsolution leve.
Les valeurs sont des noms de modles de priphriques iOS ou des prfixes de noms de modles. Par exemple, la valeur
iPad3,1 dsigne spcifiquement un iPad de 3e gnration avec Wi-Fi (et non un iPad de 3e gnration avec GSM ou
CDMA). Quant la valeur iPad3, elle fait rfrence tout iPad de 3e gnration. Une liste non officielle des noms de
modles de priphriques iOS est disponible sur la page Models du iPhone wiki (en anglais uniquement).
Exemples
Bureau :
<initialWindow>
<requestedDisplayResolution>high</requestedDisplayResolution>
</initialWindow>
iOS :
<iPhone>
<requestedDisplayResolution excludeDevices="iPad3
iPad4">high</requestedDisplayResolution>
</iPhone>
resizable
Adobe AIR 1.0 et versions ultrieures : facultatif
Contenu
true (valeur par dfaut) ou false
Exemple
<resizable>false</resizable>
softKeyboardBehavior
Adobe AIR 2.6 et versions ultrieures, profil mobile : facultatif
Spcifie le comportement par dfaut de lapplication lorsquun clavier virtuel est affich. Le comportement par dfaut
consiste dplacer lapplication vers le haut. Le moteur dexcution conserve lcran le champ de texte ou lobjet
interactif qui sont la cible daction. Utilisez loption pan si lapplication ne gre pas sa propre logique de traitement du
clavier.
Vous pouvez galement dsactiver le comportement par dfaut en dfinissant llment softKeyboardBehavior sur
none. Dans ce cas de figure, les champs de texte et les objets interactifs distribuent un vnement SoftKeyboardEvent
lors de laffichage du clavier logiciel, mais le moteur dexcution neffectue pas de panoramique ou de
redimensionnement de lapplication. Cest lapplication quil incombe de sassurer que la zone de saisie de texte nest
pas masque.
lment parent : initialWindow la page 241
lments enfants : aucun
Contenu
Soit none, soit pan. La valeur par dfaut est pan.
Exemple
<softKeyboardBehavior>none</softKeyboardBehavior>
Voir aussi
SoftKeyboardEvent
supportedLanguages
Adobe AIR 3.2 et versions ultrieures : facultatif
Identifie les langues prises en charge par lapplication. Cet lment est utilis uniquement par iOS, le moteur
dexcution captif de Mac et les applications Android. Cet lment est ignor par tous les autres types dapplications.
Si vous ne spcifiez pas cet lment, le programme de mise en package excute par dfaut les actions suivantes en
fonction du type dapplication :
iOS : les langues prises en charge par le moteur dexcution dAIR sont rpertories dans lApp Store diOS comme
langues prises en charges dans lapplication.
Moteur dexcution captif de Mac : toute application mise en package avec un paquet captif ne possde aucune
information de localisation.
Android : le paquet dapplication dispose de ressources pour toutes les langues prises en charge par le moteur
dexcution dAIR.
lment parent : application la page 222
lments enfants : aucun
Contenu
Liste de langues prises en charge, spare par des espaces. Les valeurs de langue valides correspondent aux valeurs
ISO 639-1 des langues prises en charge par le moteur dexcution dAIR : en, de, es, fr, it, ja, ko, pt, ru, cs, nl, pl,
sv, tr, zh, da, nb, iw.
Le programme de mise en package gnre une erreur si une valeur vide est spcifie pour llment
<supportedLanguages>.
Remarque : les balises localises (telles que le nom de la balise) ignorent la valeur dune langue si vous utilisez la balise
<supportedLanguages> alors quelle ne contient pas cette langue. Si une extension native dispose de ressources pour
une langue non spcifie par la balise <supportedLanguages>, un avertissement est renvoy et les ressources sont
ignores pour cette langue.
Exemple
<supportedLanguages>en ja fr es</supportedLanguages>
supportedProfiles
Adobe AIR 2.0 et versions ultrieures : facultatif
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.
La proprit supportedProfiles est facultative. Lorsque vous lomettez du fichier descripteur dapplication, il est
possible de compiler et de dployer lapplication pour tout profil.
Pour spcifier plusieurs profils, sparez-les par un espace. Le paramtre suivant, par exemple, stipule que lapplication
est uniquement disponible dans les profils de bureau et les profils tendus :
<supportedProfiles>desktop extendedDesktop</supportedProfiles>
Remarque : si vous excutez une application avec lapplication ADL et que vous ne spcifiez pas de valeur pour loption
ADL -profile, le premier profil du fichier descripteur dapplication est utilis. (Si aucun profil nest spcifi dans le
fichier descripteur dapplication, le profil de bureau est utilis.)
Exemple
<supportedProfiles>desktop mobileDevice</supportedProfiles>
Voir aussi
Profils de priphrique la page 259
Profils pris en charge la page 78
systemChrome
Adobe AIR 1.0 et versions ultrieures : facultatif
Indique si la fentre de lapplication initiale contient la barre de titre, les bordures et les contrles standard proposs
par le systme dexploitation.
Il est impossible de modifier le paramtre systemChrome de la fentre lexcution.
lment parent : initialWindow la page 241
lments enfants : aucun
Contenu
Utilisez lune des valeurs suivantes :
none : aucun chrome systme nest propos. Lapplication (ou une structure dapplication telle que Flex) est
responsable de laffichage du chrome de fentre.
standard (valeur par dfaut) : le chrome systme est propos par le systme dexploitation.
Exemple
<systemChrome>standard</systemChrome>
text
Adobe AIR 1.1 et versions ultrieures : facultatif
Contenu
Attribut xml:lang qui spcifie des paramtres rgionaux et une chane de texte localis.
Exemple
<text xml:lang="fr">Bonjour AIR</text>
title
Adobe AIR 1.0 et versions ultrieures : facultatif
Contenu
Chane contenant le titre de la fentre.
Exemple
<title>Example Window Title</title>
transparent
Adobe AIR 1.0 et versions ultrieures : facultatif
Contenu
true ou false (valeur par dfaut)
Exemple
<transparent>true</transparent>
version
Adobe AIR 1.0 2.0 : obligatoire, lment interdit dans AIR 2.5 et versions ultrieures
Contenu
Chane contenant la version de lapplication.
Exemple
<version>0.1 Alpha</version>
versionLabel
Adobe AIR 2.5 et versions ultrieures : facultatif
Contenu
Chane contenant la version affiche publiquement.
Exemple
<versionLabel>0.9 Beta</versionlabel>
versionNumber
Adobe AIR 2.5 et versions ultrieures : obligatoire
Contenu
Le numro de version peut contenir une squence de trois entiers au plus, spars par un point. Chaque entier est un
nombre compris entre 0 et 999 (inclus).
Exemples
<versionNumber>1.0.657</versionNumber>
<versionNumber>10</versionNumber>
<versionNumber>0.01</versionNumber>
visible
Adobe AIR 1.0 et versions ultrieures : facultatif
Contenu
true ou false (valeur par dfaut)
Exemple
<visible>true</visible>
width
Adobe AIR 1.0 et versions ultrieures : facultatif
Contenu
Entier positif dont la valeur ne doit pas dpasser 4 095.
Exemple
<width>1024</width>
x
Adobe AIR 1.0 et versions ultrieures : facultatif
Contenu
Valeur entire
Exemple
<x>120</x>
y
Adobe AIR 1.0 et versions ultrieures : facultatif
Lorigine du systme de coordonnes de lcran (0,0) correspond langle suprieur gauche de lcran principal de
lordinateur de bureau (dtermin par le systme dexploitation).
lment parent : initialWindow la page 241
lments enfants : aucun
Contenu
Valeur entire
Exemple
<y>250</y>
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
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.
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
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>
Le tableau ci-dessous indique les classes et fonctionnalits qui ne sont pas prises en charge par tous les profils.
Lapplication de dbogage du lanceur AIR (ADL) vrifie si vous avez spcifi les profils pris en charge dans llment
supportedProfiles du fichier descripteur dapplication. Si tel est le cas, lapplication ADL utilise par dfaut le
premier profil pris en charge de la liste lors du dbogage.
Vous pouvez spcifier le profil que doit utiliser loutil ADL laide de largument de ligne de commande -profile
(Voir Application de dbogage du lanceur AIR (ADL) la page 168.) Vous pouvez utiliser cet argument mme si
vous ne spcifiez pas de profil dans llment supportedProfiles du fichier descripteur dapplication. Toutefois, si
vous dfinissez llment supportedProfiles, il doit inclure le profil indiqu dans la ligne de commande, sans quoi
loutil ADL gnre une erreur.
Paramtre Description
appname Nom de lapplication, affich par le fichier SWF lorsque le moteur dexcution nest pas install.
appurl (Obligatoire). URL du fichier AIR tlcharger. Vous devez utiliser une URL absolue, et non relative.
airversion (Obligatoire). Pour la version 1.0 du moteur dexcution, dfinissez ce paramtre sur 1.0.
buttoncolor Couleur du bouton Tlcharger (spcifie sous forme de valeur hexadcimale, telle que FFCC00).
messagecolor Couleur du message textuel affich sous le bouton lorsque le moteur dexcution nest pas install
(spcifie sous la forme dune valeur hexadcimale, telle que FFCC00).
4 La taille minimale du fichier badge.swf est de 217 pixels de large sur 180 de haut. Ajustez les valeurs des paramtres
width et height de la fonction AC_FL_RunContent() votre convenance.
5 Renommez le fichier default_badge.html et ajustez son code (ou englobez-le dans une autre page HTML) selon vos
besoins.
Remarque : ne dfinissez pas lattribut wmode de la balise HTML embed qui charge le fichier badge.swf ; conservez la
valeur par dfaut ("window"). Les autres paramtres wmode empchent linstallation sur certains systmes et leur
utilisation donne lieu une erreur : Erreur n 2044 : ErrorEvent non trait :. text=Erreur n 2074 : La scne est trop
petite pour contenir linterface utilisateur tlcharge.
Vous pouvez galement modifier et recompiler le fichier badge.swf. Pour plus dinformations, voir Modification du
fichier badge.swf la page 266.
badge.fla Fichier Flash source, utilis pour compiler le fichier badge.swf. Le fichier badge.fla est compil dans un fichier
SWF 9 (pouvant tre charg dans Flash Player).
AIRBadge.as Classe ActionScript 3.0 dfinissant la classe de base utilise dans le fichier basdge.fla.
Vous pouvez utiliser Flash Professional pour modifier la conception de linterface visuelle du fichier badge.fla.
La fonction constructeur AIRBadge(), dfinie dans la classe AIRBadge, charge le fichier air.swf hberg ladresse
suivante http://airdownload.adobe.com/air/browserapi/air.swf. Le fichier air.swf contient le code pour lutilisation de
la fonctionnalit dinstallation transparente.
La mthode onInit() (dans la classe AIRBadge) est appele lorsque le chargement du fichier air.swf sest
correctement droul :
Le code dfinit la variable _air globale sur la classe principale du fichier air.swf charg. Cette classe comprend les
mthodes publiques suivantes auxquelles le fichier badge.swf accde pour appeler la fonctionnalit dinstallation
transparente :
Mthode Description
getStatus() Dtermine si le moteur dexcution est install (ou sil peut tre install) sur lordinateur. Pour plus
dinformations, voir Vrification de la prsence du moteur dexcution la page 268.
runtimeVersion : chane prcisant la version du moteur dexcution ( 1.0.M6 , par exemple) qui est
requise par lapplication installer.
installApplication() Installe lapplication spcifie sur lordinateur de lutilisateur. Pour plus dinformations, voir Installation dune
application AIR partir du navigateur la page 270.
url : chane dfinissant lURL. Vous devez utiliser un chemin dURL absolu, et non relatif.
runtimeVersion : chane prcisant la version du moteur dexcution ( 2.5. , par exemple) qui est
requise par lapplication installer.
arguments : arguments transmettre lapplication si elle est lance aprs son installation. Lapplication
est lance linstallation si llment allowBrowserInvocation est dfini sur true dans le fichier
descripteur de lapplication. (Pour plus dinformations sur le fichier descripteur dapplication, voir Fichiers
descripteurs dapplications AIR la page 217.) Si lapplication est lance lors dune installation
transparente depuis le navigateur (lutilisateur ayant choisi le lancement linstallation), lobjet
NativeApplication de lapplication ne distribue dobjet BrowserInvokeEvent que si des arguments sont
transmis. Tenez compte des consquences au niveau de la scurit quune transmission de donnes
lapplication peut entraner. Pour plus dinformations, voir Lancement dune application AIR installe
partir du navigateur la page 271.
Les paramtres pour url et runtimeVersion sont transmis dans le fichier SWF via les paramtres FlashVars dans la
page HTML servant de conteneur.
loaderContext.applicationDomain = ApplicationDomain.currentDomain;
airSWFLoader.contentLoaderInfo.addEventListener(Event.INIT, onInit);
airSWFLoader.load(new URLRequest("http://airdownload.adobe.com/air/browserapi/air.swf"),
loaderContext);
function onInit(e:Event):void
{
airSWF = e.target.content;
}
Une fois le fichier air.swf charg (lorsque lobjet contentLoaderInfo de lobjet chargeur Loader distribue lvnement
init), vous pouvez appeler nimporte quelle API du fichier air.swf, comme indiqu ci-aprs.
Remarque : le fichier badge.swf, qui est intgr aux kits SDK AIR et Flex, charge automatiquement le fichier air.swf. Voir
Utilisation du fichier badge.swf pour installer une application AIR la page 264. Les instructions dtailles dans cette
section se rapportent la cration de votre propre fichier SWF qui charge le fichier air.swf.
La mthode getStatus() renvoie une des valeurs de chane suivantes en fonction de ltat du moteur dexcution sur
lordinateur :
"available" Il est possible dinstaller le moteur dexcution sur cet ordinateur, mais il ny est pas install actuellement.
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.
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.
}
}
Paramtres Description
appID ID dapplication pour lapplication. Pour plus dinformations, voir id la page 239.
pubID ID dditeur de lapplication. Pour plus dinformations, voir publisherID la page 248. Si lapplication
concerne ne possde pas didentifiant dditeur, dfinissez le paramtre pubID sur une chane vide ().
callback Fonction de rappel pour servir comme fonction de gestionnaire. La mthode getApplicationVersion()
fonctionne de faon asynchrone et cest lorsque la prsence (ou labsence) de la version est dtecte que cette
mthode de rappel est invoque. La dfinition de la mthode de rappel doit inclure un paramtre, une chane,
qui est dfini sur la chane de version de lapplication installe. Si lapplication nest pas installe, une valeur
null est transmise la fonction, comme illustr dans lexemple de code prcdent.
La mthode getApplicationVersion() renvoie une erreur si la version requise de Flash Player (version 9 mise
jour 3 ou ultrieure sous Windows et Mac OS, ou version 10 sous Linux) nest pas installe dans le navigateur.
Remarque : depuis la version 1.5.3 dAIR, lutilisation de lidentifiant dditeur est dconseille. Les identifiants dditeur
ne sont plus automatiquement affects aux applications. Les applications peuvent nanmoins continuer les stipuler
des fins de compatibilit ascendante.
La mthode installApplication() installe lapplication spcifie sur lordinateur de lutilisateur. Cette mthode est
dote des paramtres suivants :
Paramtre Description
url Chane dfinissant lURL du fichier AIR installer. Vous devez utiliser un chemin dURL absolu, et non relatif.
runtimeVersion Chane prcisant la version du moteur dexcution (par exemple 1.0 ) qui est requise par lapplication
installer.
arguments Tableau darguments transmettre lapplication si elle est lance au moment de linstallation. Seuls les
caractres alphanumriques sont reconnus dans les arguments. Pour transmettre dautres valeurs, pensez
utiliser un schma de codage.
Lapplication est lance linstallation si llment allowBrowserInvocation est dfini sur true dans le
fichier descripteur de lapplication. (Pour plus dinformations sur le fichier descripteur dapplication, voir
Fichiers descripteurs dapplications AIR la page 217.) Si lapplication est lance lors dune installation
transparente depuis le navigateur (lutilisateur ayant choisi le lancement linstallation), lobjet
NativeApplication de lapplication ne distribue dobjet BrowserInvokeEvent que si des arguments ont t
transmis. Pour plus dinformations, voir Lancement dune application AIR installe partir du navigateur
la page 271.
La mthode installApplication() ne peut fonctionner que lorsquelle est appele dans le gestionnaire dvnement
pour un vnement utilisateur, tel quun clic de souris.
La mthode installApplication() renvoie une erreur si la version requise de Flash Player (version 9 mise jour 3
ou ultrieure sous Windows et Mac OS, ou version 10 sous Linux) nest pas installe dans le navigateur.
Sous Mac OS, lutilisateur doit dtenir les droits systme appropris lui permettant dinstaller une version de mise
jour dune application dans le rpertoire de cette application (et de privilges dadministration si lapplication met
jour le moteur dexcution). Sil utilise Windows, lutilisateur doit dtenir des privilges dadministration.
Vous pouvez galement appeler la mthode getApplicationVersion() du fichier air.swf pour vrifier si une
application est dj installe. Vous avez le choix dappeler cette mthode avant que la procdure dinstallation de
lapplication dbute, ou aprs le dmarrage de linstallation. Pour plus dinformations, voir Vrification partir dune
page Web de la prsence dune application AIR installe la page 269. Ds quelle est excute, lapplication peut
communiquer avec le contenu SWF dans le navigateur en utilisant la classe LocalConnection. Pour plus
dinformations, voir Communications avec dautres occurrences de Flash Player et dAIR (dveloppeurs ActionScript)
ou Communications avec dautres occurrences de Flash Player et dAIR (dveloppeurs HTML).
Pour plus dinformations sur le fichier descripteur dapplication, voir Fichiers descripteurs dapplications AIR la
page 217.
Un fichier SWF prsent dans le navigateur peut lancer une application AIR en appelant la mthode
launchApplication() dans le fichier air.swf charg partir de
http://airdownload.adobe.com/air/browserapi/air.swf. Pour plus dinformations, voir Chargement du fichier
air.swf la page 268.
Une fois le fichier air.swf charg, le fichier SWF peut appeler la mthode launchApplication() du fichier air.swf
comme suit :
var appID:String = "com.example.air.myTestApplication";
var pubID:String = "02D88EEED35F84C264A183921344EEA353A629FD.1";
var arguments:Array = ["launchFromBrowser"]; // Optional
airSWF.launchApplication(appID, pubID, arguments);
La mthode launchApplication() est dfinie au niveau suprieur du fichier air.swf (qui est charg dans le domaine
dapplication du fichier SWF de linterface utilisateur). Le fait dappeler cette mthode dclenche le lancement de
lapplication spcifie par AIR (si cette application est installe et si lappel du navigateur est autoris, par le biais du
paramtre allowBrowserInvocation dans le fichier descripteur de lapplication). Cette mthode prend en charge les
paramtres suivants :
Paramtre Description
appID ID dapplication pour lapplication lancer. Pour plus dinformations, voir id la page 239.
pubID ID dditeur de lapplication lancer. Pour plus dinformations, voir publisherID la page 248. Si
lapplication concerne ne possde pas didentifiant dditeur, dfinissez le paramtre pubID sur une chane
vide ().
La mthode launchApplication() ne peut fonctionner que lorsquelle est appele dans le gestionnaire dvnement
pour un vnement utilisateur, tel quun clic de souris.
La mthode launchApplication() renvoie une erreur si la version requise de Flash Player (version 9 mise jour 3
ou ultrieure sous Windows et Mac OS, ou version 10 sous Linux) nest pas installe dans le navigateur.
Si llment allowBrowserInvocation est dfini sur false dans le fichier descripteur de lapplication, lappel de la
mthode launchApplication() na aucune incidence.
Avant de prsenter linterface utilisateur pour lancer lapplication, il est peut-tre prfrable dappeler la mthode
getApplicationVersion() dans le fichier air.swf. Pour plus dinformations, voir Vrification partir dune page
Web de la prsence dune application AIR installe la page 269.
Lorsque lapplication est invoque par le biais de la fonctionnalit dappel du navigateur, lobjet NativeApplication de
lapplication distribue un objet BrowserInvokeEvent. Pour plus dinformations, voir Appel dune application AIR
partir du navigateur (dveloppeurs ActionScript) ou Appel dune application AIR partir du navigateur (dveloppeurs
HTML).
Si vous utilisez la fonction dappel du navigateur, tenez compte des implications au niveau de la scurit. Ces
implications sont dcrites dans Appel dune application AIR partir du navigateur (dveloppeurs ActionScript) et
Appel dune application AIR partir du navigateur (dveloppeurs HTML).
Ds quelle est excute, lapplication peut communiquer avec le contenu SWF dans le navigateur en utilisant la classe
LocalConnection. Pour plus dinformations, voir Communications avec dautres occurrences de Flash Player et dAIR
(dveloppeurs ActionScript) ou Communications avec dautres occurrences de Flash Player et dAIR (dveloppeurs
HTML).
Remarque : depuis la version 1.5.3 dAIR, lutilisation de lidentifiant dditeur est dconseille. Les identifiants dditeur
ne sont plus automatiquement affects aux applications. Les applications peuvent nanmoins continuer les stipuler
des fins de compatibilit ascendante.
Exemple JavaScript :
var updater = new air.Updater();
var airFile = air.File.desktopDirectory.resolvePath("Sample_App_v2.air");
var version = "2.01";
updater.update(airFile, version);
Pour que lapplication puisse utiliser la classe Updater, lutilisateur ou lapplication doit tlcharger la version mise
jour du fichier AIR sur lordinateur. Pour plus dinformations, voir Tlchargement dun fichier AIR sur lordinateur
de lutilisateur la page 276.
Avant AIR 2.5, utilisez nimporte quel format pour la chane de version ( 2.01 ou version 2 , par exemple). A
partir dAIR 2.5 ou ultrieur, la chane de version doit correspondre une squence de nombres dun, deux ou trois
chiffres, spars par un point. Exemple : .0 , 1.0 et 67.89.999 sont tous des nombres de version valides. Validez
la chane de version avant de mettre jour lapplication.
Si une application Adobe AIR tlcharge un fichier AIR via Internet, il est conseill de disposer dun mcanisme
permettant au service Web dinformer lapplication Adobe AIR de la version en cours de tlchargement. Lapplication
peut ainsi utiliser cette chane comme paramtre version de la mthode update(). Si le fichier AIR est obtenu par
un autre moyen, dans lequel la version du fichier AIR est inconnue, lapplication AIR peut examiner le fichier AIR afin
de dterminer les informations de version. (Un fichier AIR est une archive compresse et le fichier descripteur
dapplication correspond au deuxime enregistrement dans larchive.)
Pour plus dinformations sur le fichier descripteur dapplication, voir Fichiers descripteurs dapplications AIR la
page 217.
Cette interface est toujours utilise la premire fois quun utilisateur installe une version dune application sur une
machine. Vous pouvez cependant dfinir votre propre interface en vue de lutiliser dans les occurrences suivantes. Si
lapplication dfinit une interface de mise jour personnalise, spcifiez un lment customUpdateUI dans le fichier
descripteur de lapplication actuellement installe :
<customUpdateUI>true</customUpdateUI>
Aprs avoir install lapplication et une fois que lutilisateur a ouvert un fichier AIR avec un ID dapplication et un ID
dditeur correspondant lapplication installe, cest le moteur dexcution qui ouvre lapplication et non le
programme dinstallation par dfaut de lapplication AIR. Pour plus dinformations, voir customUpdateUI la
page 229.
Lors de son excution (cest--dire lorsque lobjet NativeApplication.nativeApplication distribue un
vnement load), lapplication peut dcider de mettre ou non lapplication jour ( laide de la classe Updater). Si elle
dcide deffectuer la mise jour, elle peut prsenter lutilisateur sa propre interface dinstallation (qui diffre de
linterface dexcution standard).
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.");
}
} 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>
}
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.
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.
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.
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"/>
LAPI dfinie dans ces deux fichiers est dcrite dans la suite de ce document.
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.
5 Faites en sorte que lobjet updater fasse rfrence au fichier updateConfig.xml, et appelez la mthode
initialize() de lobjet.
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 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)
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.
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>
Pour dfinir la balise description avec plusieurs langues, utilisez plusieurs lments text dfinissant un attribut
lang :
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.
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.
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.
"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>
Exemple JavaScript :
appUpdater.configurationFile = new air.File("app:/cfg/updateConfig.xml");
Le rpertoire templates de la structure de mise jour comprend un exemple de fichier de configuration, config-
template.xml.
Les proprits de lobjet updater sont updateURL et delay. Ces proprits dfinissent les mmes paramtres que les
lments updateURL et delay dans le fichier de configuration : lURL du fichier descripteur de mise jour et
lintervalle de vrification des mises jour. Si vous spcifiez un fichier de configuration et des paramtres dans le code,
toutes les proprits dfinies laide du code sont prioritaires sur les paramtres correspondants dans le fichier de
configuration.
Vous devez dfinir la proprit updateURL, par lintermdiaire du fichier de configuration ou du script (voir
Dfinition des fichiers descripteurs de mise jour et ajout du fichier AIR dans le serveur Web la page 284), avant
dutiliser lobjet updater (avant dappeler la mthode initialize() de lobjet updater, dcrite la section
Initialisation de la structure de mise jour la page 289).
La structure ApplicationUpdaterUI dfinit les proprits supplmentaires suivantes de lobjet updater :
isCheckForUpdateVisible : correspondant aux botes de dialogue Rechercher une mise jour, Aucune mise
jour et Erreur de mise jour.
isDownloadUpdateVisible : correspondant la bote de dialogue Tlcharger une mise jour.
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.
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.
"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.
"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.
Cette mthode na aucune incidence si le processus de mise jour est dj en cours dexcution. Sinon, elle dmarre le
processus de mise jour.
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.
appUpdater.checkForUpdate();
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.
Sil existe plusieurs versions de la description (dans le fichier descripteur de mise jour), le tableau contient
plusieurs sous-tableaux. Chaque tableau comprend deux lments : le premier tant le code de langue (par
exemple "en"), et le second la description correspondante (une chane) dans cette langue. Voir Dfinition des
fichiers descripteurs de mise jour et ajout du fichier AIR dans le serveur Web la page 284.
StatusUpdateErrorEvent.UPDATE_ERROR : une erreur sest produite et le programme de mise jour na pas pu
tlcharger ou interprter le fichier descripteur de mise jour.
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.
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.
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.)
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.
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.
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.
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.
Le fichier AIRSourceViewer.js dfinit la classe SourceViewer, laquelle vous pouvez accder partir du code
JavaScript en appelant air.SourceViewer.
La classe SourceViewer dfinit trois mthodes : getDefault(), setup() et viewSource().
Mthode Description
getDefault() Mthode statique. Renvoie une occurrence de SourceViewer, qui vous permet dappeler les autres mthodes.
setup() Applique des paramtres de configuration Source Viewer. Pour plus dinformations, voir Configuration de
Source Viewer la page 294.
viewSource() Ouvre une nouvelle fentre dans laquelle lutilisateur peut rechercher et ouvrir les fichiers sources de
lapplication hte.
Remarque : le code utilisant Source Viewer doit se trouver dans le sandbox de scurit de lapplication (dans un fichier
rsidant dans le rpertoire de lapplication).
Le code JavaScript suivant, par exemple, instancie un objet SourceViewer et ouvre la fentre Source Viewer, qui
rpertorie tous les fichiers sources :
var viewer = air.SourceViewer.getDefault();
viewer.viewSource();
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 :
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);
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).
Les rpertoires sont placs entre crochets. Lutilisateur peut cliquer sur un rpertoire pour dvelopper ou masquer son
contenu.
Source Viewer peut afficher la source des fichiers texte portant une extension reconnue (HTML, JS, TXT, XML, etc.),
ainsi que des fichiers image dots dune extension graphique reconnue (JPG, JPEG, PNG et GIF). Si lutilisateur
slectionne un fichier dont lextension est inconnue, un message derreur indiquant quil est impossible dextraire le
contenu dun fichier de ce type saffiche.
Les fichiers sources exclus par le biais de la mthode setup() ne sont pas rpertoris (voir Chargement,
configuration et ouverture de Source Viewer la page 294).
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.
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).
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>
Lorsque vous cliquez sur le bouton, longlet Console affiche lobjet btn1 et, et vous pouvez dvelopper larborescence
de celui-ci pour inspecter ses proprits :
Vous pouvez modifier une proprit de lobjet en cliquant sur le listing droite du nom de la proprit et en modifiant
le texte correspondant.
Les mthodes info(), error() et warn() sont similaires la mthode log(). Toutefois, lorsque vous les appelez, une
icne saffiche au dbut de la ligne sur la console :
Mthode Icne
info()
error()
warn()
Les mthodes log(), warn(), info() et error() se contentent denvoyer une rfrence un objet ; par consquent,
seules les proprits prsentes au moment de laffichage sont disponibles. Pour srialiser lobjet lui-mme, utilisez la
mthode dump(). Cette mthode gre deux paramtres :
Paramtre Description
levels Nombre maximal de niveaux examiner dans larborescence de lobjet (outre le niveau racine). La valeur par
dfaut est 1 (autrement dit, un niveau sous le niveau racine de larborescence est affich). Ce paramtre est
facultatif.
Lappel de la mthode dump() srialise un objet avant de lenvoyer longlet Console ; vous ne pouvez donc pas
modifier ses proprits. Considrons par exemple le code qui suit :
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.
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 :
closeIntrospectorOnExit true Configure la fentre de loutil AIR HTML Introspector de sorte quelle se
ferme la fermeture de toutes les autres fentres de lapplication.
debuggerKey 123 (touche F12) Code de touche du raccourci clavier permettant dafficher et de masquer
la fentre de loutil AIR HTML Introspector.
debugRuntimeObjects true Configure loutil AIR HTML Introspector de sorte dvelopper les objets
dexcution en plus des outils dfinis dans JavaScript.
introspectorKey 122 (touche F11) Code de touche du raccourci clavier permettant douvrir le panneau
Inspect.
showSender true Configure longlet Console de sorte afficher des informations sur lobjet
qui envoie le message au dbut de chaque ligne.
wrapColumns 2000 Nombre de colonnes au-del duquel se produit un retour la ligne dans
les fichiers sources.
La fentre de loutil AIR HTML Introspector contient six onglets, Console, HTML, DOM, Assets, Source et XHR
illustrs ci-dessous :
Onglet Console
Longlet Console affiche les valeurs des proprits transmises en tant que paramtres lune des mthodes de la classe
air.Introspector.Console. Pour plus dinformations, voir Inspection dun objet dans longlet Console la page 299.
Pour effacer le contenu de la console, cliquez avec le bouton droit de la souris sur le texte et slectionnez Clear
Console.
Pour enregistrer le texte de longlet Console dans un fichier, cliquez avec le bouton droit de la souris sur longlet et
slectionnez Save Console To File.
Pour enregistrer le texte de longlet Console dans le Presse-papiers, cliquez avec le bouton droit de la souris sur
longlet et slectionnez Save Console To Clipboard. Pour copier le texte slectionn uniquement dans le Presse-
papiers, cliquez dessus avec le bouton droit de la souris et slectionnez Copy.
Pour enregistrer le texte de la classe Console dans un fichier, cliquez avec le bouton droit de la souris sur longlet et
slectionnez Save Console To File.
Pour rechercher du texte dans longlet, appuyez sur Ctrl+F (Windows) ou Commande+F (Mac OS). (La recherche
ne porte pas sur les nuds de larborescence qui ne sont pas visibles.)
Onglet HTML
Longlet HTML permet dafficher lintgralit du modle HTML DOM dans une structure arborescente. Cliquez sur
un lment pour afficher ses proprits dans la partie droite de longlet. Cliquez sur les icnes + et - pour dvelopper
ou rduire un nud dans larborescence.
Vous pouvez modifier tout attribut ou lment de texte dans longlet HTML. La valeur modifie est rpercute dans
lapplication.
Cliquez sur le bouton Inspect ( gauche de la liste donglets de la fentre de loutil AIR HTML Introspector). Vous
pouvez cliquer sur tout lment dans la page HTML de la fentre principale. Lobjet DOM associ est affich dans
longlet HTML. Lorsque la fentre principale possde le focus, vous pouvez aussi appuyer sur le raccourci clavier pour
activer ou dsactiver le bouton Inspect. Le raccourci clavier par dfaut est F11. Vous pouvez le remplacer par une autre
touche (voir Configuration de loutil AIR HTML Introspector la page 301).
Cliquez sur le bouton Refresh active window (dans la partie suprieure de la fentre de loutil AIR HTML Introspector)
pour actualiser les donnes affiches dans longlet HTML.
Appuyez sur Ctrl+F (Windows) ou Commande+F (Mac OS) pour rechercher du texte dans longlet. (La recherche ne
porte pas sur les nuds de larborescence qui ne sont pas visibles.)
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.)
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.
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.)
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.)
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.
Chapitre 20 : Localisation
dapplications AIR
Adobe AIR 1.1 et ultrieur
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)
Vous pouvez spcifier plusieurs langues pour les lments name et description du fichier descripteur dapplication.
Par exemple, le code suivant dfinit le nom de lapplication en trois langues (anglais, franais et allemand) :
<name>
<text xml:lang="en">Sample 1.0</text>
<text xml:lang="fr">chantillon 1.0</text>
<text xml:lang="de">Stichprobe 1.0</text>
</name>
Lattribut xml:lang de chaque lment text dfinit un code de langue, comme indiqu dans la norme RFC4646
(http://www.ietf.org/rfc/rfc4646.txt).
Llment name dfinit le nom de lapplication quaffiche le programme dinstallation de lapplication AIR. Ce
programme utilise la valeur localise qui correspond le mieux aux langues dinterface utilisateur dfinies par les
paramtres du systme dexploitation.
De mme, vous pouvez spcifier des versions en plusieurs langues de llment description dans le fichier
descripteur dapplication. Cet lment dfinit le texte descriptif quaffiche le programme dinstallation de
lapplication AIR.
Ces paramtres sappliquent uniquement aux langues disponibles dans le programme dinstallation de
lapplication AIR. Ils ne dfinissent pas les jeux de paramtres rgionaux disponibles pour lapplication installe
lorsquelle sexcute. Linterface utilisateur des applications AIR peut prendre en charge plusieurs langues, y compris
celles gres par le programme dinstallation de lapplication AIR.
Pour plus dinformations, voir lments du fichier descripteur dapplication AIR la page 221.
Voir aussi
Building multilingual Flex applications on Adobe AIR (Cration dapplications Flex multilingues dans Adobe AIR)
Building a multilingual HTML-based application (disponible en anglais uniquement)
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.
Vous pouvez ensuite appeler lobjet air.Localizer.localizer par le biais de code JavaScript :
<script>
var localizer = air.Localizer.localizer;
</script>
Lobjet air.Localizer.localizer est un objet singleton qui dfinit des mthodes et des proprits relatives
lutilisation et la gestion des ressources localises. La classe Localizer comprend les mthodes suivantes :
Mthode Description
getFile() Extrait le texte dun paquet de ressources spcifi pour un jeu de paramtres rgionaux spcifique. Voir
Extraction de ressources dun jeu de paramtres rgionaux spcifique la page 317.
getLocaleChain() Renvoie les langues qui figurent dans le chanage de jeux de paramtres rgionaux. Voir Dfinition du
chanage de jeux de paramtres rgionaux la page 316
getResourceBundle() Renvoie les cls du regroupement et les valeurs correspondantes sous forme dobjet. Voir Extraction de
ressources dun jeu de paramtres rgionaux spcifique la page 317.
getString() Extrait la chane dfinie pour une ressource. Voir Extraction de ressources dun jeu de paramtres rgionaux
spcifique la page 317.
setBundlesDirectory( Dfinit lemplacement du rpertoire de regroupements. Voir Personnalisation des paramtres de la structure
) de localisation HTML dAIR la page 315.
setLocalAttributePre Dfinit le prfixe utilis par les attributs de localisation utiliss dans des lments DOM HTML. Voir
fix() Personnalisation des paramtres de la structure de localisation HTML dAIR la page 315
setLocaleChain() Dfinit lordre des langues dans le chanage de jeux de paramtres rgionaux. Voir Dfinition du chanage
de jeux de paramtres rgionaux la page 316
sortLanguagesByPrefe Trie les jeux de paramtres rgionaux du chanage de jeux de paramtres rgionaux en fonction des
rence() paramtres du systme dexploitation. Voir Dfinition du chanage de jeux de paramtres rgionaux la
page 316
update() Met jour le DOM HTML (ou un lment DOM) avec les chanes localises du chanage de jeux de paramtres
rgionaux en cours. Pour plus dinformations sur les chanages de jeux de paramtres rgionaux, voir
Gestion des chanages de jeux de paramtres rgionaux la page 313. Pour plus dinformations sur la
mthode update(), voir Mise jour dlments DOM afin quils utilisent le jeu de paramtres rgionaux en
cours la page 314.
Proprit Description
Si vous ne spcifiez pas llment <supportedLanguages>, le programme de mise en package excute par dfaut les
actions suivantes en fonction du type dapplication :
iOS : les langues prises en charge par le moteur dexcution dAIR sont rpertories dans lApp Store diOS comme
langues prises en charges dans lapplication.
Moteur dexcution captif de Mac : toute application mise en package avec un paquet captif ne possde aucune
information de localisation.
Android : le paquet dapplication dispose de ressources pour toutes les langues prises en charge par le moteur
dexcution dAIR.
Pour plus dinformations, voir supportedLanguages la page 252.
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 :
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.
<title local_innerHTML="default.mainWindowTitle"/>
Si le jeu de paramtres rgionaux en cours ne dfinit pas de valeur correspondante, la structure de localisation examine
le reste du chanage de jeux. Elle utilise le jeu suivant du chanage pour lequel une valeur est dfinie.
Dans lexemple suivant, le texte (attribut innerHTML) de llment p utilise la valeur de la cl greeting dfinie dans le
fichier de proprits par dfaut :
<p local_innerHTML="default.greeting" />
Dans lexemple suivant, lattribut value (et le texte affich) de llment input utilise la valeur de la cl btnBlue dfinie
dans le fichier de proprits par dfaut :
<input type="button" local_value="default.btnBlue" />
Pour mettre jour le DOM HTML afin quil utilise les chanes dfinies dans le chanage de jeu de paramtres rgionaux
en cours, appelez la mthode update() de lobjet Localizer. Lappel de la mthode update() force lobjet Localizer
analyser le DOM et appliquer des manipulations lorsquil dtecte des attributs de localisation ( local_... ) :
air.Localizer.localizer.update();
Vous pouvez dfinir des valeurs pour un attribut (tel que innerHTML ) et pour lattribut de localisation
correspondant (tel que local_innerHTML ). Dans ce cas, la structure de localisation ne remplace la valeur de
lattribut que si elle dtecte une valeur correspondante dans le chanage de localisation. Par exemple, llment suivant
dfinit les attributs value et local_value :
<input type="text" value="Blue" local_value="default.btnBlue"/>
Vous pouvez aussi vous contenter de mettre jour un lment DOM spcifique. Pour plus dinformations, voir Mise
jour dlments DOM afin quils utilisent le jeu de paramtres rgionaux en cours la page 314
Par dfaut, la structure de localisation HTML dAIR applique le prfixe local_ aux attributs dfinissant des
paramtres de localisation pour un lment. Ainsi, un attribut local_innerHTML dfinit par dfaut le regroupement
et le nom de ressource utiliss pour la valeur innerHTML dun lment. De mme, un attribut local_value dfinit par
dfaut le regroupement et le nom de ressource utiliss pour lattribut value dun lment. Vous pouvez configurer la
structure de localisation de sorte utiliser un prfixe autre que local_ . Voir Personnalisation des paramtres de
la structure de localisation HTML dAIR la page 315.
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.
<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);
}
Un objet File
Pour plus dinformations sur les URL et les chemins de rpertoire, voir :
Chemin des objets File (dveloppeurs ActionScript)
Chemin des objets File (dveloppeurs HTML)
Par exemple, le code suivant dfinit le rpertoire de regroupements sur le sous-rpertoire languages du rpertoire de
stockage de lapplication (rpertoire dapplication) :
air.Localizer.localizer.setBundlesDirectory("languages");
Dfinissez le paramtre path sur un chemin valide. Sinon, la mthode renvoie une exception
BundlePathNotFoundError. BundlePathNotFoundError correspond la proprit name de cette erreur, dont la
proprit message spcifie le chemin non valide.
Par dfaut, la structure de localisation HTML dAIR applique le prfixe local_ aux attributs dfinissant des
paramtres de localisation pour un lment. Par exemple, lattribut local_innerHTML dfinit le regroupement et le
nom de ressource utiliss pour la valeur innerHTML de llment input suivant :
<p local_innerHTML="default.greeting" />
La mthode setLocalAttributePrefix() de lobjet Localizer vous permet dutiliser un prfixe dattribut autre que
local_ . Cette mthode statique gre un paramtre unique, qui correspond la chane utiliser comme prfixe
dattribut. Par exemple, le code suivant force la structure de localisation utiliser loc_ comme prfixe dattribut :
air.Localizer.localizer.setLocalAttributePrefix("loc_");
Vous pouvez personnaliser le prfixe dattribut utilis par la structure de localisation. Vous souhaiterez peut-tre
personnaliser le prfixe si la valeur par dfaut ( local_ ) cre un conflit avec le nom dun autre attribut utilis par le
code. Lorsque vous appelez cette mthode, veillez utiliser des caractres valides pour les attributs HTML. (La valeur
ne doit pas contenir despaces, par exemple.)
Pour plus dinformations sur lutilisation dattributs de localisation dans des lments HTML, voir Mise jour
dlments DOM avec du contenu localis la page 313.
Les paramtres relatifs au rpertoire de regroupements et au prfixe dattribut ne sont pas persistants dune session
dapplication une autre. Si vous utilisez des paramtres personnaliss, veillez donc les dfinir chaque initiation de
lapplication.
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);
}
Paramtre Description
templateArgs Facultatif. Tableau de chanes servant remplacer les balises numrotes dans la
chane de remplacement. Par exemple, soit un appel la fonction dans lequel le
paramtre templateArgs est dfini sur ["Ral", "4"] et la chane de
ressource correspondante est "Hello, {0}. You have {1} new
messages.". Dans ce cas, la fonction renvoie "Hello, Ral. You have 4
new messages.". Pour ne pas tenir compte de ce paramtre, transmettez la
valeur null.
locale Facultatif. Code du jeu de paramtres rgionaux (tel que "en", "en_us" ou
"fr") utiliser. Si un jeu de paramtres rgionaux est indiqu et quaucune
valeur correspondante nest trouve, la mthode ne recherche pas de valeurs
dans les autres jeux du chanage. Si aucun code de jeu de paramtres rgionaux
nest spcifi, la fonction renvoie la chane du premier jeu du chanage qui
contient une valeur pour le nom de ressource donn.
La structure de localisation peut mettre jour des attributs DOM HTML marqus. Vous pouvez cependant utiliser les
chanes localises autrement. Ainsi, vous pouvez utiliser une chane dans du contenu HTML gnr dynamiquement
ou en tant que valeur de paramtre dans un appel de fonction. Par exemple, le code suivant appelle la fonction alert()
avec la chane dfinie dans la ressource error114 du fichier de proprit par dfaut du jeu de paramtres rgionaux
fr_FR :
alert(air.Localizer.localizer.getString("default", "error114", null, "fr_FR"));
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);
}
La mthode getResourceBundle() de lobjet Localizer renvoie le regroupement spcifi pour un jeu de paramtres
rgionaux donn. La valeur renvoye de la mthode est un objet dont les proprits correspondent aux cls du
regroupement. (Si lapplication ne trouve pas le regroupement spcifi, la mthode renvoie null.)
La mthode reconnat deux paramtres : locale et bundleName.
Paramtre Description
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/>");
Paramtre Description
templateArgs Facultatif. Tableau de chanes servant remplacer les balises numrotes dans la
chane de remplacement. Par exemple, soit un appel la fonction dans lequel le
paramtre templateArgs est dfini sur ["Ral", "4"] et le fichier de
ressource correspondant contient deux lignes :
<html>
<body>Hello, {0}. You have {1} new messages.</body>
</html>
<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 :
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)
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.
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
Une liste de rpertoires spars par un point-virgule, similaire celle-ci, saffiche alors :
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
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.