Pregunta

Tengo un proyecto de eclipse de Android solo en la biblioteca (sin clase principal, solo clases de biblioteca) que quiero incluir en mi proyecto principal de aplicaciones de Android.

Fui a la ruta de compilación y agregué el proyecto de la biblioteca a los "proyectos requeridos en la ruta de compilación" en la pestaña Proyectos, y lo revisé en la pestaña "Orden y exporta".

Sin embargo, cuando se ejecuta la aplicación, emite una excepción de VerifyError, porque la clase del proyecto de la biblioteca no se empaquetó en el APK.

¿Alguna solución a esto?

¿Fue útil?

Solución

Desafortunadamente, los proyectos de Android no se empaquetan. Si su proyecto de biblioteca solo tiene clases, no recursos, puede convertirlo en un proyecto Java normal. Java proyecta en los que depende un proyecto de Android en el que se empaquetan.

Si el proyecto de la biblioteca usa clases específicas de Android, cuando lo convierte en un proyecto Java, también debe agregar android.jar a la ruta de compilación. Esta será "Plataformas/Android-1.6/Android.jar" dentro de su directorio SDK si tiene la plataforma 1.6 instalada, por ejemplo.

Otros consejos

Si la biblioteca es un proyecto Java regular, la forma más fácil de incluirla en un proyecto de Android es usar una carpeta de origen vinculada. En el proyecto de aplicación, vaya a Configurar la ruta de compilación | Fuente | Fuente de enlace ... Nombre la carpeta algo así como Biblioteca-SRC y apunte a la carpeta SRC del proyecto de la biblioteca.

Tuve un problema similar (con la excepción de VerifyError al cargar en un dispositivo) usando la versión de Eclipse: 3.6.2. Había creado un proyecto de biblioteca de Android con algunas clases comunes para compartir, que dependían de las clases de Android SDK. En lugar de hacer del proyecto de la biblioteca Andrloid un proyecto Java 'normal', agregué el proyecto de la biblioteca como referencia de la biblioteca en la pestaña Android de propiedades de proyectos para los proyectos que usaban la biblioteca. Esto resolvió la excepción de clase faltante.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top