Der beste Weg, um Volley (oder eine andere Bibliothek) in ein Android Studio-Projekt zu integrieren


81

Ich habe verschiedene Ratschläge gesehen, wie dies am besten funktioniert. Diese Frage behandelt das Erstellen eines Glases. An anderer Stelle habe ich Ratschläge gesehen, die Volleyquelle einfach in Ihr eigenes Projekt zu kopieren. Dieser Abschnitt über Bibliotheken auf android.com scheint der maßgeblichste zu sein. Nach dem Zusammenstellen von Volley habe ich jedoch keine AAL-Bibliothek, während dieser Abschnitt besagt, dass ich eine haben sollte.

Meine Frage lautet also: Ich habe ein vorhandenes Android Studio-Projekt mit einem Standardlayout und einem Git-Repository. Was soll ich tun, um Volleyball hinzuzufügen? Wo soll ich es herunterladen? Wie soll ich es zu Android Studio hinzufügen? Welche Gradle-Dateien muss ich gegebenenfalls ändern?

Hoffentlich sollte dies für diejenigen von Ihnen, die dies ein paar Mal getan haben, Brot und Butter sein, aber ich konnte keine einfache Beschreibung finden.

- -

Aktualisierung gemäß Scott Bartas Vorschlag.

Die Datei gradle.build im Volley-Repository enthält diese Zeile.

apply plugin: 'android-library'

In der Dokumentation heißt es : " Bibliotheksprojekte generieren keine APK, sondern ein .aar-Paket (das für Android-Archiv steht). " Wenn ich jedoch das Volley-Projekt erstelle, wird kein .aar erstellt.

Ich bin der Meinung, dass Volley, da es sich um ein Bibliotheksprojekt handelt, das vom Android-Team erstellt wurde, höchstwahrscheinlich als .aar-Paket generiert und verwendet werden soll. Jeder Rat, ob es vorzuziehen wäre, ein .aar zu generieren, und wie dies zu tun ist, wäre willkommen.


mögliches Duplikat von Android Studio + Volley
Scott Barta

Das sollte dich den größten Teil des Weges dorthin bringen. Wenn Sie immer noch nicht weiterkommen und Probleme haben, verfeinern Sie Ihre Frage oder stellen Sie eine neue, wenn sie wesentlich anders ist.
Scott Barta

Wenn Sie Volley als Abhängigkeitsmodul verwenden möchten, können Sie auf den Link verweisen .
cmoaciopm

Beachten Sie, dass der Link von @ ScottBarta als Duplikat der Volley-Android-Netzwerkbibliothek markiert wurde .
Brian Marick

Es gibt eine sehr detaillierte Erklärung dafür im folgenden Link: gitsubmoduleasandroidtudiomodule.blogspot.in
Arpit Ratan

Antworten:


125

NEUESTES UPDATE:

Verwenden Sie stattdessen die offizielle Version von jCenter.

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

Die folgenden Abhängigkeiten deuten auf eine veraltete Salve hin, die nicht mehr beibehalten wird.

URSPRÜNGLICHE ANTWORT

Sie können dies im Abhängigkeitsbereich Ihrer build.gradle-Datei verwenden, um Volley zu verwenden

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

AKTUALISIERT:

Es ist nicht offiziell, aber eine Spiegelkopie des offiziellen Volley. Es wird regelmäßig mit dem offiziellen Volley-Repository synchronisiert und aktualisiert, sodass Sie es problemlos verwenden können.

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


7
Importieren Sie, um zu beachten, dass dies nicht das offizielle Repo für Volley ist. Das ist nur etwas, das jemand auf maven central hochgeladen hat. (AFAIK)
pjco

2
ya Ich kenne diesen Mann, aber es gibt keinen Unterschied, nur einen Spiegel, genau der gleiche und synchronisiert mit dem offiziellen Volley-Repository1.0.1 (aktualisiert am 13.02.2014). Das ist das Schöne an Open Source. Machen Sie sich also keine Sorgen, dass Sie es verwenden können. github.com/mcxiaoke/android-volley
pyus13

16
Wenn Sie nicht versuchen, alle paranoid zu machen, sondern der Betreuer dieses Repositorys, kann dies leicht zu zwielichtigen Dingen führen. Seien Sie vorsichtig, wenn Sie das Repository nicht persönlich prüfen.
mgalgs


8
Bitte sehen Sie meine Antwort unten, es gibt jetzt ein offizielles von Google veröffentlichtes Volley-Ziel ( com.android.volley:volley:1.0.0)
Sam Stern

138

Wie auch von anderen betont, ist Volley offiziell auf Github erhältlich :

Fügen Sie diese Zeile zu Ihren Gradle-Abhängigkeiten für Volley hinzu:

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


Um Volley von der Quelle zu installieren, lesen Sie unten:

Ich möchte das offizielle Volley-Repository in meiner App behalten. Auf diese Weise erhalte ich es aus der offiziellen Quelle und kann Updates erhalten, ohne von jemand anderem abhängig zu sein und Bedenken anderer Personen zu mildern.

Volley als Submodul neben App hinzugefügt.

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

Fügen Sie in meiner settings.gradle die folgende Zeile hinzu, um Volley als Modul hinzuzufügen.

include ':volley'

In meiner App / build.gradle habe ich eine Kompilierungsabhängigkeit für das Volley-Projekt hinzugefügt

compile project(':volley')

Das ist alles! Volley kann jetzt in meinem Projekt verwendet werden.

Jedes Mal, wenn ich das Volley-Modul mit Googles Repo synchronisieren möchte, führe ich dies aus.

git submodule foreach git pull

7
Warum ist dies nicht die bevorzugte Lösung? Aus meiner Sicht erhalten Sie die offizielle Version, einfache Updates und eine semantische Verbindung zwischen Ihrem Projekt und seinen Abhängigkeiten. Gibt es einen guten Grund, sich für die anderen Methoden zu entscheiden, oder sind die anderen Methoden nur Standardverfahren in der Android-Community?
Andreas Hagen

2
Ich denke, dies ist die bevorzugte Lösung, aber von Google nicht richtig dokumentiert. Abgesehen von den anderen oben genannten Sicherheitsbedenken haben Sie die Kontrolle über die Aktualisierung der Bibliothek (sobald oder so spät Sie möchten), wenn Sie diese aus der offiziellen Quelle beziehen.
Shauvik

3
vielen Dank. Ich musste nur den Speicherort der Volley-Bibliothek in settings.gradle: project (': volley') hinzufügen. projectDir = neue Datei ('library / volley'), da ich sie in einem Bibliotheksordner abgelegt habe
Björn Kechel

Vielen Dank ! Dies sollte die offizielle Antwort sein
Vivek Singh

Es sollte nicht erforderlich sein, die Versionskontrolle zu bitten, die Arbeit eines Paketmanagers auszuführen.
Rikki Gibson

26

Heutzutage

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

Viele verschiedene Möglichkeiten, dies früher zu tun (ursprüngliche Antwort)

  • Verwenden Sie die Quelldateien von git (eine eher manuelle / allgemeine Methode, die hier beschrieben wird).

    1. Laden Sie den Git-Client herunter / installieren Sie ihn (falls Sie ihn noch nicht auf Ihrem System haben): http://git-scm.com/downloads (oder über git clone https://github.com/git/git... sry bad one, konnte aber nicht widerstehen ^^)
    2. Ausführen git clone https://android.googlesource.com/platform/frameworks/volley
    3. Kopieren Sie den comOrdner von innen [path_where_you_typed_git_clone]/volley/srcin Ihren app/src/main/javaProjektordner (Integrieren Sie ihn stattdessen, wenn Sie dort bereits einen com-Ordner haben !! ;-))

    Die Dateien werden sofort in Android Studio angezeigt. Für Eclipse müssen Sie sich right-clickim srcOrdner befinden und zuerst refresh(oder F5) drücken .

  • Verwenden Sie Gradle über den "inoffiziellen" Maven-Spiegel

    1. Fügen Sie in der src/build.gradleDatei Ihres Projekts die folgende Volley-Abhängigkeit hinzu:

      dependencies {
          compile fileTree(dir: 'libs', include: ['*.jar'])
          // ...
      
          compile 'com.mcxiaoke.volley:library:1.+'
      }
      
    2. Klicken Sie auf, Try Againwas sofort oben in der Datei angezeigt werden soll, oder nur Build, wenn nicht

    Der Hauptvorteil hierbei ist, dass dadurch die Version für Sie auf dem neuesten Stand gehalten wird, während Sie in den beiden anderen Fällen Volley manuell aktualisieren müssten.

    Auf der "Kehrseite" ist es nicht offiziell von Google, sondern ein wöchentlicher Spiegel eines Drittanbieters.

    Aber diese beiden Punkte sind wirklich relativ zu dem, was Sie brauchen / wollen würden. Auch wenn Sie keine Updates wünschen, geben Sie stattdessen einfach die gewünschte Version ein, z compile 'com.mcxiaoke.volley:library:1.0.7'.


In Android Studio 1.0.2 müssen Sie nicht mit der rechten Maustaste auf das Glas klicken, um es hinzuzufügen. Die Standard-Gradle-Regeln fügen es automatisch hinzu. Wenn Sie ein neuer Studio-Benutzer sind, werden Sie möglicherweise überrascht sein, dass das JAR nicht in der Projektansicht angezeigt wird. Es wird durch die Einstellung "Android" im Drehfeld direkt über der Ansicht herausgefiltert. Ändern Sie es in "Projekt", um zu sehen, dass Sie tatsächlich etwas erreicht haben.
Brian Marick

Gut zu wissen, danke! Entfernte es aus der Antwort! Aber als Hinweis für Beta - Nutzer: Wenn Sie die erste Option wählen (als Bibliothek hinzugefügt), werden Sie auch brauchen , um right-clickauf volley.jarim libsOrdner im Android Studio, und wählen Sie Add As Library...es in Ihrem Projekt zur Verfügung zu haben.
Levite

1
@Levit, In Bezug auf den zweiten Aufzählungspunkt - "Verwenden Sie die Quelldateien von git (eine eher manuelle / allgemeine Methode, die hier beschrieben wird)" Ich verwende Android Studio. Ich habe die Bibliotheken zu meinem Projekt hinzugefügt und die settings.gradle und Abhängigkeiten bearbeitet. Es funktioniert gut, aber ich erhalte die Meldung, dass nicht registrierte Vcs-Root erkannt wurde, unter Git steht, aber nicht in den Einstellungen registriert ist. Könnten Sie dies bitte erklären?
Ersen Osman,

@johncarter: Mit dem zweiten Aufzählungspunkt / Weg sollten Sie in Ordnung sein, indem Sie ihn einfach in den richtigen Ordner legen, ohne Ihre Einstellungen und Abhängigkeiten zu bearbeiten. Aber es gibt auch eine mehr oder (eher) weniger umfassende Anleitung zu diesem Weg auf AndroidDevelopers: developer.android.com/training/volley
Levite

2
Danke für die tolle Antwort. Die Volley.jar-Methode hat bei mir sofort funktioniert!
Vincent Mathew

11

Ab heute ist auf JCenter eine offizielle, von Android gehostete Version von Volley verfügbar:

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

Dies wurde aus dem AOSP-Volley-Quellcode kompiliert.


Danke fürs Schreiben! Dies sollte als die richtige Antwort markiert werden.
David Lord

5

AKTUALISIEREN:

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

ALTE ANTWORT: Sie benötigen die nächste in Ihrem build.gradle Ihres App-Moduls:

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

    }

Dies ist kein offizielles Repo, aber ein sehr vertrauenswürdiges.


1
In acht nehmen. Die hier gehostete Volleybibliothek ist veraltet und nicht offiziell gehostet. Siehe meinen Beitrag unten.
Shauvik

1

Für die Aufnahme von Volley in Android Studio,

  1. Fügen Sie den folgenden Befehl in das Terminal ein (
    Git-Klon https://android.googlesource.com/platform/frameworks/volley ) und führen Sie ihn aus.

    Weitere Informationen finden Sie im Android-Entwickler- Tutorial.

    Es wird ein Ordnername volley im src-Verzeichnis erstellt.
  2. Gehen Sie dann zu Android Studio und klicken Sie mit der rechten Maustaste auf das Projekt.
  3. Wählen Sie Neu -> Modul aus der Liste.
  4. Klicken Sie dann in der folgenden Liste auf Vorhandenes Projekt importieren.
  5. Sie sehen einen Texteingabebereich, nämlich das Quellverzeichnis. Durchsuchen Sie den heruntergeladenen Ordner (Volley) und klicken Sie dann auf Fertig stellen.
  6. In Ihrer Projektansicht wird eine Ordnersalve angezeigt.
  7. Wechseln Sie zur Android-Ansicht, öffnen Sie die Datei build: gradle (Modul: App) und fügen Sie die folgende Zeile im Abhängigkeitsbereich hinzu:

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

  8. Synchronisieren Sie jetzt Ihr Projekt und erstellen Sie auch Ihr Projekt.


0

Ich habe Volley als separates Projekt eingerichtet. Auf diese Weise ist es an kein Projekt gebunden und existiert unabhängig.

Ich habe auch ein Nexus-Server-Setup
(internes Repo), damit ich in jedem Projekt, das ich benötige, als Kompilierung 'com.mycompany.volley: volley: 1.0.4' auf volley zugreifen kann .

Jedes Mal, wenn ich das Volley-Projekt aktualisiere, muss ich nur die Versionsnummer in anderen Projekten ändern.

Ich fühle mich mit diesem Ansatz sehr wohl.


0

hinzufügen

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

in den Abhängigkeiten unter der Datei build.gradle Ihrer App

STÖREN SIE NICHT die build.gradle-DATEI IHRER BIBLIOTHEK. ES IST DIE GRADLE-DATEI IHRER APP, DIE SIE NUR ÄNDERN MÜSSEN

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.