Saltar al contenido

Solucionar el error java.lang.NoClassDefFoundError: com.dropbox.client2.session.Session$AccessType de la Dropbox Core API

A la hora de integrar la Core API que proporciona Dropbox con un proyecto Android en el IDE Eclipse suele surgir un problema en tiempo de ejecución: La app se cuelga y se muestra el error  java.lang.NoClassDefFoundError:
com.dropbox.client2.session.Session$AccessType
. Desafortunadamente no se encuentra mucha información al respecto y la mayoría de las soluciones no funcionan, así que comparto con ustedes la que me funcionó a mí.
Lo habitual es seguir los pasos del tutorial de Dropbox Developers, pero aunque se sigan al pie de la letra no hay garantía de que el error se solucione. Es mejor hacer lo siguiente:
  1. Borrar todas las librerías importadas de la Core API de Dropbox de nuestro proyecto en Project > Properties > Java Build Path y en la pestaña Libraries seleccionándolas previamente y pulsando en el botón Remove y luego en Ok.
  2. Por prevención se descarga de nuevo el comprimido con la Core API de Dropbox y se descomprime.
  3. En el Package Explorer de Eclipse buscar la carpeta libs de nuestro proyecto. Si no existe se crea (asegurarse que se llama libs en plurar y no lib). Sobre dicha carpeta, clic derecho > Import > File System y explorar el directorio lib del descomprimido de la Core API. Seleccionar todas las librerías e importarlas.
  4. De vuelta en el Package Explorer, en la carpeta libs seleccionar todas las librerías importadas y clic derecho > Build Path > Add to Build Path.
  5. Finalmente, en la barra de menú Project > Clean para limpiar el proyecto y después ejecutar la App. El error debería haberse solucionado.

Publicado enDesarrollo de softwareDesarrollo para dispositivos móviles