Android Studio: ¿Añadir un jar como biblioteca?
Estoy intentando utilizar el nuevo Android Studio pero no consigo que funcione correctamente.
Estoy usando la librería Gson para serializar/deserializar objetos JSON. Pero la librería no está incluida en la compilación.
He creado un nuevo proyecto con sólo un MainActivity. Copié gson-2.2.3.jar en la carpeta /libs y lo añadí como dependencia de la biblioteca (click derecho->Añadir como biblioteca). Esto incluye el jar en android studio para que pueda ser referenciado desde los archivos fuente.
Cuando intento ejecutar el proyecto no puede compilar así que añadí:
compile files('libs/gson-2.2.3.jar')
a las dependencias en el archivo .gradle. Después de eso se compila correctamente, pero cuando se ejecuta la aplicación me sale una ClassDefNotFoundException
.
¿Alguien sabe qué estoy haciendo mal?
He estado luchando con lo mismo durante muchas horas, tratando de hacer funcionar el tarro de Gson nada menos. Por fin lo he conseguido - aquí están los pasos que he dado:
Poner el jar de Gson (en mi caso,
gson-2.2.4.jar
) en la carpeta `libsHaz clic con el botón derecho del ratón y pulsa "Añadir como biblioteca".
Asegúrate de que
compile files('libs/gson-2.2.4.jar')
está en tu archivobuild.gradle
(ocompile fileTree(dir: 'libs', include: '*.jar')
si estás usando muchos archivos jar)Editar : Usar
implementation files('libs/gson-2.2.4.jar')
(oimplementation fileTree(dir: 'libs', include: '*.jar')
) en Android Studio 3.0+Haz una compilación limpia (probablemente puedas hacer esto bien en Android Studio, pero para asegurarme he navegado en un terminal hasta la carpeta raíz de mi aplicación y he escrito
gradlew clean
. Estoy en Mac OS X, el comando puede ser diferente en su sistemaDespués de hacer las cuatro cosas anteriores, empezó a funcionar bien. Creo que el paso de "Añadir como biblioteca" fue el que se me pasó por alto, y tampoco funcionó hasta que lo limpié.
[Editar - añadí el paso
build.gradle
que también es necesario como otros han señalado]Según tengo entendido, no basta con usar "Añadir como biblioteca" para que compile con el proyecto.
Consulta la ayuda de Intellij sobre cómo añadir bibliotecas a un proyecto
La parte que más te debería interesar es esta:
Si la biblioteca no aparece en el diálogo, añádela en la configuración de Bibliotecas, justo debajo de Módulos.
Ya no debería necesitar añadir
compilar archivos()
, y la biblioteca debería añadirse correctamente a su proyecto.En Mac OS X:
Añada el jar como biblioteca (arrastre el jar a las librerías, haga clic con el botón derecho en añadir como lib)
Añade la sentencia de compilación a
build.grade
.Instala
gradle v1.6
(usa homebrew)Esto me solucionó.