Desarrollando con Eclipse y Phonegap / Cordova 3

Parece que la documentación es un poco delgada y te aseguro que he intentado encontrar esto en línea, pero realmente no entiendo cómo se supone que el proceso de desarrollo funciona con phonegap y eclipse.

Seguí uno de los muchos tutoriales y creé el ejemplo Hello World utilizando la línea de comandos cordova. A continuación, agregó la plataforma android y corrió la construcción. Después de eso, he añadido el bit andoridy como un proyecto en eclipse con respecto a la fuente existente según se indica usando el directorio subdirectorio / android. Esto me permitió configurar el emulador y todo funcionó muy bien.

El problema que tengo ahora es con el proceso de desarrollo.

Entiendo que tengo que editar los archivos de nivel superior, no los presentados en el directorio de activos del proyecto en eclipse ya que estos se crean con el comando "build". Estos archivos de nivel superior no existen en el proyecto que he creado en eclipse ya que están por encima de la raíz del proyecto.

Entonces, mi pregunta es … ¿puedo usar eclipse para desarrollar este proyecto de una manera sensata?

Lo que estoy haciendo en este momento es la edición de los archivos android www y, a continuación, para bombear hasta la creación de nubes, estoy copiando de nuevo el árbol. Esto parece una locura.

¿Hay una manera de tener los archivos reales disponibles en eclipse para que pueda desarrollarlos y luego construir y desplegar fácilmente en un emulador?

PS es mi imaginación o no cordova construir tomar las edades!

Solución

He añadido una carpeta dentro del proyecto de Android que es un enlace a la ubicación de la www en la raíz. Esto se encuentra bajo opciones avanzadas de crear una carpeta.

Para ello, debe utilizar dos proyectos de eclipse diferentes. Uno que contiene la carpeta myProject / www para el desarrollo (llamémoslo "proyecto de nivel superior") y uno para su proyecto de plataforma específico (por ejemplo, android, como ya lo hizo).

En su proyecto de nivel superior, usted escribe su código y, si lo desea, puede incluso depurar hasta cierto grado (funciones que no requieren cordova). A continuación, guarde y escriba cordova prepare en su CLI. A continuación, puede cambiar a su proyecto de Android, pulse refresh (F5) y ejecutar el emulador / dispositivo y buscar los errores, y hacer Android-Manifiesto cambios. Si desea cambiar el código, cambie de nuevo a su proyecto de nivel superior y vuelva a hacer lo mismo.

Esto parece un poco incómodo, cierto. Sin embargo, piensa en Córdoba no solo para desarrollarse en android, sino también en ios, windows phone, blackberry, … Para acceder a todas estas plataformas, tienes que cambiar a múltiples ide de todos modos. Por lo tanto, es mucho más fácil tener el código de nivel superior en un proyecto independiente.

Algunos sidenodes:

  1. Después de hacer este proceso unas cuantas veces, perderá no más de 2 o 3 segundos para cordova prepare y cambiar proyectos. Que está bien, creo.

  2. Yo mismo no sólo uso diferentes proyectos de eclipse, incluso uso diferentes instalaciones de eclipse. Esto parecía estar mejor arreglado para mí, ya que me protege de confundir archivos de nivel superior y bajo.

  3. Incluso si desarrollas solo para android, deberías usar dos proyectos diferentes, ya que 'cordova prepare' (o cualquier comando cli que contenga prepare, como build, emulate y run) sobrescribir / borrar tus archivos.

  4. En mi instalación, construir con CLI toma la misma cantidad de tiempo que en eclipse. Lo que tiene sentido, ya que estoy usando el mismo sdk para ambos. Sin embargo, en el proceso escrito anteriormente, no hay necesidad de usar el comando cli-build.

  5. Si utiliza sólo la plataforma android y no se confunde fácilmente con archivos del mismo nombre en un proyecto, puede vincular la carpeta myApp / www en su proyecto de Android. En este caso, usted tendrá solamente un proyecto (el crédito para esta respuesta va a stevemarvell sí mismo, im apenas que agrega esto aquí para la integridad)

Además de la solución anterior, creé una configuración de "herramientas externas" que ejecuta la utilidad de la brecha telefónica con las opciones de "generación local de Android" y una variable de entorno PATH definida como "/ opt / local / bin: / usr / bin: / bin" Para mi Mac. Desde allí, instalé las herramientas Eclipse CDT y usé su función 'Lanzar grupo' para ejecutar la herramienta externa desde el proyecto de nivel superior antes de llamar a una depuración en el proyecto específico de la plataforma.

Parece funcionar bastante bien. Desafortunadamente, el proyecto de nivel superior no "recuerda" la ejecución del grupo de lanzamiento, así que tengo que seleccionarlo desde el menú desplegable Debug cada vez. I convertido el proyecto de nivel superior a un JavaScript como una prueba, pero no parecía ayudar y la 'Ejecutar / Configuración de depuración' en Propiedades del proyecto están en gris.

Ver mi respuesta aquí: Múltiples archivos HTML en el proyecto PhoneGap Android

Por qué me trasladé a Netbeans con Phonegap 3.0 CLI. Apropiado mi flujo de trabajo mejor.

  • Eclipse Juno no creará actividad de Android
  • Advertencia de cast no verificado - cómo evitar esto?
  • Android.App.Activity - el paquete no existe
  • La importación de Facebook SDK a Eclipse no puede resolver las importaciones de java / Android
  • Importar proyecto Android existente en Eclipse
  • Referencia de valores de una matriz en java
  • No se puede cambiar el nombre del paquete en eclipse
  • ¿Cuál es la diferencia entre estos dos botones? Programación de Android
  • Mover el proyecto de Android Eclipse al espacio de trabajo
  • ¿Cuál es el significado de este icono de Eclipse?
  • Emulador de Eclipse no responde
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.