Adición de biblioteca externa en Android studio


Quiero añadir una biblioteca externa https://github.com/foursquare/foursquare-android-oauth para mi aplicación Android (uso Android Studio, las instrucciones proporcionadas por lib author para Eclipse no funcionaron para Android Studio).

He intentado hacerlo con maven, así que en File->Project Structure->Dependencies he añadido com.foursquare:foursquare-android-nativeoauth-lib:1.0.0 pero Gradle Sync falla:

Error:Failed to find: com.foursquare:foursquare-android-nativeoauth-lib:1.0.0

Cuando intento compilar mi aplicación (sin corregir el error anterior porque no se cómo) obtengo:

Error:A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugCompile'.
> Could not resolve com.foursquare:foursquare-android-nativeoauth-lib:1.0.0.
 Required by:
    ForSquaresOnly:app:unspecified
   > Could not parse POM http://jcenter.bintray.com/com/foursquare/foursquare-android-nativeoauth-lib/1.0.0/foursquare-android-nativeoauth-lib-1.0.0.pom
     > Could not find any version that matches com.foursquare:parent:1.0.0.

Cualquier otro manera de importar esta lib? Puedo simplemente copiar y pegar el código fuente en mi fuente o crear FRASCO de ella?

POR cierto: si tiene problemas vea esta pregunta (tuve este problema después de importar): La fusión de manifiesto falló: uses-sdk: minSdkVersion 14

Author: Community, 2014-09-01

16 answers

Prueba esto:

File > Project Structure > Dependencies Tab > Add module dependency (scope = compile)

Donde la dependencia del módulo es la carpeta android de la biblioteca de proyectos

 72
Author: Martin Alcubierre Arenillas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-25 19:07:03

Pruebe uno de estos enfoques:

Enfoque 1)

1-Elegir vista de proyecto

introduzca la descripción de la imagen aquí

2-Copie su archivo JAR en la carpeta app - > lib

introduzca la descripción de la imagen aquí

3-Haga clic derecho en su archivo JAR y elija agregar como biblioteca

introduzca la descripción de la imagen aquí introduzca la descripción de la imagen aquí

4 - Compruébalo en build.gradle

introduzca la descripción de la imagen aquí


Enfoque 2)

1-Archivo - > Nuevo - > Nuevo Módulo

introduzca la descripción de la imagen aquí

2 - Importar .FRASCO/.Paquete AAR

introduzca la descripción de la imagen aquí

3-Examine su archivo JAR

introduzca la descripción de la imagen aquí

4-Finish

5-Archivo - > Estructura del proyecto - > Dependencias

introduzca la descripción de la imagen aquí

6-Debe hacer clic en el botón + y luego haga clic en Dependencia del módulo

introduzca la descripción de la imagen aquí

7-Verá su biblioteca aquí

introduzca la descripción de la imagen aquí

8-elija su biblioteca y haga clic en aceptar

introduzca la descripción de la imagen aquí

9 - Entonces, verá que se agrega su biblioteca.

introduzca la descripción de la imagen aquí


Para los dos primeros enfoques, necesita un archivo JAR. Puedes buscar http://search.maven.org / para encontrar archivos JAR relacionados con Android. Por ejemplo, este es el resultado de la búsqueda de jdom en este link

Resultados de búsqueda para jdom


Enfoque 3) Android está usando http://jcenter.bintray.com/ como biblioteca remota. Por ejemplo, este es el resultado de la búsqueda de jdom en el enlace.

jcenter jdom

Para agregar una biblioteca en este enfoque, siga estos pasos:

1-Archivo - > Estructura del proyecto - > Dependencias

introduzca la descripción de la imagen aquí

2-Haga clic en el botón + y elija biblioteca dependencia

introduzca la descripción de la imagen aquí introduzca la descripción de la imagen aquí

3 - busque su biblioteca y selecciónela, luego haga clic en Aceptar.


Espero que ayude.

 157
Author: Vahid,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-23 20:01:13

Hay dos formas más simples si una no funciona, pruebe la otra.

  1. Agregue la dependencia de la biblioteca dentro de la dependencia dentro del archivo build.gradle de la biblioteca que está utilizando, y pegue su biblioteca en Bibliotecas externas.

O

  1. Simplemente Vaya a su carpeta libs dentro de la carpeta app y pegue todos sus archivos de biblioteca .jar, por ejemplo, allí, ahora el truco aquí es que ahora vaya dentro del archivo settings.gradle ahora agregue esta línea include ':app:libs' después de include ':app' definitivamente trabajo.
 18
Author: Sudhanshu Gaur,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-10 16:49:18

¿Alguna otra forma de importar esta lib? Simplemente puedo copiar y pegar el código fuente en mi fuente o crear FRASCO de ella?

Complete los pasos para importar una biblioteca en Android Studio 1.1

  1. Ir a Archivo -> Importar Módulo.
  2. Directorio fuente -> Buscar la ruta del proyecto.
  3. Especifique el Nombre del módulo
  4. Construcción abierta.gradle (Module:app) file
  5. Agregue la siguiente línea con el nombre de su módulo

    Compilar project ( ': internal_project_name')

Tomado de: cómo agregar biblioteca en Android Studio

 16
Author: KnowIT,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-20 14:28:24

Para hacer referencia a un proyecto lib externo sin copia, simplemente haga esto: - Insertar estas 2 líneas en setting.gradle:

  include ':your-lib-name'
  project(':your-lib-name').projectDir = new File('/path-to-your-lib/your-lib-name)

Inserte esta línea en la parte de dependencias del archivo build.gradle:

compile project(':your-lib-name')

Sync project

 14
Author: Pedro Santos,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-09 11:33:29

Una respuesta tardía, aunque pensé en dar una respuesta en profundidad a esta pregunta. Este método es adecuado para Android Studio 1.0.0 y superior.

PASOS

  1. Primero cambia tu estructura de carpetas de Android a Project.

introduzca la descripción de la imagen aquí

  1. Ahora busca la carpeta libs dentro de la carpeta app - build.

introduzca la descripción de la imagen aquí

  1. Una vez que haya pegado el .frasco archivo dentro de la carpeta libs. Haga clic derecho en el archivo jar y al final haga clic en Agregar como biblioteca. Esto se encargará de agregar archivos de compilación ('libs / library_name.jar') in build.gradle[No tienes que introducir esto manualmente en tu archivo de compilación].

introduzca la descripción de la imagen aquí

Ahora puede comenzar a usar la biblioteca en su proyecto.

 7
Author: capt.swag,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-07 06:33:12

Tres formas en android studio para agregar una biblioteca externa.

  1. Si desea agregar la dependencia del proyecto libarary en su proyecto:

    A. En el menú archivo, haga clic en nuevo y elija importar módulo elija la ruta del proyecto de la biblioteca y haga clic en aceptar, proyecto de biblioteca agregar automáticamente en su proyecto de android Studio .

    B. Ahora abre tu archivo gradle del módulo principal (como la aplicación) y agrega la dependencia del proyecto en la sección dependencias {

    Compile el proyecto ( ' : biblioteca nombre del proyecto")

  2. Si desea agregar un archivo jar : A. agregue el archivo jar en la carpeta libs. B. Y Añadir dependencia

    Compile FileTree(dir: 'libs', include: '*.jar') / / añade todos los archivos jar de la carpeta libs, si quieres añadir un jar particular de libs añade la siguiente dependencia.

    Compilar archivos('libs/abc.jar')

  3. Añadir dependencia desde url (recomendado). como

    Compile ' com.mcxiaoke.volley: biblioteca-aar: 1.0.0 '

 6
Author: vinod,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-09 06:49:22

También me había enfrentado a este problema. Esas veces seguí algunos pasos como:
1. File - > New - > Import module - > selection your library_project
(Entonces include 'library_project' se agregará en el archivo settings.gradle.)

2. Archivo - > Estructura del proyecto-> app - > Pestaña Seleccionar Dependencias - > seleccionar library_project, Si library_project no se muestra, haga clic en el botón + y luego seleccione su library_project.

3. Limpia y construye tu proyecto
(Después de ese Control,

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(':library_project')
}

Las líneas se añadirán en el archivo build.gradle específico del proyecto que se encuentra en la carpeta o directorio app (sugerencia: No en el archivo principal build.gradle donde se define classpath))
4. si esas líneas no se presentan, agréguelas manualmente, luego limpie y reconstruya su proyecto nuevamente.

5. Compruebe que se creará una carpeta con el nombre library_project en la carpeta de la aplicación.

6.Si se crea algún error de fusión de iconos o tareas, en el archivo AndroidManifest agregue <application tools:replace="icon, label,theme">

 5
Author: Ratna Halder,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-16 22:01:43

Android studio no usa Maven, usa Gradle, puedes abrir tu build.gradle la ruta debe ser: /app/build.gradle y agregar la dependencia de Gradle que se muestra en el repositorio:

El build.gradle tiene una sección dependencies:

dependencies {
    //here add your dependency
}

El repositorio dice que necesitas agregar esta dependencia:

compile 'com.foursquare:foursquare-android-oauth:1.0.3'

Solo agrega esa línea a tu dependencies en buil.gradle, guarda el archivo y android reconstruirá el proyecto, eso es todo

 3
Author: Carlos Herrera Plata,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-03 17:25:44

Si la biblioteca que necesitas está en GitHub, agregarla a Android Studio es fácil con JitPack.

Paso 1. Añade el repositorio jitpack a construir.gradle:

allprojects { 
  repositories {
    jcenter()
    maven { url "https://jitpack.io" }
  }
}

Paso 2. Agregue el repositorio GitHub como una dependencia:

dependencies {
    // ...
    compile 'com.github.Username:LibraryRepo:ReleaseTag'
}

JitPack actúa como un repositorio maven y se puede usar como Maven Central. Lo bueno es que los mantenedores no tienen que cargar la biblioteca. Behind the scenes JitPack comprobará el código de GitHub y lo compilará. Por lo tanto, para que esto funcione, debe haber un archivo de compilación en funcionamiento en el repositorio git.

También hay una guía sobre cómo publicar una biblioteca de Android.

 2
Author: Andrejs,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-04-21 07:46:14

Añadir biblioteca{[4] {} en[3]}Android studio 2.1

Just Go to project -> then it has some android,package ,test ,project view

Simplemente cámbialo a Vista de proyecto

Bajo el app->lib folder puedes copiar y pegar directamente la lib y hacer que Android la sincronice. Eso es todo

 1
Author: Vinayak Shedgeri,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-23 06:05:53

1) solo consigue tu lib desde aquí http://search.maven.org /

2) crear una carpeta libs en el directorio de aplicaciones

3) pegue su biblioteca allí

4) haga clic derecho en su biblioteca y haga clic en "Agregar como biblioteca"

5) ¡eso es todo lo que necesitas hacer!

¡Espero que esto definitivamente te ayude!!!!

 1
Author: Aditya Kumar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-19 10:31:39

Yo tenía el mismo problema. Esto sucedió debido a la dependencia de la biblioteca central. Estaba usando Javax.* . Esto es lo que hice para arreglar

En Archivo->Estructura del proyecto->Dependencias agregué esto como archivo proporcionado, no como una compilación. A continuación, volver a construir el proyecto.

Este problema se inició después de la actualización de android studio. Pero creo que sucede cuando intentas editar construyes archivos manualmente.

 0
Author: sudheer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-30 14:22:17
  1. En la sección repositorios de la compilación del proyecto.gradle añade lo siguiente:
flatDir { dirs 'aars' } 
  1. En la sección dependencias de build.gradle añade lo siguiente:

Compile '[group id]: [artifact id]: [version]@aar'

Reemplazando [group id] etc con los diversos atributos lib

  1. Cree un subdirectorio aars bajo el directorio de su proyecto

  2. Copie el [youlibrary].aar al subdirectorio creado en 3. arriba.

  3. Construir Y Disfrutar!

 0
Author: edsappfactory.com,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-27 10:45:32

Para la forma más sencilla solo tienes que seguir estos pasos

  1. Vaya a Archivo -> Nuevo -> Módulo de importación ->
  2. Agregue la biblioteca para incluir la sección en la configuración de .gradle archive y sincronice el proyecto (Después de eso, puede ver que se agrega una nueva carpeta con el nombre de la biblioteca en la estructura del proyecto)

    include ':mylibraryName'

  3. Vaya a Archivo - > Estructura del proyecto - > aplicación - > pestaña dependencia - > haga clic en el botón más

  4. Seleccionar dependencia del módulo - > seleccionar biblioteca (su nombre de biblioteca debe aparecer allí) y poner ámbito (compilar o implementación)
  5. Agregue esta línea en build.gradle en el módulo de nivel de aplicación en la sección de dependencias

    implementation project(':mylibraryName')

 0
Author: kunal khedkar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-13 14:13:04

Hay algunos cambios en el nuevo gradle 4.1

En lugar de compilar deberíamos usar implementación

Implementation " com.androide.soporte: appcompat-v7: 26.0.0 '

 -1
Author: Vahe Gharibyan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-27 20:34:13