Pregunta Android Studio: ¿Agregar jar como biblioteca?


Intento usar el nuevo Android Studio, pero parece que no puedo hacerlo funcionar correctamente.

Estoy usando el Gson biblioteca para serializar / deserializar objetos JSON. Pero la biblioteca de alguna manera no está incluida en la compilación.

Creé un nuevo proyecto con solo Actividad principal. Copiado gson-2.2.3.jar en la carpeta / libs y la agregó como una dependencia de la biblioteca (clic derecho-> Agregar como biblioteca). Esto incluye el jar en el estudio de Android, por lo que se puede hacer referencia a partir de los archivos de origen.

Cuando trato de ejecutar el proyecto no puedo compilar, así que agregué:

compile files('libs/gson-2.2.3.jar')

a las dependencias en el archivo .gradle. Después de eso compila correctamente, pero cuando ejecuto la aplicación obtengo un ClassDefNotFoundException.

¿Alguien sabe lo que estoy haciendo mal?


915
2018-05-17 11:41


origen


Respuestas:


He estado luchando con lo mismo durante muchas horas, intentando que el frasco de Gson no funcionara menos. Finalmente lo descifré: aquí están los pasos que tomé:

  1. Pon el frasco de Gson (en mi caso, gson-2.2.4.jar) en el libs carpeta
  2. Haz clic con el botón derecho y presiona "Agregar como biblioteca"
  3. Asegurarse de que compile files('libs/gson-2.2.4.jar') está en tu build.gradle archivo (o compile fileTree(dir: 'libs', include: '*.jar') si está usando muchos archivos jar)

    Editar: uso implementation files('libs/gson-2.2.4.jar') (o implementation fileTree(dir: 'libs', include: '*.jar')) en Android Studio 3.0+

  4. Haga una compilación limpia (probablemente pueda hacerlo bien en Android Studio, pero para asegurarse de que navegué en un terminal a la carpeta raíz de mi aplicación y escribí gradlew clean. Estoy en Mac OS X, el comando puede ser diferente en tu sistema

Después de que hice los cuatro anteriores, comenzó a funcionar bien. Creo que el paso 'Agregar como biblioteca' fue el que me había perdido antes, y no funcionó hasta que lo limpié tampoco.

[Editar - agregó el build.gradle paso que también es necesario como han señalado otros]


1468
2018-05-18 20:08



Aquí están las instrucciones para agregar un archivo jar local como una biblioteca a un módulo:

  1. Cree una carpeta 'libs' en el nivel superior del directorio del módulo (el mismo directorio que contiene el directorio 'src')

  2. En el build.gradle file agregue lo siguiente para que su cierre de dependencias tenga:

    dependencies {
        // ... other dependencies
        compile files('libs/<your jar's name here>')
    }
    
  3. Android Studio ya debería haber configurado un contenedor gradlew. Desde la línea de comandos, navega hasta el nivel superior de tu proyecto (el directorio que tiene gradlew archivo).

    correr ./gradlew assemble. Esto debería compilar el proyecto con la biblioteca. Es posible que deba corregir los errores en su archivo build.gradle según sea necesario.

  4. Para que Android Studio reconozca los archivos jar locales como bibliotecas de soporte mientras se codifica en el IDE, debe dar unos pasos más:

    4.1. Haga clic derecho en el módulo en el panel izquierdo y elija Open Library Settings.

    4.2. En el panel izquierdo del diálogo, elige Libraries.

    4.3. Haga clic en el + firmar sobre el segundo panel desde la izquierda -> Java

    Menu

    4.4. Seleccione su jar local y agréguelo al proyecto.

  5. Es posible que deba ejecutar lo anterior ./gradlew comando una vez más


257
2017-08-19 19:50



En el proyecto botón derecho del ratón 

-> new -> module
-> import jar/AAR package
-> import select the jar file to import
-> click ok -> done

Siga las capturas de pantalla a continuación:

1:

Step 1

2:

enter image description here

3:

enter image description here

Verás esto:

enter image description here


105
2017-08-19 05:50



IIRC, simplemente usando "Agregar como biblioteca" no es suficiente para que compile con el proyecto.

Comprobar La ayuda de Intellij acerca de agregar bibliotecas a un proyecto

La parte que debería interesarle más es esta:

(En File > Project Structure) Abra la configuración del módulo y seleccione la pestaña Dependencias.

En la pestaña Dependencias, haga clic en Agregar y seleccione Biblioteca.

En el cuadro de diálogo Elegir bibliotecas, seleccione una o más bibliotecas y haga clic en Agregar seleccionadas.

Si la biblioteca no aparece en el cuadro de diálogo, agréguela en la configuración de Bibliotecas, justo debajo de Módulos.

No deberías necesitar agregar compile files() más, y la biblioteca se debe agregar correctamente a su proyecto.


45
2018-05-17 13:13



En Android Stuido, me gusta usar Gradle para administrar Gson lib.

Agregue la dependencia siguiente en su archivo build.gradle.

repositories {mavenCentral()}

dependencies {compile 'com.google.code.gson:gson:2.2.4'}

Todo está bien.

También puedes ver esta publicación. La mejor forma de integrar una biblioteca de terceros en el estudio de Android


44
2017-09-15 23:25



Todas estas soluciones están desactualizadas. Es realmente fácil ahora en Android Studio:

Archivo> Nuevo módulo ...

La siguiente pantalla se ve rara, como si estuviera seleccionando algún widget o algo así, pero guárdelo en la primera imagen y debajo desplácese y busque "Importar paquete JAR o .AAR"

Entonces toma Project Structure desde el menú Archivo. Seleccionar app desde la ventana abierta, luego seleccione dependencies ,entonces presione green plus button ,seleccionar module dependency luego selecciona el módulo que importaste y luego presiona OK


38
2018-02-21 04:20



'compilar archivos ...' solía funcionar para mí, pero no más. después de mucho dolor, descubrí que usar esto en su lugar funciona:

compile fileTree(dir: 'libs', include: '*.jar')

No tengo idea de por qué eso marcó la diferencia, pero, al menos, la maldita cosa está funcionando ahora.


33
2017-10-11 20:49