Vous avez la possibilité de compiler les actifs Adobe® ActionScript® 3.0 et MXML de l’application AIR à l’aide du compilateur MXML de ligne de commande (amxmlc). (Il est inutile de compiler les applications HTML. Pour compiler un fichier SWF dans Flash Professional, il suffit de publier le clip dans un fichier SWF.)
Pour appeler amxmlc, utilisez la syntaxe de ligne de commande de base suivante :
amxmlc [compiler options] -- MyAIRApp.mxml
où
[compiler options]
indique les options de ligne de commande utilisées pour compiler l’application AIR.
La commande amxmlc appelle le compilateur mxmlc Flex standard avec un paramètre supplémentaire,
+configname=air
. Ce paramètre indique au compilateur d’utiliser le fichier air-config.xml à la place du fichier flex-config.xml. Mise à part cette différence, l’emploi d’amxmlc est en tout point identique à celui de mxmlc.
Le compilateur charge le fichier de configuration air-config.xml indiquant les bibliothèques AIR et Flex généralement 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 d’autres. En général, le moyen le plus simple de créer un fichier de configuration local consiste à modifier une copie de la version globale. Vous pouvez charger le fichier local à l’aide de l’option
-load-config
:
-load-config=project-config.xml
Remplace les options globales.
-load-config+=project-config.xml
Ajoute des valeurs supplémentaires aux options globales admettant plus d’une valeur, telles que l’option
-library-path
. Les options globales admettant une seule valeur sont remplacées.
Si vous appliquez une convention d’appellation spéciale aux fichiers de configuration, le compilateur amxmlc charge automatiquement le fichier local. Si, par exemple, le fichier MXML principal s’intitule
RunningMan.mxml
, nommez le fichier de configuration local
RunningMan-config.xml
. A présent, pour compiler l’application, vous devez uniquement saisir :
amxmlc RunningMan.mxml
RunningMan-config.xml
est chargé automatiquement, car son nom de fichier correspond à celui du fichier MXML compilé.
Exemples d’utilisation du compilateur amxmlc
Les exemples suivants illustrent l’utilisation du compilateur amxmlc. (Seules les ressources ActionScript et MXML de l’application doivent être compilées.)
Compilation d’un fichier MXML AIR :
amxmlc myApp.mxml
Compilation et définition d’un nom de sortie :
amxmlc –output anApp.swf -- myApp.mxml
Compilation d’un fichier ActionScript AIR :
amxmlc myApp.as
Spécification d’un fichier de configuration pour le compilateur :
amxmlc –load-config config.xml -- myApp.mxml
Ajout d’options supplémentaires provenant d’un autre fichier de configuration :
amxmlc –load-config+=moreConfig.xml -- myApp.mxml
Ajout de bibliothèques sur la ligne de commande (en plus des bibliothèques déjà présentes dans le fichier de configuration) :
amxmlc –library-path+=/libs/libOne.swc,/libs/libTwo.swc -- myApp.mxml
Compilation d’un 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 d’un 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 d’un fichier MXML AIR afin d’utiliser une bibliothèque partagée à l’exécution :
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 défini de manière à inclure
mxmlc.jar
) :
java flex2.tools.Compiler +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] -- myApp.mxml
L’option flexlib identifie l’emplacement du répertoire 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 défini) :
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 tâche Java est utilisée dans cet exemple pour exécuter 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>