jueves, 9 de mayo de 2013

Problema al asociar librerias a un proyecto android en eclipse


Me he encontrado con un error de estos raros que tardas días en resolverlo y es el siguiente. 

He estado realizando un breve ejemplo con android y en este usaba a otro proyecto android como librería dependiente. El asunto es que por más que seguía los diferentes tutoriales y parecían estar bien, mi ejemplo no funcionaba. 

A mitad del proceso de resolución me di cuenta que era debido a las propiedades de mi proyecto, concretamente al indicar que había otro proyecto android que era usado como librería. Aunque en un primer momento eclipse lo configuraba correctamente, si se accedía una segunda vez a las propiedades, la librería ya no se encontraba correctamente configurada. Indicaba como si no fuese posible encontrar la librería dependiente.


Un poco desesperado me baje un ejemplo para ver si mi código tenía algún fallo. Y aunque el ejemplo descargado funcionaba correctamente, el código en ambos proyectos era el mismo. Al entrar en las propiedades del proyecto de ejemplo compruebo que la librería se encuentra correctamente configurada. Con esto certifico que el error proviene de donde sospechaba pero no entiendo porque en el ejemplo funciona y no en mi proyecto. 


Tras seguir indagando lo único que veo es que en el código de ejemplo la librería esta indicada mediante ruta relativa y en mi proyecto esta indicado mediante ruta absoluta. Y ahí esta el fallo, las librerías de android deben ser indicadas mediante rutas relativas. Y una vez que se la razón, encuentro en la documentación de android el párrafo indicando dicha eventualidad. Por tanto hay que estar atento a esto a la hora de indicar dependencias entre proyectos android.
  • Library project storage location
There are no specific requirements on where you should store a library project, relative to a dependent application project, as long as the application project can reference the library project by a relative link. What is important is that the main project can reference the library project through a relative link.

No hay comentarios:

Publicar un comentario