web-dev-qa-db-fra.com

Développer avec Eclipse et Phonegap / Cordova 3

Il semble que la documentation soit un peu mince et je vous assure que j'ai essayé de le trouver en ligne, mais je ne comprends vraiment pas comment le processus de développement est censé fonctionner avec phonegap et Eclipse.

J'ai suivi l'un des nombreux tutoriels et créé l'exemple Hello World à l'aide de la ligne de commande cordova. J'ai ensuite ajouté la plate-forme Android et exécuté la génération. Après cela, j'ai ajouté le bit andoridy en tant que projet dans Eclipse par rapport à la source existante comme indiqué à l'aide du sous-répertoire plateformes/répertoire Android. Cela a permis moi de configurer l'émulateur et tout a très bien fonctionné.

Le problème que j'ai maintenant concerne le processus de développement.

Je comprends que je dois modifier les fichiers de niveau supérieur, et non ceux présentés dans le répertoire des actifs du projet dans Eclipse car ils sont créés à l'aide de la commande "build". Ces fichiers de niveau supérieur n'existent pas dans le projet que j'ai créé dans Eclipse car ils sont au-dessus de la racine du projet.

Donc, ma question est ... puis-je utiliser Eclipse pour développer ce projet de manière sensée?

Ce que je fais en ce moment, c'est éditer les fichiers Android www, puis pour les pomper vers le cloud, je les copie dans l'arborescence. Cela semble fou.

Existe-t-il un moyen d'avoir les vrais fichiers disponibles dans Eclipse pour que je puisse les développer, puis les construire et les déployer facilement sur un émulateur?

PS est-ce mon imagination ou la construction de cordova prend-elle des siècles!

Solution

J'ai ajouté un dossier dans le projet Android qui est un lien vers l'emplacement du www à la racine. C'est sous les options avancées de création d'un dossier.

28
stevemarvell

Pour ce faire, vous devez utiliser deux projets Eclipse différents. Un contenant le dossier myProject/www pour le développement (appelons-le `` projet de niveau supérieur '') et un pour votre projet de plateforme spécifique (par exemple Android, comme vous l'avez déjà fait).

Dans votre projet de niveau supérieur, vous écrivez votre code et, si vous en avez envie, vous pouvez même déboguer jusqu'à un certain degré (fonctions qui ne nécessitent pas cordova). Enregistrez ensuite et tapez cordova prepare Dans votre CLI. Vous pouvez ensuite basculer vers votre projet Android, appuyer sur Actualiser (F5) et exécuter l'émulateur/le périphérique et rechercher des bogues, et apporter des modifications au manifeste Android. Si vous souhaitez modifier le code, basculez à nouveau vers votre projet de niveau supérieur et recommencez.

Cela semble un peu maladroit, non. Néanmoins, pensez à cordova non seulement pour le développement sur Android, mais aussi sur ios, windows phone, blackberry, ... Pour accéder à toutes ces plateformes, vous devez quand même passer à plusieurs ide. Il est alors beaucoup plus facile d'avoir le code de niveau supérieur dans un projet indépendant.

Quelques sidenodes:

  1. Après avoir effectué ce processus plusieurs fois, vous ne perdrez pas plus de 2 ou 3 secondes pour cordova prepare Et changer de projet. Ce qui est ok, je pense.

  2. Je n'utilise pas seulement différents projets Eclipse, j'utilise même différentes installations Eclipse. Cela semblait mieux organisé pour moi, car cela me protège de la confusion des fichiers de haut niveau et de bas niveau.

  3. Même si vous développez uniquement pour Android, vous devez utiliser deux projets différents, car 'cordova prepare' (ou toute commande cli contenant prepare, as build, emulate and run) écraserait/supprimerait vos fichiers.

  4. Sur mon installation, la création avec CLI prend le même temps que dans Eclipse. Ce qui est logique, car j'utilise le même sdk pour les deux. Cependant, dans le processus écrit ci-dessus, il n'est pas nécessaire d'utiliser la commande cli-build.

  5. Si vous utilisez uniquement la plate-forme Android et ne vous confondez pas facilement avec des fichiers portant le même nom dans un projet, vous pouvez lier le dossier myApp/www dans votre projet Android. Dans ce cas, vous n'aurez qu'un seul projet (Le mérite de cette réponse va à stevemarvell lui-même, je ne fais que l'ajouter ici pour être complet)

15
miwe

en plus de la solution ci-dessus, j'ai créé une configuration "d'outils externes" qui exécute l'utilitaire phonegap avec des options "local build Android" et une variable d'environnement PATH définie sur "/ opt/local/bin:/usr/bin:/bin" pour mon Mac. à partir de là, j'ai installé les outils Eclipse CDT et utilisé sa fonction "Launch Group" pour exécuter l'outil externe à partir du projet de niveau supérieur avant d'appeler un débogage sur le projet spécifique à la plate-forme.

semble fonctionner assez bien. malheureusement, le projet de niveau supérieur ne se souvient pas de l'exécution du groupe de lancement, je dois donc le sélectionner dans le menu déroulant Déboguer à chaque fois. J'ai converti le projet de niveau supérieur en JavaScript en tant que test, mais cela ne semble pas aider et les "Paramètres d'exécution/de débogage" dans les propriétés du projet sont tous grisés.

0
bishopthom

Voir ma réponse ici: Plusieurs fichiers Html dans PhoneGap Android

Pourquoi je suis passé à Netbeans avec Phonegap 3.0 CLI. Convient mieux à mon flux de travail.

0
user2898616