Agregar biblioteca externa en Android Studio

119

Quiero agregar la biblioteca externa https://github.com/foursquare/foursquare-android-oauth a mi aplicación de Android (uso Android Studio, las instrucciones proporcionadas por el autor de la biblioteca para Eclipse no funcionaron para Android Studio).

Intenté hacerlo con maven, así que en Archivo-> Estructura del proyecto-> Dependencias que agregué com.foursquare:foursquare-android-nativeoauth-lib:1.0.0pero Gradle Sync falla:

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

Cuando intento crear mi aplicación (sin corregir el error anterior porque no sé 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.

¿Alguna otra forma de importar esta lib? ¿Puedo simplemente copiar y pegar el código fuente en mi fuente o crear un JAR a partir de él?

Por cierto: si tiene problemas, vea esta pregunta (tuve este problema después de la importación) : Error de fusión de manifiesto: uses-sdk: minSdkVersion 14

Marian Paździoch
fuente

Respuestas:

96

Prueba esto:

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

Donde la dependencia del módulo es la carpeta de Android de la biblioteca del proyecto.

malcubierre
fuente
2
Lo sé por experiencia e inspeccionando ... Pero hay documentos disponibles: developer.android.com/sdk/installing/studio-build.html
malcubierre
26
¿Cómo se puede hacer esto SIN copiar? La biblioteca es utilizada por otros proyectos que no son de Android y se actualiza de forma rutinaria. Si copia la fuente, los cambios en el original no se verán. ¿No es eso un poco estúpido?
Brian Reinhold
1
¿Dónde está la opción Estructura del proyecto?
zulkarnain shah
2
Encontré la dependencia del módulo, pero luego me apareció el cuadro de diálogo "Elegir módulos \ nSeleccione los módulos de los que debe depender el módulo actual: \ nNada para mostrar \ n [Ok] [Cancelar]". No se puede seleccionar la biblioteca descargada.
David162795
1
Agregué una biblioteca externa de esta manera y obtuve un error "No se puede resolver la dependencia para ': app @ buildTypeUnitTest / compileClasspath': No se pudo resolver el proyecto: zip_file". El código generado en dependencia es `proyecto de implementación (': zip_file')`. Además, estoy usando 'com.android.tools.build:gradle:3.2.0-rc03' y https \: //services.gradle.org/distributions/gradle-4.6-all.zip
Nikola
208

Pruebe uno de estos enfoques:

Enfoque 1)

1- Elija la vista del proyecto

ingrese la descripción de la imagen aquí

2- Copie su archivo JAR en la aplicación -> carpeta lib

ingrese la descripción de la imagen aquí

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

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

4- Compruébalo en build.gradle

ingrese la descripción de la imagen aquí


Enfoque 2)

1- Archivo -> Nuevo -> Nuevo módulo

ingrese la descripción de la imagen aquí

2- Importar paquete .JAR / .AAR

ingrese la descripción de la imagen aquí

3- Examine su archivo JAR

ingrese la descripción de la imagen aquí

4- Finalizar

5- Archivo -> Estructura del proyecto -> Dependencias

ingrese la descripción de la imagen aquí

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

ingrese la descripción de la imagen aquí

7- Verás tu biblioteca aquí

ingrese la descripción de la imagen aquí

8- elige tu biblioteca y haz clic en Aceptar

ingrese la descripción de la imagen aquí

9- Luego, verás que se agrega tu biblioteca.

ingrese la descripción de la imagen aquí


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

Resultado de la búsqueda de 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

ingrese la descripción de la imagen aquí

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

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

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


Espero que ayude.

Mohammad
fuente
13
La mejor respuesta en todo el desbordamiento de pila
mizerablebr
1
Me alegro de que encuentre útil mi respuesta. Realmente aprecio tus comentarios.
Mohammad
1
Approche 2 funciona para mí. Gracias por las ilustraciones :)
Hichem Acher
1
Eres muy bienvenido. Me alegro de que esta publicación te haya ayudado.
Mohammad
¡¡Muchas gracias!!
Vinoth Vino
28

Para hacer referencia a un proyecto lib externo sin copia, simplemente haga esto: - Inserte 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 build.gradlearchivo:

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

Proyecto de sincronización

Pedro Santos
fuente
1
Excelente respuesta, crea un enlace a la biblioteca original, para que no tenga que volver a importar cada vez que cambie el código de la biblioteca.
Diman
21

Hay dos formas más sencillas si una no funciona, intente con la otra.

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

O

  1. Simplemente vaya a su libscarpeta dentro de la appcarpeta y pegue todos sus .jararchivos de biblioteca, por ejemplo, allí. Ahora el truco aquí es que ahora vaya al settings.gradlearchivo y agregue esta línea include ':app:libs'después de include ':app'que definitivamente funcionará.
Sudhanshu Gaur
fuente
19

¿Alguna otra forma de importar esta lib? ¿Puedo simplemente copiar y pegar el código fuente en mi fuente o crear un JAR a partir de él?

Pasos completos para importar una biblioteca en Android Studio 1.1

  1. Ir a archivo -> Importar módulo.
  2. Directorio de origen -> Examinar la ruta del proyecto.
  3. Especifique el nombre del módulo
  4. Abra el archivo build.gradle (Módulo: aplicación)
  5. Agregue la siguiente línea con el nombre de su módulo

    compilar proyecto (': nombre_proyecto_interno')

Tomado de: cómo agregar una biblioteca en Android Studio

Lo sé
fuente
8

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 cambie la estructura de su carpeta de Android a Project .

ingrese la descripción de la imagen aquí

  1. Ahora busque la carpeta libs dentro de la aplicación - carpeta de compilación.

ingrese la descripción de la imagen aquí

  1. Una vez que haya pegado el archivo .jar 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') en build.gradle [No tienes que ingresar esto manualmente en tu archivo de compilación].

ingrese la descripción de la imagen aquí

Ahora puede comenzar a usar la biblioteca en su proyecto.

capt. botín
fuente
en mi caso, mientras usaba el primer enfoque, no vi la opción agregar como biblioteca en la lista ... pero la segunda opción funcionó para mí. Pero mi pregunta es por qué la opción agregar como biblioteca no se mostró en mi caso
Abdul Waheed
Muy útil ¡Gracias! Nota: Después de actualizar Android Studio, el botón "Agregar como biblioteca" ya no se encuentra al final de la lista. Ahora está aproximadamente en la quinta parte desde abajo.
JFreeman
8

También me había enfrentado a este problema. Esa vez seguí algunos pasos como:

  1. File> New> Import module> select your library_project. Luego include 'library_project'se agregará en el settings.gradlearchivo.

  2. File> Project Structure> App> Dependencies Tab> select library_project. Si library_projectno se muestra, haga clic en el +botón y luego seleccione su archivo library_project.

  3. Limpia y construye tu proyecto. Las siguientes líneas se agregarán en el módulo de su aplicación build.gradle( pista: esta no es la que classpathestá definida ).

 dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile project(':library_project')
 }
  1. Si estas líneas no están presentes, debe agregarlas manualmente y limpiar y reconstruir su proyecto nuevamente ( Ctrl + F9).

  2. Se library_projectcreará una carpeta con nombre en la carpeta de su aplicación.

  3. Si se crea algún icono o error de combinación de tareas, vaya al AndroidManifestarchivo y agregue<application tools:replace="icon,label,theme">

Ratna Halder
fuente
7

Tres formas en Android Studio para agregar una biblioteca externa.

  1. si desea agregar la dependencia del proyecto de biblioteca en su proyecto:

    A. En el menú de archivo, haga clic en nuevo y elija el módulo de importación, elija la ruta del proyecto de su biblioteca y haga clic en Aceptar, el proyecto de la biblioteca se agrega automáticamente en su proyecto de estudio de Android.

    B. Ahora abra el archivo gradle del módulo principal (como la aplicación) y agregue la dependencia del proyecto en las dependencias de la sección de dependencia {

    compilar proyecto (': nombre del proyecto de la biblioteca')

  2. si desea agregar un archivo jar: A. agregue un archivo jar en la carpeta libs. B. Y agregue dependencia

    compile fileTree (dir: 'libs', include: '* .jar') // agregue todos los archivos jar de la carpeta libs, si desea agregar un jar particular de libs, agregue la siguiente dependencia.

    compilar archivos ('libs / abc.jar')

  3. Agregar dependencia desde la URL (recomendado). me gusta

    compile 'com.mcxiaoke.volley: library-aar: 1.0.0'

vinod
fuente
hola vinod, ¿puedes explicar cómo agregar la dependencia con URL? Además, ¿puede ser una URL de git que, si sufre un cambio, se importa directamente a mi proyecto? Soy un poco nuevo en este desarrollo, así que tengan
paciencia
Hola Nikhil, lea el artículo relacionado con la dependencia de Android que menciono developer.android.com/studio/build/dependencies.html
vinod
6

Para la forma más sencilla, siga estos pasos

  1. Vaya a File-> New-> Import Module->choose library or project folder

  2. Agregue la biblioteca para incluir la sección en el archivo settings.gradle 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 de dependencia -> haga clic en el botón más

  4. Seleccione la dependencia del módulo -> seleccione biblioteca (el nombre de su biblioteca debería aparecer allí) y coloque el alcance (compilación 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 dependencia

    implementation project(':mylibraryName')

kunal khedkar
fuente
3

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

Paso 1. Agregue el repositorio de jitpack a build.gradle:

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

Paso 2. Agrega el repositorio de GitHub como dependencia:

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

JitPack actúa como un repositorio de maven y se puede utilizar de forma muy similar a Maven Central. Lo bueno es que los encargados del mantenimiento no tienen que cargar la biblioteca. Detrás de escena, JitPack verificará el código de GitHub y lo compilará. Por lo tanto, para que esto funcione, debe haber un archivo de compilación funcional en el repositorio de git.

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

Andrejs
fuente
¿No va a almacenar archivos de dependencia en el árbol del proyecto?
user7860670
2

Android Studio no usa Maven, usa Gradle, puede abrir su build.gradleruta debería ser: /app/build.gradley agregar la dependencia de Gradle que se muestra en el repositorio:

El build.gradletiene una dependenciessección:

dependencies {
    //here add your dependency
}

El repositorio dice que debe agregar esta dependencia:

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

solo agregue esa línea a su dependenciesencendido buil.gradle, guarde el archivo y Android reconstruirá el proyecto, eso es todo

Carlos Herrera Plata
fuente
1
1.Goto File -> New -> Import Module
   2.Source Directory -> Browse the project path.
   3.Specify the Module Name  it is used for internal project reference.

Abra el archivo build.gradle (Módulo: aplicación).

 implementation project(':library')
Soumen Das
fuente
1

Convierta cualquier proyecto de github en una implementación de gradle de una sola línea con este sitio web

https://jitpack.io/

Ejemplo, necesitaba este proyecto: https://github.com/mik3y/usb-serial-for-android

Todo lo que hice fue pegar esto en mi archivo gradle:

implementation 'com.github.mik3y:usb-serial-for-android:master-SNAPSHOT'
Cagney
fuente
¡Me salvaste! :). Gracias, muchas gracias. ¡Es tan fácil con el truco que dijiste! : ¡Estuve luchando durante casi 4 horas, antes de ver Tu respuesta! :)
Victor
0

Yo tuve 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 provisto, no como una compilación. Luego reconstruya el proyecto.

Este problema comenzó después de la actualización de Android Studio. Pero creo que sucede cuando intentas editar tus archivos de compilación manualmente.

repentino
fuente
0

Agregar biblioteca en Android Studio 2.1

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

Simplemente cámbielo a Vista de proyecto

debajo de app->lib folderpuede copiar y pegar directamente la biblioteca y sincronizarla con Android. Eso es

Vinayak Shedgeri
fuente
Copiar y pegar la biblioteca Es una URL a un repositorio de
github
0

1) simplemente obtenga su lib desde aquí http://search.maven.org/

2) crea una carpeta libs en el directorio de la aplicación

3) pega tu 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!

Aditya Kumar
fuente
0

Hay algunos cambios en el nuevo gradle 4.1

en lugar de compilar deberíamos usar la implementación

implementación 'com.android.support:appcompat-v7:26.0.0'

Vahe Gharibyan
fuente
-1
  1. En la sección de repositorios del build.gradle del proyecto, agregue lo siguiente:
flatDir { dirs 'aars' } 
  1. En la sección de dependencias de build.gradle agregue lo siguiente:

compilar '[ID de grupo]: [ID de artefacto]: [versión] @aar'

reemplazando [ID de grupo] etc. con los diversos atributos de lib

  1. crea un subdirectorio en el directorio de aarstu proyecto

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

  3. ¡Construye y disfruta!

Modales Ed
fuente
-2

PASOS SIMPLES PARA AÑADIR CUALQUIER BIBLIOTECA EN ANDROID STUDIO:

  1. Copie el archivo en cuestión desde cualquier carpeta en su computadora (por ejemplo, C: /documents/xyz.jar "), luego vaya a Android Studio y haga clic con el botón derecho en la carpeta Biblioteca de proyectos y seleccione pegar.

  2. Ahora, haga clic derecho en el archivo de biblioteca recién agregado y seleccione la opción "agregar como biblioteca"

HECHO

John yepthomi
fuente