1078 Stimmen

Android Studio: jar als Bibliothek hinzufügen?

Ich versuche, das neue Android Studio zu verwenden, aber ich kann es nicht richtig zum Laufen bringen.

Ich benutze die Gson Bibliothek, um JSON-Objekte zu serialisieren/deserialisieren. Aber die Bibliothek ist irgendwie nicht im Build enthalten.

Ich hatte ein neues Projekt erstellt, das nur eine MainActivity . Kopiert gson-2.2.3.jar im Ordner /libs und fügte es als Bibliotheksabhängigkeit hinzu (Rechtsklick->Als Bibliothek hinzufügen). Dies schließt die jar in Android Studio, so dass es von den Quelldateien referenziert werden kann.

Wenn ich versuche, das Projekt auszuführen, lässt es sich nicht kompilieren, also habe ich etwas hinzugefügt:

compile files('libs/gson-2.2.3.jar')

zu den Abhängigkeiten in der .gradle-Datei. Danach wird es korrekt kompiliert, aber wenn ich die Anwendung ausführe, erhalte ich eine ClassDefNotFoundException .

Weiß jemand, was ich falsch mache?

37voto

Vinayak Bevinakatti Punkte 39533

Einfache Schritte zum Hinzufügen einer externen Bibliothek in Android-Studio

  1. Wenn Sie in Android Ansicht im Projekt-Explorer, ändern Sie es in Projekt Ansicht wie unten

enter image description here

  1. Klicken Sie mit der rechten Maustaste auf das gewünschte Modul, zu dem Sie die externe Bibliothek hinzufügen möchten, und wählen Sie dann Neu > Directroy a ' libs '
  2. Kopieren Sie nun die blah_blah.jar in den Bereich ' libs ' Ordner
  3. Klicken Sie mit der rechten Maustaste auf die Datei blah_blah.jar und wählen Sie dann ' Als Bibliothek hinzufügen '. Dadurch wird automatisch ein Eintrag in build.gradle comme c files('libs/blah_blah.jar') und synchronisieren Sie die gradle. Und Sie sind fertig

Bitte beachten: Wenn Sie Bibliotheken von Drittanbietern verwenden, ist es besser, wenn Sie Abhängigkeiten w automatisch das JAR und das Abhängigkeits-JAR herunterlädt, wenn das Gradle Skript ausgeführt wird.

Beispiel: Kompilieren Sie 'com.google.Android.gms:play-services-ads:9.4.0'.

Lesen Sie mehr über Gradle-Abhängigkeitsverwaltung

36voto

user2084396 Punkte 351

'compile files...' hat bei mir immer funktioniert, aber jetzt nicht mehr. Nach vielen Mühen habe ich herausgefunden, dass es funktioniert, wenn ich stattdessen dies verwende:

compile fileTree(dir: 'libs', include: '*.jar')

Ich habe keine Ahnung, warum das einen Unterschied gemacht hat, aber zumindest funktioniert das verdammte Ding jetzt.

15voto

A.B. Punkte 1454

Ich fand den Dependency Manager von Android Studio recht praktisch und leistungsstark für die Verwaltung von Abhängigkeiten von Drittanbietern (wie gson hier erwähnt). Schritt für Schritt Anleitung, die für mich gearbeitet (HINWEIS: Diese Schritte sind für Android Studio 1.6 und aufwärts Versionen auf Windows-Plattform getestet).

Schritt 1: Gehen Sie zu "Build > Edit Libraries and Dependencies...", es öffnet sich der Dialog "Project Structure".

enter image description here

Schritt 2: Wählen Sie "app" und dann die Registerkarte "Abhängigkeiten". Wählen Sie dann "Add > 1 Library dependency".

enter image description here

Schritt 3: Das Dialogfeld "Choose Library Dependency" (Bibliotheksabhängigkeit auswählen) wird angezeigt. Geben Sie in der Suchfunktion "gson" ein und drücken Sie die Schaltfläche "search".

enter image description here

Schritt 4: Die gewünschte Abhängigkeit wird in der Suchliste angezeigt, wählen Sie com.google.code.gson:gson:2.7 (dies ist die neueste Version zu der Zeit, als ich die Antwort schrieb), drücken Sie OK

enter image description here

Drücken Sie OK im Dialog "Projektstruktur". Gradle wird Ihre Build-Skripte entsprechend aktualisieren.

enter image description here

Ich hoffe, das ist hilfreich :)

13voto

Sandeep Punkte 197

1. Stellen Sie das Gefäß (in meinem Fall, gson-2.2.4.jar ) in den Ordner libs.

2. Stellen Sie sicher, dass die Kompilierdateien ( libs/gson-2.2.4.jar ) befindet sich in Ihrer build.gradle-Datei.

3. Klicken Sie nun auf die Schaltfläche "Projekt mit Gradle-Dateien synchronisieren" (links neben der Schaltfläche AVD-Manager in der oberen Leiste).

Nachdem ich die drei oben genannten Schritte durchgeführt hatte, funktionierte es einwandfrei.

8voto

Vettiyanakan Punkte 6446

Legen Sie die .jar Dateien in libs Ordner des Android-Projekts.

Fügen Sie dann diese Codezeile in die gradle-Datei der Anwendung ein:

    compile fileTree(dir: 'libs', include: ['*.jar'])

Für Android gradle plugin 3.0 und später ist es besser, stattdessen dies zu verwenden:

    implementation fileTree(dir: 'libs', include: ['*.jar'])

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X