So fügen Sie ein Glas in externen Bibliotheken in Android Studio


Antworten:


316

Eine späte Antwort, obwohl ich daran dachte, diese Frage ausführlich zu beantworten. Diese Methode eignet sich für Android Studio 1.0.0 und höher.


SCHRITTE


  1. Wechseln Sie zuerst Ihre Ordnerstruktur von Android zu Project .

Geben Sie hier die Bildbeschreibung ein

  1. Suchen Sie nun im Ordner app - build nach dem Ordner libs .

Geben Sie hier die Bildbeschreibung ein

  1. Sobald Sie die .jar-Datei in den libs-Ordner eingefügt haben. Klicken Sie mit der rechten Maustaste auf die JAR-Datei und klicken Sie am Ende auf Als Bibliothek hinzufügen . Dadurch wird das Hinzufügen von Kompilierungsdateien ('libs / library_name.jar') in build.gradle sichergestellt. [Sie müssen dies nicht manuell in Ihre Build-Datei eingeben].

Geben Sie hier die Bildbeschreibung ein

Jetzt können Sie die Bibliothek in Ihrem Projekt verwenden.


3
Ich erhalte nicht die Option Als Bibliothek
hinzufügen

3
Ja, ich habe festgestellt, dass diese Option jetzt nicht angezeigt wird, wenn sie bereits hinzugefügt wurde.
Shylendra Madda

Perfekt behoben mein Problem
DIRTY DAVE

138

Fügen Sie Ihre JAR-Datei dem Ordner hinzu app/libs. Klicken Sie dann mit der rechten Maustaste auf die JAR-Datei und klicken Sie auf "Als Bibliothek hinzufügen".

Wenn kein libsOrdner vorhanden ist , können Sie ihn erstellen. Klicken Sie auf das Kombinationsfeld "Android" und ändern Sie es in "Projekt".

Geben Sie hier die Bildbeschreibung ein

Von hier aus können Sie mit der rechten Maustaste auf "Apps" in der Verzeichnisstruktur klicken und zu "Neu" => "Verzeichnis" gehen.


36
Wenn Sie keinen lib-Ordner finden können, klicken Sie einfach auf die Combobox mit der Aufschrift "android" und wählen Sie "Project". (
Diese

2
Sie können dann Ihr Projekt erweitern, um den Ordner "libs" zu finden, oder mit der rechten Maustaste auf Ihr Projekt klicken und ein neues Verzeichnis erstellen. Anschließend können Sie die JAR-Datei für Ihre Bibliothek mit Ihrem OS-Dateimanager in dieses Verzeichnis verschieben. (Danke, @reversiblean für den Einstieg!)
Richard

+1 für den Kommentar von @ reversiblean - Die Standardansicht ist "Projektdateien", nicht "Projekt". In dieser Ansicht wird der Ordner "app / libs" nicht angezeigt, aber Sie können ihn auch nicht erstellen.
Jules

4
Ich bekomme nicht die Option Als Bibliothek
hinzufügen

1
@ Thinsky Ja, ich habe festgestellt, dass diese Option jetzt nicht angezeigt wird, wenn sie bereits hinzugefügt wurde.
Shylendra Madda

63

Fügen Sie Ihre JAR in app / libs ein und fügen Sie in app / build.gradle Folgendes hinzu dependencies:

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


kann ich einen anderen / meinen eigenen Pfad wie "values ​​\ my_folder \ myjar.jar" wählen ??? weil ich am Quellcode von Android Studio arbeite.
Sanket Prabhu

Sie müssen nur den Wert von 'dir' ändern (ersetzen Sie also 'libs' durch alles, was Sie brauchen).
Gaëtan

1
Kompilieren ist veraltet
Deepak Samuel Rajan

1
Ja, Deepak ist korrekt - 'Kompilieren' ist veraltet ... also ersetzen Sie es einfach durch 'Implementierung' und es sollte gut funktionieren.
Mark

40

Erstellen Sie den Ordner "libs" im App-Verzeichnis. Kopieren Sie Ihre JAR-Datei in den Ordner "libs". Klicken Sie mit der rechten Maustaste auf Ihre JAR-Datei in Android Studio und fügen Sie sie als Bibliothek hinzu. Öffnen Sie dann build.gradle und fügen Sie Folgendes hinzu:

dependencies {
    implementation files('libs/your jar file.jar')
}

1
Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
Michael

20

Schritt 1: Laden Sie eine beliebige JAR-Datei für Ihr Projekt herunter.Geben Sie hier die Bildbeschreibung ein

Schritt 2: Kopieren Sie die JAR-Datei und fügen Sie sie in den libs-Ordner ein.

Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein

Schritt 3: Klicken Sie auf Datei> Projektstruktur> App auswählen> Abhängigkeiten

Geben Sie hier die Bildbeschreibung ein

Schritt 4:

Geben Sie hier die Bildbeschreibung ein

Schritt 5:

Geben Sie hier die Bildbeschreibung ein

Schritt 6: Nachdem Sie auf OK geklickt haben, können Sie sehen, wie die Abhängigkeiten folgendermaßen hinzugefügt werden:

Geben Sie hier die Bildbeschreibung ein


13

Beispiel mit Parseglas ...

Fügen Sie in der Projektansicht Gläser zum libs-Ordner hinzu. Erstellen Sie einen lib-Ordner, falls dieser nicht vorhanden ist

Geben Sie hier die Bildbeschreibung ein

Kopieren Sie alle Gläser dort ...

Fügen Sie Bibliotheken zu gradle hinzu .... in der Datei build.gradle:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile 'com.android.support:design:23.0.0'
    compile 'com.android.support:percent:23.0.0'
    compile 'com.parse.bolts:bolts-android:1.+'
    compile fileTree(dir: 'libs', include: 'Parse-*.jar’)
}

Um alle Gläser des lib-Ordners hinzuzufügen, ändern Sie Parse - *. Jar in * .jar


11

So können Sie .jarDateien in Android Studio 2.1.3 hinzufügen .

  1. Kopieren Sie die JAR-Datei JAR-Datei kopieren Screenshot

  2. Fügen Sie die Datei in den Ordner Libs ein, klicken Sie mit der rechten Maustaste auf die JAR-Datei und drücken Sie Add as library Geben Sie hier die Bildbeschreibung ein

  3. Öffnen Sie build.gradle Geben Sie hier die Bildbeschreibung ein

  4. Fügen Sie Zeilen unter Abhängigkeiten hinzu, wie im Screenshot gezeigt Geben Sie hier die Bildbeschreibung einGeben Sie hier die Bildbeschreibung ein

  5. Drücken Sie nun die Wiedergabetaste und Sie sind mit dem Hinzufügen der JAR-Datei fertig Geben Sie hier die Bildbeschreibung ein


(Zumindest mit AS 2.3) Sie können die Schritte 3 und 4 überspringen. AS fügt die JAR automatisch zu Ihren build.gradle-Abhängigkeiten hinzu.
Wing Poon

2
Überspringen Sie die Schritte 3 und 4, öffnen Sie dann Datei-> Projektstruktur-> App-> Abhängigkeiten-> klicken Sie auf + -> JAR-Abhängigkeiten und wählen Sie JAR-Datei. seine Arbeit für mich
Jhohannes Purba

3

Der GUI-basierte Ansatz besteht darin, Ihrem Projekt ein zusätzliches Modul hinzuzufügen.

  1. Wählen Sie im Menü Datei die Option Projektstruktur und klicken Sie oben links auf das grüne Plus-Symbol.
  2. Das neue Modul-Dialogfeld wird angezeigt
  3. Wählen Sie in der Anwendungsgruppe Telefon und Tablet die Option "JAR- oder AAR-Paket importieren" und klicken Sie auf "Weiter".
  4. Befolgen Sie die Schritte, um ein neues Modul zu erstellen, das Ihre JAR-Datei enthält.
  5. Klicken Sie auf den Eintrag, der Ihrem Hauptprojekt entspricht, und wählen Sie die Registerkarte Abhängigkeiten.
  6. Fügen Sie dem Modul, das Sie in Schritt 4 erstellt haben, eine Abhängigkeit hinzu.

Ein letzter Ratschlag. Stellen Sie sicher, dass die von Ihnen eingeschlossene JAR-Datei mit höchstens JDK 1.7 erstellt wurde . Viele Probleme im Zusammenhang mit der Fehlermeldung "com.android.dx.cf.iface.ParseException: Magie der schlechten Klassendatei (Cafebabe) oder Version (0034.0000)" wurzeln direkt in dieser: 0.


Bestätigen Sie, dass dieser Ansatz besser ist als der Ordneransatz "copy-jar-to-libs", wie andere Antworten sagen?
Eido95

@ Eido95 So habe ich es 2015 gemacht. Ich erinnere mich, dass ich versucht habe, JSON-Parsing in eine Android-Anwendung aufzunehmen, und genau das hat funktioniert.
Thanassis

Welchen Ansatz empfehlen Sie, den ich Ihrer Meinung nach für eine einfache externe JAR-Addition verwenden sollte?
Eido95

3

Eine einfache Möglichkeit, Jar-Datei hinzuzufügen Android Studio Schritte:

  1. Kopieren Sie Ihre JAR-Datei und fügen Sie sie in den libs-Ordner Ihres Projekts ein.
  2. Klicken Sie im Menü Datei auf Datei -> Projektstruktur (STRG + UMSCHALT + ALT + S unter Windows / Linux, ⌘ +; unter Mac OS X).
  3. Wählen Sie im linken Bereich Module -> Registerkarte Abhängigkeiten.
  4. Hinzufügen ... → Projektbibliothek → Glas anhängen.

3

Wenn jemand nach einer anderen Lösung sucht, ohne die JAR-Datei (en) tatsächlich in das Projektverzeichnis zu kopieren, z. B. wenn ein JAR in mehreren Projekten verwendet wird:

Öffnen Sie build.gradle und fügen Sie hinzu

def myJarFolder = 'C:/Path/To/My/Jars'

[...]

dependencies {
    [...]
    compile fileTree(dir: myJarFolder + '/jar/Sub/Folder/1', include: ['*.jar'])
    compile fileTree(dir: myJarFolder + '/jar/Sub/Folder/2', include: ['*.jar'])
    [...]
}

Beachten Sie, dass Sie die Variable myJarFolder natürlich nicht verwenden müssen , ich finde sie jedoch nützlich. Der Pfad kann auch relativ sein, z . B. ../../Path/To/My/Jars .
Getestet mit AndroidStudio 3.0

Update: Verwenden Sie für Gradle Plugin> 3.0 die Implementierung anstelle des Kompilierens :

dependencies {
        [...]
        implementation fileTree(dir: myJarFolder + '/jar/Sub/Folder/1', include: ['*.jar'])
        implementation fileTree(dir: myJarFolder + '/jar/Sub/Folder/2', include: ['*.jar'])
        [...]
    }

Ich habe ein Problem damit. Ich mache es als Bibliothek und die App, die von der Bibliothek abhängt, läuft in NoClassDefFoundError. Ich bekomme auch viele Fehler, weil ich die Klasse für Desugaring nicht finden kann
Tricknologie

3

In Android Studio Version 3.0 oder höher habe ich unten Folgendes verwendet:

  1. Erstellen Sie Bibliotheken im App-Verzeichnis, falls nicht vorhanden
    • Zum Projekt gehen
    • Gehe zur App
    • Klicken Sie auf Apps-> Neu-> Verzeichnis
    • benannte den Ordner libs
    • Fügen Sie das Glas in den Ordner libs ein
    • Bild wird aussehen wie Geben Sie hier die Bildbeschreibung ein

2. Fügen Sie in build.gradle Balglinien hinzu

implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation files('libs/com.ibm.icu_3.4.4.1.jar')

1

Wenn die Option "Als Bibliothek hinzufügen" nicht angezeigt wird, stellen Sie sicher, dass Sie Ihre Datei extrahieren (entpacken), damit Sie sie haben mail.jarund nicht mail.zip.

Klicken Sie dann mit der rechten Maustaste auf Ihre Datei, und Sie sehen die Option "Als Bibliothek hinzufügen".


1

Bitte geben Sie den Speicherort der JAR-Datei in build.gradle an

implementation fileTree(dir: '<DirName>', include: ['*.jar'])

Beispiel:

implementation fileTree(dir: 'C:\Downloads', include: ['*.jar'])

So fügen Sie eine einzelne JAR-Datei hinzu

implementation files('libs/foo.jar')

Hinweis: Die Kompilierung ist im neuesten Gradle veraltet. Verwenden Sie daher stattdessen die Implementierung.


0

Die "offizielle Möglichkeit", ein JAR als externe Bibliothek in Ihr Android-Projekt einzufügen , besteht darin, das JAR im Abschnitt " Abhängigkeiten {} " in build.gradle hinzuzufügen .

Wenn Sie alle oben genannten Schritte ausgeführt haben und keiner der oben genannten Schritte funktioniert, gibt es zwei weitere Möglichkeiten:

  1. Wenn Android Studio oder eine andere IDE im Editor keine rot unterstrichenen Fehler liefert, sondern im Java Compiler fehlerhaft ausgeführt wird, PRÜFEN SIE IHR JAR . In Ihrem JAR ist möglicherweise kein richtiges Manifest enthalten, daher weiß der Compiler nicht, was das JAR bereitstellen kann / weiß nicht, wie der Paketname lautet
  2. Vielleicht ist die Ordnerstruktur durcheinander. Die Ordnerstruktur stimmt nicht mit dem Paketnamen überein. package a.b.c;sollte mit Ordner a> Ordner b> Ordner c übereinstimmen.
  3. Der Paketname weist einen Konflikt auf. (Vertrau mir, das ist mir passiert und es hat Stunden gedauert, es herauszufinden.)

Wenn Sie sich jedoch für Cordova entscheiden , finden Sie hier einige Tipps zum Hinzufügen externer Gläser.

" build-extras.gradle " ist der bessere Weg, um Ihre Gradle-Datei zu verwalten.

Hier sind die Schritte zum Verwalten zusätzlicher Einstellungen in einem Cordova-basierten Android-Projekt:

  1. Hinzufügen Ihres Glases zu build-extras.gradle:
    //Other settings go here, e.g.: buildscript { ... }
    ext.postBuildExtras = {
    // you may have some other settings, e.g.: android { ... }
            dependencies {
                    compile files('libs/abc.jar')
            }
    }

(Detailliertere Schritte hier: Erweitern der Cordova Gradle-Datei um Google-Dienste )

  1. Führen Sie im Terminal Folgendes aus:

cordova build android

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.