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?

1558voto

lepoetemaudit Punkte 17528

Ich kämpfe seit vielen Stunden mit demselben Problem und versuche, das Gson-Gefäß zum Laufen zu bringen. Ich habe es endlich geknackt - hier sind die Schritte, die ich nahm:

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

  2. Klicken Sie mit der rechten Maustaste darauf und wählen Sie "Als Bibliothek hinzufügen".

  3. Sicherstellen, dass compile files('libs/gson-2.2.4.jar') ist in Ihrem build.gradle Datei (oder compile fileTree(dir: 'libs', include: '*.jar') wenn Sie viele jar-Dateien verwenden)

    Bearbeiten : Verwenden implementation files('libs/gson-2.2.4.jar') (o implementation fileTree(dir: 'libs', include: '*.jar') ) in Android Studio 3.0+

  4. Führen Sie einen sauberen Build durch (Sie können dies wahrscheinlich problemlos in Android Studio tun, aber um sicherzugehen, navigierte ich in einem Terminal zum Root-Ordner meiner App und tippte gradlew clean . Ich arbeite mit Mac OS X, der Befehl könnte auf Ihrem System anders lauten

Nachdem ich die vier oben genannten Schritte durchgeführt hatte, funktionierte es einwandfrei. Ich denke, der Schritt "Als Bibliothek hinzufügen" war derjenige, den ich zuvor übersehen hatte, und er funktionierte auch nicht, bis ich ihn bereinigt hatte.

[Bearbeiten - hinzugefügt die build.gradle Schritt, der auch notwendig ist, wie andere gesagt haben]

279voto

ZenBalance Punkte 9707

Im Folgenden finden Sie die Anweisungen zum Hinzufügen einer lokalen Jar-Datei als Bibliothek zu einem Modul:

  1. Erstellen Sie einen "libs"-Ordner auf der obersten Ebene des Modulverzeichnisses (das gleiche Verzeichnis, das das "src"-Verzeichnis enthält)

  2. In der build.gradle file fügen Sie Folgendes hinzu, damit Ihre Abhängigkeitsschließung Folgendes hat:

    dependencies {
        // ... other dependencies
        compile files('libs/<your jar's name here>')
    }
  3. Android Studio sollte bereits einen gradlew-Wrapper eingerichtet haben. Navigieren Sie von der Kommandozeile aus zur obersten Ebene Ihres Projekts (das Verzeichnis, das eine gradlew Datei).

    Laufen lassen ./gradlew assemble . Dies sollte das Projekt mit der Bibliothek kompilieren. Eventuell müssen Sie die Fehler in Ihrer build.gradle-Datei korrigieren, falls erforderlich.

  4. Damit Android Studio die lokalen jar-Dateien als Bibliotheken erkennt, die beim Programmieren in der IDE unterstützt werden, müssen Sie einige weitere Schritte unternehmen:

    4.1. Klicken Sie mit der rechten Maustaste auf das Modul im linken Fenster und wählen Sie Open Library Settings .

    4.2. Wählen Sie im linken Bereich des Dialogs Libraries .

    4.3. Klicken Sie auf die + Zeichen über der Tafel, die zweite von links -> Java

    Menu

    4.4. Wählen Sie Ihr lokales Jar aus und fügen Sie es dem Projekt hinzu.

  5. Möglicherweise müssen Sie die oben genannten ./gradlew ein weiteres Mal den Befehl

113voto

Ganesh Pandey Punkte 5206

In dem Projekt Rechtsklick

-> new -> module
-> import jar/AAR package
-> import select the jar file to import
-> click ok -> done

Folgen Sie den unten stehenden Screenshots:

1:

Step 1

2:

enter image description here

3:

enter image description here

Das werden Sie sehen:

enter image description here

49voto

saneryee Punkte 2991

In Android Stuido, Ich mag Gradle verwenden, um Gson lib verwalten.

Fügen Sie die folgende Abhängigkeit in Ihre build.gradle-Datei ein.

repositories {mavenCentral()}

dependencies {compile 'com.google.code.gson:gson:2.2.4'}

Alles ist in Ordnung.

Sie können auch diesen Beitrag sehen. Der beste Weg, um Bibliotheken von Drittanbietern in Android Studio zu integrieren

49voto

Jukurrpa Punkte 3908

IIRC, einfach mit "Als Bibliothek hinzufügen" ist nicht genug für es mit dem Projekt zu kompilieren.

Siehe Intellijs Hilfe über das Hinzufügen von Bibliotheken zu einem Projekt

Der Teil, der Sie am meisten interessieren sollte, ist dieser:

(In File > Project Structure ) Öffnen Sie die Moduleinstellungen und wählen Sie die Registerkarte "Abhängigkeiten".

Klicken Sie auf der Registerkarte Abhängigkeiten auf Hinzufügen und wählen Sie Bibliothek.

Wählen Sie im Dialogfeld Bibliotheken auswählen eine oder mehrere Bibliotheken aus und klicken Sie auf Ausgewählte hinzufügen.

Wenn die Bibliothek nicht im Dialogfeld angezeigt wird, fügen Sie sie in den Einstellungen für Bibliotheken hinzu, direkt unter Module.

Sie sollten nicht mehr hinzufügen müssen compile files() und die Bibliothek sollte nun ordnungsgemäß zu Ihrem Projekt hinzugefügt werden.

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