Importieren Sie Android Volley in Android Studio


88

Ich möchte die Volleybibliothek von Google verwenden

Ich verwende Android Studio und weiß, wie man .jar-Bibliotheken hinzufügt.

Aber ich konnte keine .jar-Bibliothek mit den Volley-Dateien erstellen:

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

Hier, was ich getan habe: (unter Windows 7)

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

Und ich bekomme die Ausgabe:

Eine Java-Ausnahme ist aufgetreten.

Was ist falsch? Wie kann ich eine nicht .jar-Bibliothek hinzufügen?


Wenn Sie Volley als Abhängigkeitsmodul anstelle einer JAR-Datei verwenden möchten, können Sie dem Link
cmoaciopm


Importieren von Volley-Tutorial: gitsubmoduleasandroidtudiomodule.blogspot.in
Arpit Ratan

Antworten:


178

Volley ist jetzt offiziell auf JCenter verfügbar :

Fügen Sie diese Zeile zu Ihren Gradle-Abhängigkeiten für das App-Modul Ihres Android-Projekts hinzu:

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


2
@ Shavik Gradle ist nicht synchron, während dies zur build.gradle-Datei hinzugefügt wird. Ich erhalte folgende Fehlermeldung: Fehler beim Auflösen: com.android.volley: volley: 1.0.0
Sundeep Badhotiya

4
Ich hatte ein ähnliches Problem wie @SundeepBadhotiya. Es wurde gelöst, indem die erwähnte Kompilierungsanweisung in die build.gradle des Moduls eingefügt wurde, nicht in die gradle-Datei des Projekts.
DBX12

Soll ich verwenden com.android.volley:volley:1.0.0oder com.mcxiaoke.volley:library-aar:1.0.0?
pb772

1
Ich habe es versucht, aber es wird immer noch nicht synchronisiert. Fehlt mir etwas?
Clive Makamara

1
Die letzte Version ist 1.1.0 und in Android Studio 3 sollten Sie Folgendes verwenden: Implementierung 'com.android.volley: volley: 1.1.0'
Meisam

53

Daher wurde Volley auf den Build-Stil von Android Studio aktualisiert, wodurch es schwieriger wird, ein Glas zu erstellen. Aber der empfohlene Weg für Eclipse war es, es als Bibliotheksprojekt zu verwenden, und dies gilt auch für Android Studio, aber wenn wir in Android Studio arbeiten, nennen wir dies ein Modul. Hier ist eine Anleitung, wie Google es so macht, wie wir es wollen. Die Anleitung basiert auf diesem schönen Tutorial .

  1. Holen Sie sich zuerst die neueste Salve mit Git (Git-Klon https://android.googlesource.com/platform/frameworks/volley ).

  2. Klicken Sie in Ihrem aktuellen Projekt (Android Studio) auf [File]-> [New]-> [Import Module].

  3. Wählen Sie nun das Verzeichnis aus, in das Sie Volley heruntergeladen haben.

  4. Jetzt kann Android Studio Sie anleiten, den Rest zu erledigen, aber fahren Sie mit der Anleitung fort, um zu überprüfen, ob alles korrekt funktioniert

  5. Öffnen Sie settings.gradle (im Stammverzeichnis) und fügen Sie hinzu (oder überprüfen Sie, ob dies enthalten ist):

    include ':app', ':volley'

  6. Gehen Sie nun in Ihrem Projekt zu build.gradle und fügen Sie die Abhängigkeit hinzu:

    compile project(":volley")

Das ist alles, was dazu gehört, viel einfacher und einfacher als das Kompilieren eines Glases und sicherer als das Verlassen auf Gläser oder Maven-Uploads von Drittanbietern.


1
Dies hat mein Problem gelöst. Ich habe es jedoch kompliziert, indem ich das Submodul in ein von mir erstelltes Verzeichnis namens "3rd_party" verschoben habe. Ich musste die obigen Aussagen in include ':app', ':3rd_party:volley'und ändern compile project(":3rd_party:volley"). (Die Verwendung von Doppelpunkten zur Abgrenzung von Ordnern hat mich zuerst gestolpert und zuerst gedacht, dass dies nur einen relativen Pfad
bedeuten

Schritt 2 sollte Datei> Neu> Modul importieren sein.
The_Martian

@ The_Martian danke, ich habe es aktualisiert, um die Android Studio-Updates widerzuspiegeln.
Warpzit

19

Aktualisieren der Antwort von Warpzit für Android Studio 1.3.2 (Unterschiede in Fettdruck )
(Update: scheint für Android 2.0 gleich zu sein)

  1. Holen Sie sich zuerst die neueste Volleyball mit Git.
  2. Klicken Sie in Ihrem aktuellen Projekt (Android Studio) auf [ Datei] -> [Neu] -> [Neues Modul].
  3. Wählen Sie nun [ Gradle- Projekt importieren ] und klicken Sie auf Weiter
  4. Wählen Sie nun das Verzeichnis aus, in das Sie Volley heruntergeladen haben.
  5. Jetzt kann Android Studio Sie anleiten, den Rest zu erledigen, aber fahren Sie mit der Anleitung fort, um zu überprüfen, ob alles korrekt funktioniert
  6. Öffnen Sie settings.gradle (im Stammverzeichnis) und fügen Sie hinzu (oder überprüfen Sie, ob dies enthalten ist):

    Dazu gehören ': App', ': Volley'

  7. Gehen Sie nun in Ihrem Projekt zu build.gradle und fügen Sie die Abhängigkeit hinzu:

    Projekt kompilieren (": volley")


Dies scheint das Modul in die App zu importieren und nicht in root, was alles durcheinander bringt. Irgendeine Idee, warum das so wäre?
Cruncher

DEPRECATED. Diese Antwort ist nicht mehr gültig. Obwohl es technisch "funktionieren" würde, sollten Sie es 2018+ wirklich nicht so machen. Verwenden Sie compile 'com.android.volley: volley: <aktuelle Version hier> .0.0'
StarWind0

18

Viel zu komplizierte Leute. Fügen Sie es einfach in Ihre Gradle-Abhängigkeiten ein:

dependencies {
    ...
    compile 'com.mcxiaoke.volley:library:1.0.17'
}

17
Es sei darauf hingewiesen, dass dies kein offizielles Repository ist. Daher besteht immer die Möglichkeit, dass schädlicher Code darin enthalten ist. Wahrscheinlich wird es nicht passieren, oder? Aber am besten sei dir bewusst, dass es möglich ist.
Craig Russell

Für Anfänger mit Abschluss sind hier einige weitere Details: blog.chrisblunt.com/android-getting-started-with-volley
BurninLeo

5
DEPRECATED Bitte beachten Sie, dass dieses Projekt veraltet ist und nicht mehr gewartet wird. Bitte verwenden Sie die offizielle Version von jCenter. kompiliere 'com.android.volley: volley: 1.0.0'
StarWind0

10

Die meisten dieser Antworten sind veraltet.

Google hat jetzt eine einfache Möglichkeit, es zu importieren. Wir werden weiterhin viele veraltete Informationen sehen, da diese Lösung seit gut 2-3 Jahren nicht mehr erstellt wurde.

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

Alles, was Sie tun müssen, ist, Ihrem Build.Gradle Folgendes hinzuzufügen:

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

IE

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'
}

3

Fügen Sie diese Zeile zu den Abhängigkeiten in build.gradle hinzu:

compile 'com.mcxiaoke.volley:library:1.0.+'

3

Nachdem Sie compile 'com.android.volley:volley:1.0.0'Ihre build.gradle (Module) -Datei unter Abhängigkeiten abgelegt haben, funktioniert dies nicht sofort. Sie müssen zuerst Android Studio neu starten!


Ich war mit diesem Problem konfrontiert und ein Neustart funktionierte für mich. Es muss jedoch einen besseren Weg geben!
Nikhil Gupta

Sie müssen lediglich Ihre Abhängigkeiten aktualisieren. Ein Neustart hat dies wahrscheinlich für Sie gestartet. Oben auf dem Bildschirm wird ein Banner angezeigt, das Sie zur Aktualisierung auffordert. Schwer zu übersehen. Drücken Sie das nächste Mal einfach.
StarWind0

Unglaublicherweise löste der Neustart von Android Studio unseren Nachmittag mit dem Versuch, dies zu beheben :(
Luke

2

Fügen Sie diese Abhängigkeit in Ihre Datei gradle.build (Modul: App) ein

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

Und dann synchronisieren Sie Ihre Gradle-Datei.


1

Fügen Sie im "build.gradle" für Ihre App (die App, nicht das Projekt) Folgendes hinzu:

dependencies {
    ...
    implementation 'com.android.volley:volley:1.1.0'
}

1

Fügen Sie dies in Ihre "build.gradle" Ihrer App ein.

Implementierung 'com.android.volley: volley: 1.1.1'


0

Um Volley als Submodul hinzuzufügen und regelmäßige Updates vom GIT-Repo zu erhalten, können die folgenden Schritte ausgeführt werden. Der Hauptvorteil ist, dass Volley angepasst werden kann und der Quellcode aus dem GIT-Repo abgerufen werden kann, wenn ein Update erforderlich ist.

Es hilft auch beim Debuggen.

Befolgen Sie die folgenden Schritte:

Schritt I:

Fügen Sie Volley als Submodul im Android-Anwendungsprojekt GIT Repo hinzu. Git-Submodul add -b master https://android.googlesource.com/platform/frameworks/volley Libraries / Volley

Schritt II:

Fügen Sie in settings.gradle Folgendes hinzu, um Volley als Studio-Projektmodul hinzuzufügen. include ': Volley' Projekt (': Volley'). projectDir = neue Datei ('../ Libraries / Volley')

Schritt III:

Fügen Sie in app / build.gradle die folgende Zeile hinzu, um das Volley-Kompilierungsprojekt zu kompilieren (': Volley')

Das wäre alles! Volley wurde erfolgreich in das Projekt aufgenommen.

Führen Sie jedes Mal den folgenden Befehl aus, wenn Sie den neuesten Code aus dem offiziellen Volley-Repo von Google erhalten möchten

git submodule foreach git pull

Für detailliertere Informationen: https://gitsubmoduleasandroidtudiomodule.blogspot.in/

Beispielcode für GIT Repo: https://github.com/arpitratan/AndroidGitSubmoduleAsModule


0

Die Zeile "Projekt kompilieren (': volley')" gab mir diesen Fehler:

Fehler: Ausführung für Aufgabe ': volley: processDebugResources' fehlgeschlagen. > com.android.ide.common.process.ProcessException: Fehler beim Ausführen von aapt

Dies wurde verursacht, weil die Versionen compileSdk und buildTools von module volley derzeit auf "22" und "22.0.1" waren und ich mein Projekt mit neueren ("24" und "24.0.1") arbeitete.

LÖSUNG:

Öffnen Sie Ihre Datei build.gradle (Modul: volley) und ändern Sie die Version von "compileSdk" und "buildTools". Ich habe beispielsweise Folgendes geändert:

android {
    compileSdkVersion 22
    buildToolsVersion = '22.0.1'
}

dafür:

android {
    compileSdkVersion 24
    buildToolsVersion = '24.0.1'
}

Sie sollten diesen Fehler nicht mehr haben, ich hoffe es hilft :)


0

Oder du kannst es einfach tun

ant jar

in Ihrem geklonten Volley-Git-Projekt. Sie sollten jetzt volley.jarim binOrdner für Volley-Projekte sehen . Kopieren Sie dies in den app\libsOrdner von Android Studio . Fügen Sie dann unter dependenciesAbschnitt der build.gradleDatei auf Modulebene Folgendes hinzu :

compile files('libs/volley.jar')

Und Sie sollten gut importieren und die Bibliotheksklassen in Ihrem Projekt verwenden,


0

es ist auch im Repository verfügbar mavenCentral()...

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

0

Zwei Dinge

Erstens: Kompilieren ist veraltet, es ist besser, die Implementierung zu verwenden.

und zweitens: volley 1.0.0 ist veraltet und das Synchronisierungsprojekt funktioniert nicht

Alternativ können Sie in build.gradle die Implementierung 'com.android.volley: volley: 1.1.1' oder die Implementierung 'com.android.volley: volley: 1.1. +' für 1.1.0 und neuere Versionen hinzufügen.


-1

Fügen Sie volly zu Ihrer Studio Gradle App hinzu, indem Sie 'com.android.volley: volley: 1.0.0' kompilieren.


-1

Schritt 1: - Laden Sie die Datei volley.jar herunter.

Schritt 2: - Gehen Sie zu Ihrem Projekt und stellen Sie das Anzeigemenü von Android auf Projekt ein. Gehen Sie dann zu

app -> libs-> paste your volley.jar Datei hier

Schritt 3: - Klicken Sie mit der rechten Maustaste auf die Datei volley.jar und klicken Sie auf "Als Bibliothek hinzufügen". und es ist alles erledigt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.