Importar Android Volley a Android Studio

88

Quiero usar la biblioteca de voleibol de Google

Estoy usando Android Studio y sé cómo agregar bibliotecas .jar.

Pero no pude crear una biblioteca .jar con los archivos de volley:

https://android.googlesource.com/platform/frameworks/volley

Aquí lo que hice: (usando Windows Seven)

git clone https://android.googlesource.com/platform/frameworks/volley
cd volley
android.bat update project -p . --target android-19
ant.jar jar

Y obtengo el resultado:

Se ha producido una excepción de Java.

¿qué está mal? ¿Cómo puedo agregar una biblioteca que no sea .jar?

nsvir
fuente
Si desea usar volley como un módulo de dependencia en lugar de un archivo jar, puede seguir el enlace
cmoaciopm
Importación del tutorial de volley: gitsubmoduleasandroidtudiomodule.blogspot.in
Arpit Ratan

Respuestas:

179

Volley ahora está disponible oficialmente en JCenter :

Agregue esta línea a sus dependencias de gradle para el módulo de la aplicación de su proyecto de Android:

implementation 'com.android.volley:volley:1.1.1'

Shauvik
fuente
2
@Shavik Gradle no se sincroniza al agregar esto al archivo build.gradle, recibo un error como: No se pudo resolver: com.android.volley: volley: 1.0.0
Sundeep Badhotiya
4
Tuve un problema similar como @SundeepBadhotiya Se resolvió poniendo la declaración de compilación mencionada en el build.gradle del Módulo, no en el archivo gradle del Proyecto.
DBX12
¿Debería usar com.android.volley:volley:1.0.0o com.mcxiaoke.volley:library-aar:1.0.0?
pb772
1
He intentado esto pero todavía no se sincroniza, ¿me falta algo?
Clive Makamara
1
La última versión es 1.1.0 y en Android Studio 3 debe usar: implementación 'com.android.volley: volley: 1.1.0'
Meisam
53

Así que Volley se ha actualizado al estilo de construcción de Android Studio, lo que dificulta la creación de un frasco. Pero la forma recomendada para eclipse era usarlo como un proyecto de biblioteca y esto también se aplica a Android Studio, pero cuando trabajamos en Android Studio, lo llamamos módulo. Así que aquí hay una guía sobre cómo hacerlo de la forma en que Google quiere que lo hagamos. La guía se basa en este bonito tutorial .

  1. Primero obtenga la última volea con git (git clone https://android.googlesource.com/platform/frameworks/volley ).

  2. En su proyecto actual (estudio de Android) haga clic en [File]-> [New]-> [Import Module].

  3. Ahora seleccione el directorio donde descargó Volley.

  4. Ahora, Android Studio puede guiarlo para hacer el resto, pero continúe con la guía para verificar que todo funcione correctamente.

  5. Abra settings.gradle (busque en la raíz) y agregue (o verifique que esto esté incluido):

    include ':app', ':volley'

  6. Ahora vaya a su build.gradle en su proyecto y agregue la dependencia:

    compile project(":volley")

Eso es todo, mucho más simple y fácil que compilar un archivo jar y más seguro que depender de archivos jar de terceros o cargas de maven.

Warpzit
fuente
1
Esto es lo que resolvió mi problema. Sin embargo, lo compliqué moviendo el submódulo a un directorio que creé llamado "3rd_party". Tuve que cambiar las declaraciones anteriores a include ':app', ':3rd_party:volley', y compile project(":3rd_party:volley"). (El uso de dos puntos en las carpetas delinean me tropezó en un principio primero pensamiento, que sólo podría ser que denota una ruta relativa)
ahall
El paso 2 debería ser Archivo> Nuevo> Módulo de importación.
The_Martian
@The_Martian gracias, lo he actualizado para reflejar las actualizaciones de Android Studio.
Warpzit
19

Actualización de la respuesta de Warpzit para Android Studio 1.3.2 (diferencias en negrita )
(actualización: parece ser la misma para Android 2.0)

  1. Primero obtenga la última volea con git.
  2. En su proyecto actual (estudio de Android) haga clic en [ archivo] -> [Nuevo] -> [Nuevo módulo].
  3. Ahora seleccione [Importar proyecto Gradle ], haga clic en Siguiente
  4. Ahora seleccione el directorio donde descargó Volley.
  5. Ahora, Android Studio puede guiarlo para hacer el resto, pero continúe con la guía para verificar que todo funcione correctamente.
  6. Abra settings.gradle (busque en la raíz) y agregue (o verifique que esto esté incluido):

    incluir ': app', ': volley'

  7. Ahora vaya a su build.gradle en su proyecto y agregue la dependencia:

    compilar proyecto (": volley")

Al Lelopath
fuente
Esto parece importar el módulo a la aplicación y no a la raíz, lo que lo estropea todo. ¿Alguna idea de por qué sería eso?
Cruncher
OBSOLETO. Esta respuesta ya no es válida. Si bien técnicamente "funcionaría", realmente no debería hacerlo de esta manera en 2018+ Use compile 'com.android.volley: volley: <versión actual aquí> .0.0'
StarWind0
18

Muchachos demasiado complicados. Solo inclúyelo en tus dependencias de Gradle:

dependencies {
    ...
    compile 'com.mcxiaoke.volley:library:1.0.17'
}
nada salvaje
fuente
17
Vale la pena señalar que este no es un repositorio oficial. Como tal, siempre existe la posibilidad de que se incluyan códigos maliciosos en esto. Probablemente no sucederá, ¿verdad? Pero es mejor ser consciente de que podría hacerlo.
Craig Russell
Para los principiantes con gradle, aquí hay algunos detalles más: blog.chrisblunt.com/android-getting-started-with-volley
BurninLeo
5
ANULADO Tenga en cuenta que este proyecto está obsoleto y ya no se mantiene, utilice la versión oficial de jCenter. compilar 'com.android.volley: volley: 1.0.0'
StarWind0
10

La mayoría de estas respuestas están desactualizadas.

Google ahora tiene una manera fácil de importarlo. Seguiremos viendo mucha información desactualizada ya que no crearon esta solución por unos buenos 2-3 años.

https://bintray.com/android/android-utils/com.android.volley.volley/view

Todo lo que necesita hacer es agregar a su Build.Gradle lo siguiente:

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

ES DECIR

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "24.0.0"
    defaultConfig {
        applicationId "com.example.foobar.ebay"
        minSdkVersion 23
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.1.0'
    compile 'com.android.volley:volley:1.0.0'
    testCompile 'junit:junit:4.12'
}
StarWind0
fuente
3

Agregue esta línea a las dependencias en build.gradle:

compile 'com.mcxiaoke.volley:library:1.0.+'
Victor Odiah
fuente
3

Después de colocar compile 'com.android.volley:volley:1.0.0'en su archivo build.gradle (Módulo) bajo dependencias, no funcionará de inmediato, ¡primero tendrá que reiniciar Android Studio!

doncic
fuente
Estaba enfrentando este problema y un reinicio funcionó para mí. Sin embargo, ¡tiene que haber una mejor manera!
Nikhil Gupta
Todo lo que necesita hacer es actualizar sus dependencias. El reinicio probablemente inició esto para usted. Hay un banner en la parte superior de la pantalla que le pide que actualice. Difícil de perder. Solo presiona eso la próxima vez.
StarWind0
Increíblemente, reiniciar Android Studio resolvió nuestra tarde de intentar solucionar esto :(
Lucas
2

Agregue esta dependencia en su archivo gradle.build (Módulo: aplicación)

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

Y luego sincroniza tu archivo gradle.

Bhumi Unadkat
fuente
1

En el "build.gradle" de su aplicación, (la aplicación, no el proyecto), agregue esto:

dependencies {
    ...
    implementation 'com.android.volley:volley:1.1.0'
}
Tim Cooper
fuente
1

Agregue esto en su "build.gradle" de su aplicación.

implementación 'com.android.volley: volley: 1.1.1'

Sanjay Goswami
fuente
0

Para agregar volley como submódulo y obtener actualizaciones periódicas del repositorio GIT, se pueden seguir los siguientes pasos. La principal ventaja es que Volley se puede personalizar y el código fuente se puede extraer del repositorio GIT siempre que se requiera una actualización.

También es útil para fines de depuración.

Siga los pasos siguientes:

Paso I:

Agregue volea como submódulo en el proyecto de aplicación de Android GIT Repo. git submodule agregar -b master https://android.googlesource.com/platform/frameworks/volley Libraries / Volley

Paso II:

En settings.gradle, agregue lo siguiente para agregar voley como un módulo de proyecto de estudio. incluir proyecto ': Volley' (': Volley'). projectDir = new File ('../ Libraries / Volley')

Paso III:

En app / build.gradle, agregue la siguiente línea para compilar el proyecto de compilación de Volley (': Volley')

¡Eso es todo! Volley se ha agregado con éxito al proyecto.

Cada vez que desee obtener el último código del repositorio oficial de Google Volley, simplemente ejecute el siguiente comando

git submodule foreach git pull

Para obtener información más detallada: https://gitsubmoduleasandroidtudiomodule.blogspot.in/

Código de muestra de GIT Repo: https://github.com/arpitratan/AndroidGitSubmoduleAsModule

Arpit Ratan
fuente
0

La línea "compile project (': volley')" me estaba dando este error:

Error: la ejecución falló para la tarea ': volley: processDebugResources'. > com.android.ide.common.process.ProcessException: no se pudo ejecutar aapt

Fue causado porque las versiones compileSdk y buildTools del módulo volley estaban actualmente en "22" y "22.0.1" y mi proyecto estaba trabajando con los más nuevos ("24" y "24.0.1").

SOLUCIÓN:

Abra su archivo build.gradle (Módulo: volley) y cambie la versión de "compileSdk" y "buildTools", por ejemplo, cambié esto:

android {
    compileSdkVersion 22
    buildToolsVersion = '22.0.1'
}

para esto:

android {
    compileSdkVersion 24
    buildToolsVersion = '24.0.1'
}

Ya no debería tener este error, espero que ayude :)

Alan Barrera
fuente
0

O simplemente puedes hacer

ant jar

en su proyecto git de volea clonado. Ahora debería ver volley.jaren la bincarpeta de proyectos de volea . Copie esto en la app\libscarpeta de Android Studio . Luego agregue lo siguiente en la dependenciessección del build.gradlearchivo de nivel de módulo :

compile files('libs/volley.jar')

Y debería importar y usar las clases de la biblioteca en su proyecto,

Aniket Thakur
fuente
0

también está disponible en el repositorio mavenCentral()...

dependencies {
    // https://mvnrepository.com/artifact/com.android.volley/volley
    api "com.android.volley:volley:1.1.0'
}
Martin Zeitler
fuente
0

dos cosas

uno: la compilación está desactualizada, es mejor usar la implementación,

y dos: volley 1.0.0 está desactualizado y el proyecto de sincronización no funcionará

alternativamente, en build.gradle agregue la implementación 'com.android.volley: volley: 1.1.1' o la implementación 'com.android.volley: volley: 1.1. +' para 1.1.0 y versiones más recientes.

Julián Lazaras
fuente
-1

agregue volly a su aplicación studio gradle compilando 'com.android.volley: volley: 1.0.0'

Manish
fuente
-1

Paso 1: - Descarga el archivo volley.jar.

paso 2: - Vaya a su proyecto y configure el menú de visualización de Android a Proyecto y luego vaya a

app -> libs-> paste your volley.jar archivar aquí

paso 3: - Haga clic derecho en el archivo volley.jar y haga clic en "agregar como biblioteca". y todo está hecho.

Subodh kumar
fuente