La mejor manera de incorporar Volley (u otra biblioteca) en el proyecto de Android Studio

81

He visto diferentes consejos sobre la mejor manera de hacer esto. Esta pregunta trata sobre la creación de un frasco. En otro lugar, he visto consejos para simplemente copiar la fuente de volea en su propio proyecto. Esta sección sobre bibliotecas en android.com parece la más autorizada. Sin embargo, después de compilar volley, no tengo una biblioteca aal, mientras que esa sección dice que debería tenerla.

Entonces, mi pregunta es la siguiente: tengo un proyecto de Android Studio existente con un diseño estándar y un repositorio de git; ¿Qué debo hacer para agregar volea? ¿Dónde debo descargarlo? ¿Cómo debo agregarlo a Android Studio? ¿Qué archivos de Gradle, si corresponde, necesito modificar?

Con suerte, para aquellos de ustedes que han hecho esto algunas veces, esto debería ser algo básico, pero no he podido encontrar una descripción sencilla.

-

Actualización , según la sugerencia de Scott Barta.

El archivo gradle.build en el repositorio de volley tiene esta línea.

apply plugin: 'android-library'

Según la documentación : "Los proyectos de biblioteca no generan un APK, generan un paquete .aar (que significa archivo de Android) " . Sin embargo, cuando construyo el proyecto de volley, no se crea ningún .aar.

Mi sensación es que, como Volley es un proyecto de biblioteca, creado por el equipo de Android, lo más probable es que esté destinado a ser generado y utilizado como paquete .aar. Se agradecerá cualquier consejo sobre si sería preferible generar un .aar y cómo hacerlo.

usuario3185563
fuente
posible duplicado de Android Studio + Volley
Scott Barta
Eso debería llevarte la mayor parte del camino. Si todavía está atascado y tiene problemas, refine su pregunta o haga una nueva si es sustancialmente diferente.
Scott Barta
Si desea utilizar Volley como módulo de dependencia, puede consultar el enlace .
cmoaciopm
Tenga en cuenta que el enlace de @ ScottBarta se ha marcado como un duplicado de la biblioteca de redes de Android de volley .
Brian Marick
Hay una explicación muy detallada para lograr esto en el siguiente enlace: gitsubmoduleasandroidtudiomodule.blogspot.in
Arpit Ratan

Respuestas:

125

ÚLTIMA ACTUALIZACIÓN:

En su lugar, utilice la versión oficial de jCenter.

dependencies {
    compile 'com.android.volley:volley:1.0.0'
}

Las dependencias a continuación apuntan a una volea obsoleta que ya no se mantiene.

RESPUESTA ORIGINAL

Puede usar esto en la sección de dependencia de su archivo build.gradle para usar volley

  dependencies {
      compile 'com.mcxiaoke.volley:library-aar:1.0.0'
  }

ACTUALIZADO:

No es oficial, sino una copia espejo del oficial Volley. Se sincroniza y actualiza regularmente con el Repositorio oficial de Volley para que puedas usarlo sin preocupaciones.

https://github.com/mcxiaoke/android-volley

pyus13
fuente
7
Importar para tener en cuenta que no es el repositorio oficial de Volley. Eso es algo que alguien subió a Maven Central. (AFAIK)
pjco
2
ya lo sé, hombre, pero no hay diferencia, solo un espejo, exactamente igual y sincronizado con el repositorio oficial de voleibol 1.0.1 (actualizado en 2014.02.13). Esa es la belleza del código abierto, así que no se preocupe, puede usarlo. github.com/mcxiaoke/android-volley
pyus13
16
No tratar de volverse paranoico con todo el mundo, pero el responsable de ese repositorio podría deslizar fácilmente algunas cosas turbias ... Proceda con precaución si no está auditando personalmente el repositorio.
mgalgs
8
Por favor, vea mi respuesta a continuación, ahora hay un objetivo oficial de Volley publicado por Google ( com.android.volley:volley:1.0.0)
Sam Stern
138

Como también han señalado otros, Volley está oficialmente disponible en Github :

Agregue esta línea a sus dependencias de gradle para voley:

compile 'com.android.volley:volley:1.0.0'


Para instalar la volea desde la fuente, lea a continuación:

Me gusta mantener el repositorio oficial de voleibol en mi aplicación. De esa manera lo obtengo de la fuente oficial y puedo obtener actualizaciones sin depender de nadie más y mitigar las preocupaciones expresadas por otras personas.

Se agregó volea como un submódulo junto con la aplicación.

git submodule add -b master https://github.com/google/volley.git volley

En mi settings.gradle, agregué la siguiente línea para agregar voley como módulo.

include ':volley'

En mi aplicación / build.gradle, agregué una dependencia de compilación para el proyecto de volley

compile project(':volley')

¡Eso es todo! Volley ahora se puede utilizar en mi proyecto.

Cada vez que quiero sincronizar el módulo de volea con el repositorio de Google, ejecuto esto.

git submodule foreach git pull
Shauvik
fuente
7
¿Por qué esta no es la solución preferida? Como yo lo veo, obtienes la versión oficial, actualizaciones fáciles y un vínculo semántico entre tu proyecto y sus dependencias. ¿Hay alguna buena razón para elegir los otros métodos, o es solo que los otros métodos son procedimientos estándar en la comunidad de Android?
Andreas Hagen
2
Creo que esta es la solución preferida, pero Google no la ha documentado correctamente. Además, además de las otras preocupaciones de seguridad mencionadas anteriormente, obtenerlo de la fuente oficial le permite actualizar la biblioteca (tan pronto o tan tarde como desee).
shauvik
3
muchas gracias. Lo único que necesitaba agregar era la ubicación de la biblioteca de volley en settings.gradle: project (': volley'). projectDir = new File ('libraries / volley') porque lo coloqué en una carpeta de bibliotecas
Björn Kechel
Muchas gracias ! Esta debería ser la respuesta oficial
Vivek Singh
No debería ser necesario pedirle al control de versiones que haga el trabajo de un administrador de paquetes.
Rikki Gibson
26

Hoy en día

dependencies {
    compile 'com.android.volley:volley:1.0.0'
}   

Muchas formas diferentes de hacerlo en el pasado (respuesta original)

  • Use los archivos fuente de git (una forma bastante manual / general descrita aquí)

    1. Descargue / instale el cliente git (si aún no lo tiene en su sistema): http://git-scm.com/downloads (o víagit clone https://github.com/git/git ... sry bad one, pero no pudo resistir ^^)
    2. Ejecutar git clone https://android.googlesource.com/platform/frameworks/volley
    3. Copie la comcarpeta desde dentro[path_where_you_typed_git_clone]/volley/src a su app/src/main/javacarpeta de proyectos (integre en su lugar, si ya tiene una carpeta com allí !! ;-))

    Los archivos aparecen inmediatamente en Android Studio. Para Eclipse, tendrá que ir right-clicka la srccarpeta y presionar refresh(o F5) primero.

  • Usa gradle a través del espejo de Maven "no oficial"

    1. En el src/build.gradlearchivo de su proyecto, agregue la siguiente dependencia de volea:

      dependencies {
          compile fileTree(dir: 'libs', include: ['*.jar'])
          // ...
      
          compile 'com.mcxiaoke.volley:library:1.+'
      }
      
    2. Haga clic en el Try Againque debería aparecer de inmediato en la parte superior del archivo, o simplemente en Buildél si no

    La principal "ventaja" aquí es que esto mantendrá la versión actualizada para ti, mientras que en los otros dos casos tendrías que actualizar manualmente Volley.

    En el "lado negativo" no es oficialmente de Google, sino un espejo semanal de terceros.

    Pero ambos puntos son realmente relativos a lo que necesitaría / desearía. Además, si no desea actualizaciones, simplemente coloque la versión deseada allí, por ejemplo compile 'com.mcxiaoke.volley:library:1.0.7'.

Levita
fuente
En Android Studio 1.0.2, no es necesario hacer clic con el botón derecho en el tarro para agregarlo. Las reglas predeterminadas de Gradle lo agregan automáticamente. Además, si es un usuario nuevo de Studio, es posible que se sorprenda de que el jar no aparezca en la vista del proyecto. Se filtra por la configuración de "Android" en el control giratorio justo encima de la vista. Cámbielo a "Proyecto" para comprobar que ha logrado algo.
Brian Marick
¡Es bueno saberlo, gracias! ¡Lo eliminó de la respuesta! Pero a medida que la observación de los usuarios beta: Si elige la primera opción (agregándolo como biblioteca), también necesitará right-clicken volley.jardentro de la libscarpeta en Android Studio y elegir Add As Library...tenerlo disponible en su proyecto.
Levita
1
@Levit, Con respecto al segundo punto: "Use los archivos fuente de git (una forma bastante manual / general descrita aquí)" Estoy usando Android Studio. Obtuve las bibliotecas agregadas a mi proyecto y edité settings.gradle y dependencias. Está funcionando bien, pero recibo un mensaje que dice que se detectó una raíz de Vcs no registrada, está en git, pero no está registrada en la configuración, ¿podría explicar esto por favor?
Ersen Osman
@johncarter: Con el segundo punto / forma de viñeta, debería estar bien simplemente colocándolo en la carpeta correcta, sin editar su configuración y dependencias. Pero también hay una guía más o (más bien) menos completa sobre esta forma en AndroidDevelopers: developer.android.com/training/volley
Levite
2
Gracias por la gran respuesta. ¡El método Volley.jar funcionó para mí fuera de la caja!
vincent mathew
11

A partir de hoy, hay una copia oficial de Volley alojada en Android disponible en JCenter:

compile 'com.android.volley:volley:1.0.0'

Esto fue compilado a partir del código fuente de volea AOSP.

Sam Stern
fuente
¡Gracias por publicar! Esto debe marcarse como la respuesta correcta.
David Lord
5

ACTUALIZAR:

compile 'com.android.volley:volley:1.0.0'

ANTIGUA RESPUESTA: Necesita el siguiente en su build.gradle de su módulo de aplicación:

dependencies {
        compile 'com.mcxiaoke.volley:library:1.0.19'
        (Rest of your dependencies)

    }

Este no es el repositorio oficial, pero es uno de gran confianza.

Sotti
fuente
1
Tener cuidado. La biblioteca de voleibol alojada aquí está desactualizada y no está alojada oficialmente. Vea mi publicación en la parte inferior.
shauvik
1

Para incorporar voley en Android Studio,

  1. pegue el siguiente comando en la terminal (
    git clone https://android.googlesource.com/platform/frameworks/volley ) y ejecútelo.

    Consulte el tutorial para desarrolladores de Android para esto.

    Creará un nombre de carpeta volley en el directorio src.
  2. Luego vaya a Android Studio y haga clic derecho en el proyecto.
  3. elija Nuevo -> Módulo de la lista.
  4. Luego haga clic en importar proyecto existente de la siguiente lista.
  5. verá un área de entrada de texto, a saber, directorio de origen, busque la carpeta que descargó (volley) y luego haga clic en finalizar.
  6. Verá una descarga de carpetas en la vista de su proyecto.
  7. cambie a la vista de Android y abra el archivo build: gradle (Module: app) y agregue la siguiente línea en el área de dependencia:

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

  8. Ahora sincronice su proyecto y también cree su proyecto.

Mukul Aggarwal
fuente
0

He creado Volley como un proyecto independiente. De esa manera no está vinculado a ningún proyecto y existe de forma independiente.

También tengo una configuración de servidor Nexus (repositorio interno) para poder acceder a Voley como
compilar 'com.mycompany.volley: volley: 1.0.4' en cualquier proyecto que necesite.

Cada vez que actualizo el proyecto Volley, solo necesito cambiar el número de versión en otros proyectos.

Me siento muy cómodo con este enfoque.

Sayooj Valsan
fuente
0

añadir

compile 'com.mcxiaoke.volley:library:1.0.19'
        compile project('volley')

en las dependencias, en el archivo build.gradle de su aplicación

NO MOLESTAR EL ARCHIVO build.gradle DE SU BIBLIOTECA. ES EL ARCHIVO GRADLE DE SU APLICACIÓN SÓLO USTED NECESITA ALTERAR

Arushe
fuente