Installation de FlexBuilder sur Ubuntu

Portrait de titouille

Après avoir installé Ubuntu en dual-boot sur mon macbook pro, je voulais tenter d'installer Flex Builder pour Linux (encore en version alpha4).

Rien de bien compliqué. J'ai téléchargé la dernière version d'Eclipse (ganymede 3.4.1) que j'ai décompressé dans /opt/eclipse. J'ai également affecté les droits sur l'application pour mon utilisateur : 

sudo chown -R titouille:titouille /opt/eclipse

J'ai ensuite téléchargé la distribution Flex Builder sur le labs d'adobe, et je l'ai installé via la commande suivante :

cd ~/Bureau
sudo sh ./flexbuilder_linux_install_a4_081408.bin

Lors de l'installation, j'ai eu un petit souci me disant qu'Eclipse n'était pas trouvé, et j'ai validé l'installation avec "proceed with caution".

Encore une fois, j'ai fait un "chown" sur le répertoire Flex builder et ses descendants :

sudo chown -R titouille:titouille /opt/flexBuilder

Puis je déplace les sdks dans un répertoire partagé :

sudo mkdir /mnt/data/dev/libs/flexSdks
sudo cp /opt/flexBuilder/sdks/* /mnt/data/dev/libs/flexSdks/
sudo chown -R titouille:titouille /mnt/data/dev/libs/flexSkds

J'ai enfin créé un lanceur dans ma barre latérale pour exécuter Flex Builder via un piti bouton. Le lanceur a la commande suivante :

/opt/flexBuilder/Adobe_Flex_builder.sh

Je démarre Flex Builder, yeah, tout se passe bien, ou presque... Je dois encore rediriger les sdks vers leurs cibles, et quelques petites erreurs de-ci de-là, mais dans l'ensemble, c'est ok... Jusqu'à ce que j'ouvre un fichier mxml, et là, un beau "flex org.eclipse.jface.util.Assert$AssertionFailedException: Assertion failed" s'affiche en lieu et place du fichier mxml.

Je lance donc une recherche sur cette erreur, et suis tombé sur un thread du site tekool.net expliquant comment contourner le problème.

Marche à suivre (attention, faites une sauvegarde des fichiers / dossiers à remplacer, juste au cas ou la manipulation ne fonctionnerai pas du premier coup... Les numéros de version peuvent différer, à vous de faire les correspondances) : 

  1. Installer Eclipse 3.4.1
  2. Installer Flex Builder et valider avec "proceed with caution"
  3. télécharger le patch de Mfranczak
  4. Décompresser le fichier (sur le bureau par exemple)
  5. Exécuter nautilus (l'explorateur de fichiers ubuntu) en mode administrateur ("gksudo nautilus" dans un terminal)
  6. Remplacer le contenu du répertoire com.adobe.flexbuilder.debug.e33_3.0.204732 par le contenu décompressé de com.adobe.flexbuilder.debug.e33_3.0.194161.jar
  7. Remplacer le fichier jar com.adobe.flexbuilder.editors.derived_3.0.204732.jar par celui du patch en veillant à le renommer avec le même numéro de version
  8. Redémarrer Eclipse via la commande :
    cd /opt/eclipse
    sudo ./eclipse -clean

Et tout devrai rentrer dans l'ordre. Je peux ensuite redémarrer Flex Builder via mon joli bouton et cette fois, les fichiers mxml sont affichés sans problèmes.

Côté Mac, j'aurai simplement à rediriger les sdks vers la bonne cible (/mnt/data/dev/libs/flexSdks/3.x.x) pour que la liaison soit ok. Je pourrais ensuite ouvrir et éditer mes projets aussi bien sur mac que sur linux. Le partage est un succès Smile

ATTENTION : j'ai du effectuer quelques modifications dans ce billet, concernant l'affectation des droits utilisateurs (via la commande "chown") car démarrer eclipse et flex builder en mode sudo me posait passablement de problèmes : réaffectation des droits root sur certains répertoires entre autre dans .metadata, et en découlait l'impossibilité de modifier les préférences dans firefox (fichier prefs.js du profil bloqué par root), le non-affichage des composants graphiques dans les panneaux et la complétion automatique (genre tapper <mx: n'affichait aucun composant graphique dans la liste), etc...

L'affectation des droits sur les répertoires des applications et des fichiers partagés ont permis de régler ces problèmes.





Ca marche!!!

salut,

merci pour le tuto. J'avais du mal a editer eles fichiers mxml avec flex builder et grace a toi tout baigne.

Merci encore.

espèce de gros geek va !!!

espèce de gros geek va !!! Smile