Développement avec Eclipse et Phonegap/Cordova 3
Il semble que la documentation est un peu mince et je vous assure que j'ai essayé de trouver cette ligne, mais je n'ai 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 l'cordova ligne de commande. J'ai ensuite ajouté la plate-forme android et a couru la construction. Après cela, j'ai ajouté le andoridy peu comme un projet dans eclipse à l'égard de sources existantes, comme indiqué à l'aide de la sous-répertoire de plates-formes/android répertoire. Cela m'a permis de configurer l'émulateur et tout a très bien fonctionné.
Le problème que j'ai maintenant avec le processus de développement.
Je comprends que je dois modifier le haut niveau des fichiers, pas de ceux présentés dans les actifs répertoire du projet dans eclipse comme ceux-ci sont créés à l'aide de la "construction" de la commande. Ces haut niveau les fichiers n'existent pas dans le projet que j'ai créé dans eclipse comme ils sont au-dessus de la racine du projet.
Donc, ma question est ... puis-je utiliser eclipse pour développer ce projet d'une manière sensible?
Ce que je fais en ce moment est l'édition de la android www fichiers et puis elle le pompe jusqu'à l'cloud construire, je suis la copie de remonter sur l'arbre. Cela semble fou.
Est-il un moyen d'avoir les vrais fichiers disponibles dans eclipse afin que je puisse les développer et créer et déployer un émulateur facilement?
PS est-ce mon imagination ou ne cordova construire prendre âges!
Solution
J'ai ajouté un dossier dans le projet Android qui est un lien vers l'emplacement de la www à la racine. C'est sous options avancées de création d'un dossier.
- Automatiser le build: clic droit sur le projet -> propriétés -> les Constructeurs et en créer un nouveau (c'est à dire Phonegap Build Android) qui s'exécute phonegap construction locale android à partir du répertoire du projet. Ainsi, il est possible de simplement appuyer sur le debug/run boutons dans eclipse et démarrer le débogage. En outre, il peut être plus sûr pour renommer le lien vers l'original de votre www.
- Avez-vous eu des difficultés à configurer les chemins d'accès pour qui?
- Non, je suis allé la voie de la facilité: le constructeur appelle la "buildphonegap.cmd", que j'ai le cd dans le répertoire de projet et exécuter phonegap construction locale android.
- Le PhoneGap états de documentation de simplement importer les plateformes\android dossier existant du projet Android cordova.apache.org/docs/en/3.1.0/... - j'ai essayé, compilé sans erreur, et a été en mesure de déployer à l'appareil tout de suite.
- J'aime votre solution proposée. Est-il un moyen de faire de l'Éclipse exécuter la
cordova prepare
avant de faire laRun as Android App
? - Pour résoudre le problème j'ai commenté avant, j'ai préparé un
cordova-prepare.bat
(Windows) pour exécutercordova prepare
commande shell. J'ai ensuite ajouté ceci àProyect Properties->Builders
comme une première étape. Alors maintenant, chaque fois que je sélectionneRun As->Android Application
lacordova-prepare.bat
script est exécuté.
Vous devez vous connecter pour publier un commentaire.
Pour ce faire, vous devez utiliser deux différents projets eclipse.
L'un contenant les myProject/www dossier pour le développement (appelons-le 'projet de niveau supérieur") et un pour votre plate-forme-projet (par exemple, android, comme vous l'avez déjà fait).
Dans votre haut niveau projet, vous écrivez votre code et, si vous en avez envie, vous pouvez même debug jusqu'à un certain degré (fonctions qui ne nécessitent pas de cordoue). Puis enregistrez-les et type
cordova prepare
dans votre CLI. Vous pouvez ensuite passer à votre projet android, cliquer sur " actualiser (F5) et de lancer l'émulateur /de l'appareil et de regarder pour les bugs, et faire Android-Manifeste des changements. Si vous souhaitez changer le code, revenez à votre projet de niveau supérieur et d'en faire de même une fois de plus.Cela semble un peu unhandy, à droite. Néanmoins, pensez à cordova pas être seulement pour le développement sur android mais aussi sur ios, windows phone, blackberry, ... pour accéder À toutes ces plates-formes, vous devez passer à plusieurs ide de toute façon. Cela rend les choses beaucoup plus facile, alors, d'avoir le premier niveau de code dans un projet indépendant.
Certains sidenodes:
Après avoir fait cela quelques fois, vous perdrez pas plus de 2 ou 3 secondes pour
cordova prepare
et des projets de changement. Qui est ok, je pense.J'ai moi-même de ne pas l'utiliser différents projets eclipse, j'ai même utiliser différents eclipse installations. Cela semble mieux disposé pour moi, il me protège de confusion des haut et du bas niveau des fichiers.
Même si vous développez seulement pour android, vous devez utiliser deux projets différents, comme "cordova préparer" (ou toute commande cli contenant préparer, construire, imiter et à exécuter) serait de remplacer/supprimer vos fichiers.
Sur mon installation, la construction avec des CLI prend la même quantité de temps qu'il n'en éclipse. Qui fait sens, comme je suis en utilisant le même sdk pour les deux. Cependant, dans le processus d'écrit ci-dessus, il n'est pas nécessaire d'utiliser l'interface de ligne de commande commande de construction.
Si vous utilisez la plate-forme android et ne pas se confond facilement avec le même nom de fichiers dans un projet, vous pouvez lier le myApp/www dossier dans votre projet Android. Dans ce cas, vous n'avez qu'un seul projet (Crédit pour cette réponse va à stevemarvell lui-même, im juste en ajoutant cette ici par souci d'exhaustivité)
en plus de la solution ci-dessus, j'ai créé un 'externe des outils de configuration qui exécute le phonegap utilitaire avec local de build android" options et une variable d'environnement PATH défini à '/opt/local/bin:/usr/bin:/bin' pour mon Mac. à partir de là, j'ai installé Eclipse CDT outils et s'est servie de son Groupe de Lancement " pour exécuter l'outil externe de haut-niveau du projet avant d'appeler un debug sur la plate-forme spécifique du projet.
semble fonctionner assez bien. malheureusement, ils haut niveau le projet n'est pas "mémoriser" le Lancement du Groupe de l'exécution, j'ai donc sélectionner à partir du Debug déroulante à chaque fois. j'ai converti le projet de niveau supérieur à un JavaScript comme un test, mais il ne semble pas pour l'aider et le "Run/Debug Settings" dans les Propriétés du Projet sont toutes grisées.
Voir ma réponse ici: Plusieurs fichiers Html dans PhoneGap projet Android
Pourquoi j'ai déménagé Netbeans avec Phonegap 3.0 CLI. Adapté mon flux de travail mieux.