Pregunta

Estoy tratando de desarrollar una biblioteca externa (no estoy seguro si ese es el término correcto) para proporcionar funcionalidad envasados ??en proyectos de Android. Trabajando en Eclipse, he añadido el archivo android.jar apropiada a la trayectoria de la estructura, y todo es feliz a durante la edición y en la compilación.

Sin embargo, cuando uso de Android Handler y Mensaje clases (android.os.Handler, android.os.Message) para la comunicación entre hilos, consigo excepciones a menos que esté en funcionamiento dentro de una aplicación para Android, en el emulador o una dispositivo. Ya no puedo probar mi biblioteca de una manera "independiente", sin tener que pasar por un blanco corriendo Android.

¿Hay alguna manera para que incluya esos dos clases Android y aún así ser capaz de probar mi biblioteca independiente? ¿Es necesario tener la fuente de Android disponible? ¿O sería requerir algún tipo de compilación condicional-agitando la mano?

¿Fue útil?

Solución

¿Hay alguna manera de que yo incluyo estas dos clases de Android y seguir siendo capaz de probar mi biblioteca independiente?

No fácilmente, por cualquier medio que se me ocurre.

¿Es necesario que tenga la fuente de Android disponible?

No sé dónde más se podrían obtener a partir de la puesta en práctica. Pero, más importante aún, las cosas no están diseñados para trabajar en el exterior de aislamiento del sistema operativo, más de lo que usted podría tomar una clase de cacao o dos y tirar de ellos en su biblioteca de Objective-C y esperar que se ejecutan en una máquina Windows.

Desactivar el brazalete, sin saber nada acerca de lo que estamos construyendo, me gustaría hacer lo que sea la dependencia se está introduciendo en Handler y Message ser más enchufable. Prueba fuera de Android usando una aplicación Java pura, tal vez incluso sólo algunos burla. dentro de prueba de Android utilizando la aplicación real.

Otros consejos

puede probar con el lib Robolectric, que implementa la API de Android por lo que sería capaz de crear pruebas JUnit por algún código aislados tiene:

http://robolectric.org/

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