2010-06-14 17 views
6

Acabo de empezar a jugar con el desarrollo de Android y java + eclipse es bastante nuevo para mí. Logré crear un proyecto simple y ejecutarlo en mi dispositivo. Ahora quiero crear un juego simple (más de ellos en realidad) y me encantaría usar una base de código compartido para todos ellos (bucle de juego, inicialización, etc.).proyectos android dependientes múltiples en eclipse

El problema es que no tengo idea de cómo hacer esto correctamente. Creé el proyecto de Android llamado motor con todas las cosas básicas que necesito y lo hice funcionar en el dispositivo. Ahora traté de crear otro proyecto en el mismo espacio de trabajo llamado mygame. La clase principal (actividad) de mygame es MyGameApp, que hereda de EngineApp (actividad principal de mi proyecto de motor) que hereda de Activity.

Agregué el proyecto del motor en los proyectos necesarios en la pestaña de ruta de compilación de mi juego en las propiedades. El problema es que cuando trato de ejecutar este proyecto, falla en ClassNotFoundException al intentar encontrar mi clase MyGameApp.

Cualquier ayuda (o puntero a algunos artículos que explican cómo se hace esto) es muy apreciada. pocas horas de googlear no ayuda mucho:/

Respuesta

7

Se necesitan establecer un Android Library Project

Un proyecto de biblioteca Android es un proyecto de desarrollo en la que pueda compartirse código fuente de Android y recursos. Otros proyectos de aplicaciones de Android pueden hacer referencia al proyecto de la biblioteca y, en tiempo de compilación, incluir sus fuentes compiladas en sus archivos .apk. Múltiples proyectos de aplicaciones pueden hacer referencia al mismo proyecto de biblioteca y cualquier proyecto de aplicación individual puede hacer referencia a múltiples proyectos de biblioteca.

Los documentos van a decir cómo se convierte un proyecto existente a un proyecto de biblioteca:

También es posible convertir un proyecto de aplicación existente en una biblioteca. Para hacerlo, simplemente abra las Propiedades para el proyecto y seleccione la casilla "es Biblioteca". Otros proyectos de aplicación ahora pueden hacer referencia al proyecto existente como un proyecto de biblioteca.

+0

gracias, parece que hace lo que necesito. Sin embargo, todavía tengo el mismo problema, no puede encontrar MyClassApp. No estoy seguro de si hay algún error en otra parte, ya que se queja de la clase heredada, no de la base EngineApp, que sería lógico si hubiera algún problema con las dependencias del proyecto y la biblioteca – Lope

+0

No estoy seguro ... intente limpiar sus proyectos y edite un archivo en cada uno (por ejemplo, agregue espacios en blanco) para forzar una reconstrucción. –

+0

@lope ¿ha agregado el proyecto de la biblioteca usando la pantalla de propiedades de Android que se muestra en la Figura 2 y lo quitó de la pantalla Referencias del proyecto? –

Cuestiones relacionadas