Hinzufügen einer externen Bibliothek in Android Studio

119

Ich möchte meiner Android-Anwendung eine externe Bibliothek https://github.com/foursquare/foursquare-android-oauth hinzufügen (ich verwende Android Studio, die Anweisungen von lib author für Eclipse funktionierten nicht für Android Studio).

Ich habe versucht, dies mit maven zu tun, also habe ich unter Datei-> Projektstruktur-> Abhängigkeiten hinzugefügt, com.foursquare:foursquare-android-nativeoauth-lib:1.0.0aber Gradle Sync schlägt fehl:

Error:Failed to find: com.foursquare:foursquare-android-nativeoauth-lib:1.0.0

Wenn ich versuche, meine App zu erstellen (ohne den obigen Fehler zu beheben, weil ich nicht weiß wie), erhalte ich:

Error:A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugCompile'.
> Could not resolve com.foursquare:foursquare-android-nativeoauth-lib:1.0.0.
 Required by:
    ForSquaresOnly:app:unspecified
   > Could not parse POM http://jcenter.bintray.com/com/foursquare/foursquare-android-nativeoauth-lib/1.0.0/foursquare-android-nativeoauth-lib-1.0.0.pom
     > Could not find any version that matches com.foursquare:parent:1.0.0.

Gibt es eine andere Möglichkeit, diese Bibliothek zu importieren? Ich kann einfach Quellcode kopieren, in meine Quelle einfügen oder daraus JAR erstellen.

Übrigens: Wenn Sie auf Probleme stoßen, sehen Sie diese Frage (ich hatte dieses Problem nach dem Import): Manifest-Fusion fehlgeschlagen: used-sdk: minSdkVersion 14

Marian Paździoch
quelle
1
Dies sollte Ihnen helfen, stackoverflow.com/questions/16588064/… androidsx.com/…
jackgris

Antworten:

96

Versuche dies:

File> Project Structure> Dependencies Tab> Add module dependency( scope = compile)

Wo die Modulabhängigkeit der Android-Ordner der Projektbibliothek ist.

malcubierre
quelle
2
Ich weiß es aus Erfahrung und Inspektion ... Aber es sind Dokumente verfügbar: developer.android.com/sdk/installing/studio-build.html
malcubierre
26
Wie kann man das OHNE Kopieren machen? Die Bibliothek wird von anderen Nicht-Android-Projekten verwendet und regelmäßig aktualisiert. Wenn die Quelle kopiert wird, werden Änderungen am Original nicht angezeigt. Ist das nicht dumm?
Brian Reinhold
1
Wo ist die Option Projektstruktur?
Zulkarnain Shah
2
Ass Modul Abhängigkeit gefunden, aber dann bekam ich Dialog "Module auswählen \ nWählen Sie die Module, von denen das aktuelle Modul abhängen soll: \ nNichts zu zeigen \ n [Ok] [Abbrechen]". Heruntergeladene Bibliothek kann nicht ausgewählt werden.
David162795
1
Ich habe auf diese Weise eine externe Bibliothek hinzugefügt und die Fehlermeldung "Abhängigkeit für ': app @ buildTypeUnitTest / compileClasspath' konnte nicht aufgelöst werden: Projekt: zip_file konnte nicht aufgelöst werden." Der generierte Code in Abhängigkeit lautet "Implementierungsprojekt (": zip_file "). Außerdem verwende ich 'com.android.tools.build:gradle:3.2.0-rc03' und https \: //services.gradle.org/distributions/gradle-4.6-all.zip
Nikola
208

Versuchen Sie einen dieser Ansätze:

Ansatz 1)

1- Wählen Sie die Projektansicht

Geben Sie hier die Bildbeschreibung ein

2- Kopieren Sie Ihre JAR-Datei in den Ordner app -> lib

Geben Sie hier die Bildbeschreibung ein

3- Klicken Sie mit der rechten Maustaste auf Ihre JAR-Datei und wählen Sie Als Bibliothek hinzufügen

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

4- Überprüfen Sie es in build.gradle

Geben Sie hier die Bildbeschreibung ein


Ansatz 2)

1- Datei -> Neu -> Neues Modul

Geben Sie hier die Bildbeschreibung ein

2- Importieren Sie das .JAR / .AAR-Paket

Geben Sie hier die Bildbeschreibung ein

3- Durchsuchen Sie Ihre JAR-Datei

Geben Sie hier die Bildbeschreibung ein

4- Fertig stellen

5- Datei -> Projektstruktur -> Abhängigkeiten

Geben Sie hier die Bildbeschreibung ein

6- Sie sollten auf die Schaltfläche + und dann auf Modulabhängigkeit klicken

Geben Sie hier die Bildbeschreibung ein

7- Hier sehen Sie Ihre Bibliothek

Geben Sie hier die Bildbeschreibung ein

8- Wählen Sie Ihre Bibliothek und klicken Sie auf OK

Geben Sie hier die Bildbeschreibung ein

9- Dann sehen Sie, dass Ihre Bibliothek hinzugefügt wurde.

Geben Sie hier die Bildbeschreibung ein


Für die ersten beiden Ansätze benötigen Sie eine JAR-Datei. Sie können http://search.maven.org/ durchsuchen , um JAR-Dateien zu finden, die sich auf Android beziehen. Dies ist beispielsweise das Suchergebnis für jdom in diesem Link

Suchergebnis für jdom


Ansatz 3) Android verwendet http://jcenter.bintray.com/ als Remote-Bibliothek. Dies ist beispielsweise das Suchergebnis für jdom im Link.

jcenter jdom

Gehen Sie folgendermaßen vor, um eine Bibliothek in diesem Ansatz hinzuzufügen:

1- Datei -> Projektstruktur -> Abhängigkeiten

Geben Sie hier die Bildbeschreibung ein

2- Klicken Sie auf die Schaltfläche + und wählen Sie die Bibliotheksabhängigkeit

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

3- Suchen Sie Ihre Bibliothek, wählen Sie sie aus und klicken Sie auf OK.


Ich hoffe, es hilft.

Mohammad
quelle
13
Beste Antwort in allen Stapelüberlauf
mizerablebr
1
Ich freue mich, dass Sie meine Antwort hilfreich finden. Ich freue mich sehr über Ihr Feedback.
Mohammad
1
Ansatz 2 funktioniert für mich. Danke für die Illustrationen :)
Hichem Acher
1
Gern geschehen. Ich bin froh, dass dieser Beitrag Ihnen geholfen hat.
Mohammad
Ich danke dir sehr!!
Vinoth Vino
28

Um auf ein externes lib-Projekt ohne Kopie zu verweisen, gehen Sie wie folgt vor: - Fügen Sie diese 2 Zeilen ein in setting.gradle:

  include ':your-lib-name'
  project(':your-lib-name').projectDir = new File('/path-to-your-lib/your-lib-name)

Fügen Sie diese Zeile in den Abhängigkeitsteil der build.gradleDatei ein:

compile project(':your-lib-name')

Projekt synchronisieren

Pedro Santos
quelle
1
Tolle Antwort, erstellt einen Link zur Originalbibliothek, sodass Sie nicht erneut importieren müssen, wenn sich der Bibliothekscode ändert!
Diman
21

Es gibt zwei einfachste Möglichkeiten, wenn eine nicht funktioniert, versuchen Sie es mit der anderen.

  1. Fügen Sie die Abhängigkeit der Bibliothek innerhalb der Abhängigkeit innerhalb der build.gradleDatei der Bibliothek hinzu, die Sie verwenden, und fügen Sie Ihre Bibliothek in externe Bibliotheken ein.

ODER

  1. Gehen Sie einfach zu Ihrem libsOrdner innerhalb des appOrdners und fügen Sie dort alle Ihre .jarzB Bibliotheksdateien ein. Der Trick hier ist nun, dass Sie jetzt in die settings.gradleDatei gehen und diese Zeile hinzufügen, include ':app:libs'nachdem include ':app'es definitiv funktioniert.
Sudhanshu Gaur
quelle
19

Gibt es eine andere Möglichkeit, diese Bibliothek zu importieren? Ich kann einfach Quellcode kopieren, in meine Quelle einfügen oder daraus JAR erstellen.

Führen Sie die Schritte zum Importieren einer Bibliothek in Android Studio 1.1 aus

  1. Gehe zu Datei -> Modul importieren.
  2. Quellverzeichnis -> Durchsuchen Sie den Projektpfad.
  3. Geben Sie den Modulnamen an
  4. Öffnen Sie die Datei build.gradle (Modul: App)
  5. Fügen Sie die folgende Zeile mit Ihrem Modulnamen hinzu

    Projekt kompilieren (': interner_Projektname')

Entnommen aus: Hinzufügen einer Bibliothek in Android Studio

Weiß es
quelle
8

Ich hatte mich auch diesem Problem gestellt. Damals folgte ich einigen Schritten wie:

  1. File> New> Import module> select your library_project. Dann include 'library_project'wird in der settings.gradleDatei hinzugefügt .

  2. File> Project Structure> App> Dependencies Tab> select library_project. Wenn dies library_projectnicht angezeigt wird, klicken Sie auf die +Schaltfläche und wählen Sie Ihre aus library_project.

  3. Reinigen und bauen Sie Ihr Projekt. Die folgenden Zeilen werden in Ihr App-Modul eingefügt build.gradle( Hinweis: Dies ist nicht diejenige, in der classpathdefiniert ist ).

 dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile project(':library_project')
 }
  1. Wenn diese Zeilen nicht vorhanden sind, müssen Sie sie manuell hinzufügen und Ihr Projekt bereinigen und erneut erstellen ( Ctrl + F9).

  2. Ein Ordner mit dem Namen library_projectwird in Ihrem App-Ordner erstellt.

  3. Wenn ein Fehler beim Zusammenführen von Symbolen oder Aufgaben erstellt wird, gehen Sie zu AndroidManifestDatei und fügen Sie hinzu<application tools:replace="icon,label,theme">

Ratna Halder
quelle
7

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.

capt.swag
quelle
In meinem Fall wurde bei Verwendung des ersten Ansatzes die Option "Als Bibliothek hinzufügen" in der Liste nicht angezeigt. Die zweite Option funktionierte jedoch für mich. Aber meine Frage ist, warum das Hinzufügen als Bibliotheksoption in meinem Fall nicht angezeigt wurde
Abdul Waheed
Sehr hilfreich Danke! Hinweis: Nach dem Update von Android Studio befindet sich die Schaltfläche "Als Bibliothek hinzufügen" nicht mehr am Ende der Liste. Es ist jetzt ungefähr 5. von unten.
JFreeman
7

Drei Möglichkeiten in Android Studio zum Hinzufügen einer externen Bibliothek.

  1. Wenn Sie Ihrem Projekt eine libaräre Projektabhängigkeit hinzufügen möchten:

    A. Klicken Sie im Dateimenü auf Neu und wählen Sie Importmodul. Wählen Sie den Pfad Ihres Bibliotheksprojekts und klicken Sie auf OK. Das Bibliotheksprojekt wird automatisch in Ihr Android Studio-Projekt eingefügt.

    B. Öffnen Sie nun die Gradle-Datei Ihres Hauptmoduls (wie der App) und fügen Sie die Projektabhängigkeit in den Abhängigkeiten des Abhängigkeitsabschnitts hinzu. {

    Projekt kompilieren (': Name des Bibliotheksprojekts')

  2. Wenn Sie eine JAR-Datei hinzufügen möchten: A. Fügen Sie eine JAR-Datei im libs-Ordner hinzu. B. Und Abhängigkeit hinzufügen

    compile fileTree (dir: 'libs', include: '* .jar') // füge alle JAR-Dateien aus dem libs-Ordner hinzu, wenn du ein bestimmtes JAR aus libs hinzufügen willst, füge unten die Abhängigkeit hinzu.

    Dateien kompilieren ('libs / abc.jar')

  3. Abhängigkeit von URL hinzufügen (empfohlen). mögen

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

Vinod
quelle
Hallo Vinod, kannst du bitte erklären, wie man die Abhängigkeit mit URL hinzufügt? Kann es sich auch um eine Git-URL handeln, die bei einer Änderung direkt in mein Projekt importiert wird? Ich bin ein wenig neu in dieser Entwicklung, also bitte nehmen Sie mit, wenn es eine einfache Frage ist :)
Katakam Nikhil
Hallo Nikhil, bitte lesen Sie den Artikel über Android-Abhängigkeiten, in dem ich developer.android.com/studio/build/dependencies.html
erwähne
6

Befolgen Sie für den einfachsten Weg einfach diese Schritte

  1. Gehen Sie zu File-> New-> Import Module->choose library or project folder

  2. Fügen Sie eine Bibliothek hinzu, um einen Abschnitt in die Datei settings.gradle aufzunehmen , und synchronisieren Sie das Projekt. (Danach wird in der Projektstruktur ein neuer Ordner mit dem Bibliotheksnamen angezeigt.)

    include ':mylibraryName'

  3. Gehen Sie zu Datei -> Projektstruktur -> App -> Registerkarte Abhängigkeit -> klicken Sie auf die Schaltfläche Plus

  4. Modulabhängigkeit auswählen -> Bibliothek auswählen (Ihr Bibliotheksname sollte dort angezeigt werden) und Gültigkeitsbereich festlegen (Kompilieren oder Implementierung)

  5. Fügen Sie diese Zeile in build.gradle im Modul auf App-Ebene im Abschnitt "Abhängigkeit" hinzu

    implementation project(':mylibraryName')

kunal khedkar
quelle
3

Wenn sich die benötigte Bibliothek auf GitHub befindet, ist das Hinzufügen zu Android Studio mit JitPack ganz einfach .

Schritt 1. Fügen Sie das jitpack-Repository zu build.gradle hinzu:

allprojects { 
  repositories {
    jcenter()
    maven { url "https://jitpack.io" }
  }
}

Schritt 2. Fügen Sie das GitHub-Repository als Abhängigkeit hinzu:

dependencies {
    // ...
    compile 'com.github.Username:LibraryRepo:ReleaseTag'
}

JitPack fungiert als Maven-Repository und kann ähnlich wie Maven Central verwendet werden. Das Schöne ist, dass die Betreuer die Bibliothek nicht hochladen müssen. Hinter den Kulissen überprüft JitPack den Code von GitHub und kompiliert ihn. Damit dies funktioniert, muss eine funktionierende Build-Datei im Git-Repository vorhanden sein.

Es gibt auch eine Anleitung , wie man eine Android - Bibliothek zu veröffentlichen.

Andrejs
quelle
Wird dies nicht Abhängigkeitsdateien im Projektbaum speichern?
user7860670
2

Android Studio verwendet nicht Maven, es wird verwendet Gradle, Sie können build.gradledie Route öffnen, die sein sollte: /app/build.gradleund die Gradle-Abhängigkeit hinzufügen, die auf dem Repo angezeigt wird:

Das build.gradlehat einen dependenciesAbschnitt:

dependencies {
    //here add your dependency
}

Das Repo sagt, dass Sie diese Abhängigkeit hinzufügen müssen:

compile 'com.foursquare:foursquare-android-oauth:1.0.3'

Fügen Sie nur diese Zeile zu Ihrem dependenciesOn hinzu buil.gradle, speichern Sie die Datei, und Android erstellt das Projekt neu, das ist alles

Carlos Herrera Plata
quelle
1
1.Goto File -> New -> Import Module
   2.Source Directory -> Browse the project path.
   3.Specify the Module Name  it is used for internal project reference.

Öffnen Sie die Datei build.gradle (Modul: App).

 implementation project(':library')
Soumen Das
quelle
1

Verwandeln Sie jedes Github-Projekt mit dieser Website in eine einzeilige Gradle-Implementierung

https://jitpack.io/

Beispiel: Ich brauchte dieses Projekt: https://github.com/mik3y/usb-serial-for-android

Ich habe das nur in meine Gradle-Datei eingefügt:

implementation 'com.github.mik3y:usb-serial-for-android:master-SNAPSHOT'
cagney
quelle
Du hast mich gerettet! :). Vielen Dank, vielen Dank. Mit dem Trick, den du gesagt hast, ist es so einfach! : Ich hatte fast 4 Stunden lang Probleme, bevor ich Ihre Antwort sehe! :)
Victor
0

Ich hatte das gleiche Problem. Dies geschah aufgrund der Abhängigkeit von der Kernbibliothek. Ich habe Javax verwendet. *. Dies ist, was ich getan habe, um zu beheben

Unter Datei-> Projektstruktur-> Abhängigkeiten habe ich diese als bereitgestellte Datei hinzugefügt, nicht als Kompilierung. Erstellen Sie dann das Projekt neu.

Dieses Problem begann nach dem Upgrade von Android Studio. Aber ich denke, es passiert, wenn Sie versuchen, Ihre Build-Dateien manuell zu bearbeiten.

Sudheer
quelle
0

Hinzufügen einer Bibliothek in Android Studio 2.1

Just Go to project -> then it has some android,package ,test ,project view

Ändern Sie es einfach in Projektansicht

unter app->lib folderkönnen Sie direkt kopieren, die Bibliothek einfügen und Android synchronisieren. Das ist es

Vinayak Shedgeri
quelle
Kopieren-Einfügen der Bibliothek? Es ist eine URL zu einem Github Repo
Odys
0

1) Holen Sie sich einfach Ihre Bibliothek von hier http://search.maven.org/

2) Erstellen Sie einen libs-Ordner im App-Verzeichnis

3) Fügen Sie dort Ihre Bibliothek ein

4) Klicken Sie mit der rechten Maustaste auf Ihre Bibliothek und klicken Sie auf "Als Bibliothek hinzufügen".

5) das ist alles was du tun musst!

Ich hoffe das wird dir definitiv helfen !!!!

Aditya Kumar
quelle
0

Es gibt einige Änderungen in neuem Gradle 4.1

Anstatt zu kompilieren, sollten wir die Implementierung verwenden

Implementierung 'com.android.support:appcompat-v7:26.0.0'

Vahe Gharibyan
quelle
-1
  1. Fügen Sie im Abschnitt "Repositorys" der build.gradle des Projekts Folgendes hinzu:
flatDir { dirs 'aars' } 
  1. Fügen Sie in Ihrem Abhängigkeitsabschnitt von build.gradle Folgendes hinzu:

kompiliere '[Gruppen-ID]: [Artefakt-ID]: [Version] @aar'

Ersetzen von [Gruppen-ID] usw. durch die verschiedenen lib-Attribute

  1. Erstellen Sie ein Unterverzeichnis aarsunter Ihrem Projektverzeichnis

  2. Kopieren Sie das [youlibrary].aarin das in 3. oben erstellte Unterverzeichnis.

  3. Bauen & genießen!

Ed Manners
quelle
-2

EINFACHE SCHRITTE ZUM HINZUFÜGEN EINER BIBLIOTHEK IM ANDROID STUDIO:

  1. Kopieren Sie die betreffende Datei aus einem beliebigen Ordner auf Ihrem Computer (z. B. C: /documents/xyz.jar "), rufen Sie Android Studio auf, klicken Sie mit der rechten Maustaste auf den Ordner" Projektbibliothek "und wählen Sie" Einfügen ".

  2. Klicken Sie nun mit der rechten Maustaste auf die neu hinzugefügte Bibliotheksdatei und wählen Sie die Option "Als Bibliothek hinzufügen".

GETAN

John Yepthomi
quelle