332 Stimmen

Wie kann ich externe JARs in einem Android-Projekt verwenden?

Ich habe ein Android-Projekt erstellt und eine externe JAR-Datei (hessian-4.0.1.jar) zu meinem Projekt hinzugefügt. Dann habe ich das JAR zum Build-Pfad hinzugefügt und es in Order and Export abgehakt.

Order und Export werden anscheinend ignoriert, und alle Klassen aus dem externen JAR fehlen zur Laufzeit.

Gibt es einen Trick, um die benötigten Klassen aus einem externen JAR beim Erstellen einer Android-Anwendung mit dem Eclipse-Plugin richtig einzubinden? Ich möchte weder Ant noch Maven verwenden.

445voto

Vinayak Bevinakatti Punkte 39533

Für Eclipse

Eine gute Möglichkeit, externe JARs zu Ihrem Android-Projekt oder einem anderen Java-Projekt hinzuzufügen, ist:

  1. Erstellen Sie einen Ordner namens libs im Root-Ordner Ihres Projekts
  2. Kopieren Sie Ihr JAR-Dateien in den libs Ordner
  3. Jetzt Klicken Sie mit der rechten Maustaste auf die Jar-Datei und wählen Sie dann Build Path > Add to Build Pfad die einen Ordner namens 'Referenzierte Bibliotheken' innerhalb Ihres Projekt

    Auf diese Weise, du wirst nicht Ihre Bibliotheken verlieren die auf Ihrer Website referenziert werden Festplatte referenziert werden, wenn Sie Ihr Projekt auf einen anderen Computer übertragen.

Für Android Studio

  1. Wenn Sie in アンドロイド Ansicht im Projekt-Explorer, ändern Sie es in Projekt Ansicht wie unten

Missing Image

  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 und benennen Sie es als ' 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 como Dateien kompilieren('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 transitive Abhängigkeiten wobei das Gradle-Skript 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

127voto

MannyNS Punkte 4693

Ja, Sie können es verwenden. So geht's:

  1. Ihr Projekt -> Rechtsklick -> Importieren -> Dateisystem -> yourjar.jar
  2. Ihr Projekt -> Rechtsklick -> Eigenschaften -> Java Build Path -> Bibliotheken -> Jar hinzufügen -> yourjar.jar

Este Video könnte nützlich sein, falls Sie Probleme haben.

6voto

shanabus Punkte 12764

Ich weiß, dass die Frage des Auftraggebers mit einem Verweis auf das Eclipse-Plugin endet, aber ich bin mit einer Suche hierher gekommen, bei der Eclipse nicht angegeben war. Also hier geht für Android Studio:

  1. hinzufügen jar Datei in das libs-Verzeichnis (z. B. durch Kopieren/Einfügen)
  2. Rechts-Klick auf jar und wählen Sie "Als Bibliothek hinzufügen...".
  3. Klicken Sie im nächsten Dialog auf "Ok" oder benennen Sie die Datei um, wenn Sie das möchten.

Das war's!

5voto

Ich verwende derzeit SDK 20.0.3 und keine der vorherigen Lösungen hat bei mir funktioniert.

Der Grund dafür, dass hessdroid funktioniert, wo hess versagt hat, ist, dass die beiden jar-Dateien Java enthalten, das für unterschiedliche virtuelle Maschinen kompiliert wurde. Der vom Java-Compiler erstellte Bytecode ist nicht garantiert auf der virtuellen Maschine Dalvik lauffähig. Der vom Android-Compiler erstellte Bytecode ist nicht garantiert auf der virtuellen Java-Maschine lauffähig.

In meinem Fall hatte ich Zugriff auf den Quellcode und konnte mit der hier beschriebenen Methode eine Android jar-Datei erstellen: https://stackoverflow.com/a/13144382/545064

4voto

Es stellt sich heraus, dass ich meinen Stack-Trace nicht gut genug betrachtet habe, das Problem ist nicht, dass die externe JAR nicht enthalten ist.

Das Problem ist, dass auf der Android-Plattform javax.naming.* und viele andere Pakete fehlen, auf die das externe JAR ebenfalls angewiesen ist.

Das Hinzufügen externer JAR-Dateien und das Einstellen von Order und Export in Eclipse funktioniert bei Android-Projekten wie erwartet.

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