Apache Adobe Flex TutorialTutoriaux Adobe Flex & AIR en Français

16jan/115

AIR pour Mobile – Compiler une MobileApplication en .air (Desktop)

Avec la sortie de Flash Builder Burrito et Flex 4.5, il est devenu plus aisé de développer des applications pour environnements mobiles. Flex 4.5 apporte tout un ensemble de composants permettant de créer rapidement des applications fonctionnant avec le paradigme mobile (empilement de vues) grâce notamment au couple ViewNavigator / View. Dans les prochaines semaines, je vais faire quelques tutoriaux sur flex-tutorial à ce propos.

Pour développer un projet pour environnement mobiles (Android / BlackBerry Tablet OS), il est conseillé de créer non pas un Flex Project mais un Flex Mobile Project. Celui-ci permet d'accéder à des configurations supplémentaires, notamment au niveau du déploiement. On peut par exemple choisir sur quelle plate-forme déployer son projet.

Dans le dernier tutorial, on a vu comment compiler un projet Flex Mobile en une application native iOS pour iPhone et iPad:

AIR pour iOS – Compiler une MobileApplication Flex 4.5 pour iOS avec PFI

Les Flex Mobile Project sont donc parfait pour un déploiement mobile mais lorsque l'on veut simplement montrer le résultat à quelqu'un d'autre, on peut seulement lui envoyer le fichier packagé (.BAR ou .APK), si cette personne a un appareil compatible.

Pour pouvoir montrer l'application plus facilement, il est plus simple de générer un .AIR. Il suffit ensuite à votre collaborateur d'installer le .AIR sur son système Windows, Linux ou Mac et c'est terminé. Seulement, lorsque vous faîtes un Export Release d'un projet Flex Mobile, le format .AIR Desktop n'est pas proposé.

Pour générer un .air, il faut donc exécuter la compilation soi-même en ligne de commande. On va utiliser le compilateur "adt" pour effectuer cette compilation.

Création du certificat .p12

Pour pouvoir utiliser le compilateur "adt" du SDK Flex, il va vous falloir un certificat .p12. Le plus simple pour en créer un est de créer un nouveau projet de type Flex Projet puis de sélectionner "Desktop" comme Application Type. Ce projet est simplement utilisé pour générer un certificat, cliquez donc sur Finish. Une fois le projet crée, lancez un Export Release, Next et dans l'onglet Digital Signature, cliquez sur Create… Remplissez les informations demandées et et sauvez le certificat sur votre disque, en vous souvenant du mot passe ;) .

Copiez ensuite le fichier généré dans votre projet que vous souhaitez vraiment compiler en .air. Pour la suite des scripts, celui-ci est placé directement dans "/src". Il est aussi possible de générer le fichier .p12 avec les outils du SDK. Pour cela, referez vous à la documentation.

Compilation du .air avec ADT

Pour simplifier l'opération, on va utiliser une External Tool Configuration dans Eclipse. Run > External  Tools > External Tools Configuration… Puis créez une nouvelle configuration avec les paramètres suivants;

Location

C:\Program Files (x86)\Adobe\Adobe Flash Builder Burrito\sdks\4.5.0\bin\adt.bat

Working Directory

${project_loc}/bin-debug

Arguments

-package -storetype pkcs12 -keystore VOTRE_CERTIFICAT.p12 -storepass VOTRE_PASSWORD_CERTIFICAT ${project_name}.air ${project_name}-app.xml ${project_name}.swf

Et voilà, un .air sera crée dans votre projet. Vous pourrez ensuite le diffuser sans problème :) .

Articles similaires

Commentaires (5) Trackbacks (0)
  1. Bonjour! J'ai reussi à compiler le .air mais l'application ne marche pas. Il me donne des erreurs d'exécution. Quelqu'un a eu le même problème?

    ReferenceError: Error #1065: Variable flash.events::StageOrientationEvent is not defined.
    at spark.preloaders::SplashScreen/initialize()[E:\dev\hero_private_beta\frameworks\projects\mobilecomponents\src\spark\preloaders\SplashScreen.as:298]

    Merci

  2. Bonjour,
    on dirait qu'il ne trouve pas une classe de l'API. Quelle version de AIR SDK utilisez vous?

    Fabien

  3. Salut!

    J'utilise le SDK 2.5.

    - Oscar

  4. Etrange, cette classe est là depuis AIR 2. Essayer de pointer vers un autre AIR SDK

    Fabien

  5. Peut-être le problème c'est que j'utilise "MobileApplication" au lieu de "Application" ou "WindowedApplication". mais je doit faire ça pour créer un application pour Android.


Leave a comment

(required)

Aucun trackbacks pour l'instant