Wie füge ich ein Bibliotheksprojekt zu Android Studio hinzu?

Alexander Kulyakhtin 08/22/2017. 29 answers, 544.786 views
android android actionbarsherlock android-library android-studio android-studio

Wie füge ich ein Bibliotheksprojekt (wie Sherlock ABS) zu Android Studio hinzu ?

(Nicht zum alten ADT Eclipse-basierten Bundle, sondern zum neuen Android Studio .)

4 Comments
25 Daniel Smith 05/21/2013
Ja, das herauszufinden war viel verwirrender als es hätte sein sollen ... nicht so, wie es in der Finsternis besser war.
3 user1785900 01/19/2014
Das YouTube-Video How to Add Libraries to Android Studio erklärt den Prozess.
1 craned 10/16/2014
Wenn Sie Gradle , sehen Sie sich diese StackOverflow-Antwort an .
1 Simon 12/20/2014
Hier ist ein Video, das ich sehr nützlich fand: youtube.com/watch?v=1MyBO9z7ojk

29 Answers


froger_mcs 05/23/2017.

Update for Android Studio 1.0

Seit Android Studio 1.0 veröffentlicht wurde (und viele Versionen zwischen v1.0 und einer der ersten Versionen seit meiner letzten Antwort) haben sich einige Dinge geändert.

Meine Beschreibung konzentriert sich auf das Hinzufügen von externen Bibliotheksprojekten per Hand über Gradle-Dateien (zum besseren Verständnis des Prozesses). Wenn Sie eine Bibliothek über den Android Studio-Ersteller hinzufügen möchten, überprüfen Sie die Antwort unten mit einem visuellen Leitfaden (es gibt einige Unterschiede zwischen Android Studio 1.0 und denen von Screenshots, aber der Prozess ist sehr ähnlich).

Bevor Sie beginnen, manuell eine Bibliothek zu Ihrem Projekt hinzuzufügen, sollten Sie die externe Abhängigkeit hinzufügen. Es wird Ihre Projektstruktur nicht durcheinander bringen. Fast jede bekannte Android-Bibliothek ist in einem Maven- Repository verfügbar und ihre Installation benötigt nur eine Codezeile in der app/build.gradle Datei:

dependencies {
     compile 'com.jakewharton:butterknife:6.0.0'
} 

Adding the library

Hier ist der vollständige Prozess des Hinzufügens externer Android-Bibliothek zu unserem Projekt:

  1. Erstellen Sie ein neues Projekt über den Android Studio-Ersteller. Ich habe es HelloWorld .
  2. Hier ist die ursprüngliche Projektstruktur, die von Android Studio erstellt wurde:
HelloWorld/
      app/
           - build.gradle  // local Gradle configuration (for app only)
           ...
      - build.gradle // Global Gradle configuration (for whole project)
      - settings.gradle
      - gradle.properties
      ... 
  1. Erstellen Sie im Stammverzeichnis ( HelloWorld/ ) einen neuen Ordner: /libs in dem wir unsere externen Bibliotheken platzieren werden (dieser Schritt ist nicht erforderlich - nur um eine sauberere Projektstruktur zu erhalten).
  2. Fügen Sie Ihre Bibliothek in den neu erstellten Ordner /libs . In diesem Beispiel habe ich die PagerSlidingTabStrip-Bibliothek verwendet (einfach ZIP von GitHub herunterladen, Bibliotheksverzeichnis in "PagerSlidingTabStrip" umbenennen und kopieren). Hier ist die neue Struktur unseres Projekts:
HelloWorld/
      app/
           - build.gradle  // Local Gradle configuration (for app only)
           ...
      libs/
           PagerSlidingTabStrip/
                - build.gradle // Local Gradle configuration (for library only)
      - build.gradle // Global Gradle configuration (for whole project)
      - settings.gradle
      - gradle.properties
      ... 
  1. Bearbeiten Sie settings.gradle, indem Sie Ihre Bibliothek hinzufügen. Wenn Sie einen benutzerdefinierten Pfad wie ich verwenden, müssen Sie auch das Projektverzeichnis für unsere Bibliothek definieren. Eine ganze settings.gradle sollte wie folgt aussehen:

    include ':app', ':PagerSlidingTabStrip'
    project(':PagerSlidingTabStrip').projectDir = new File('libs/PagerSlidingTabStrip') 

5.1 Wenn der Fehler "Standardkonfiguration" auftritt, versuchen Sie dies anstelle von Schritt 5,

include ':app'
    include ':libs:PagerSlidingTabStrip' 
  1. In app/build.gradle fügen Sie unser Bibliotheksprojekt als Abhängigkeit hinzu:

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:21.0.3'
        compile project(":PagerSlidingTabStrip")
    } 

6.1. Wenn Sie Schritt 5.1 gefolgt sind, dann folgen Sie diesem anstelle von 6,

dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:21.0.3'

        compile project(":libs:PagerSlidingTabStrip")
    } 
  1. Wenn Ihr Bibliotheksprojekt keine build.gradle Datei hat, müssen Sie sie manuell erstellen. Hier ist ein Beispiel für diese Datei:

    apply plugin: 'com.android.library'
    
        dependencies {
            compile 'com.android.support:support-v4:21.0.3'
        }
    
        android {
            compileSdkVersion 21
            buildToolsVersion "21.1.2"
    
            defaultConfig {
                minSdkVersion 14
                targetSdkVersion 21
            }
    
            sourceSets {
                main {
                    manifest.srcFile 'AndroidManifest.xml'
                    java.srcDirs = ['src']
                    res.srcDirs = ['res']
                }
            }
        } 
  2. Zusätzlich können Sie eine globale Konfiguration für Ihr Projekt erstellen, die SDK-Versionen und Build-Tools-Version für jedes Modul enthält, um Konsistenz zu gewährleisten. Bearbeiten Sie gradle.properties Datei gradle.properties und fügen Sie Zeilen hinzu:

    ANDROID_BUILD_MIN_SDK_VERSION=14
    ANDROID_BUILD_TARGET_SDK_VERSION=21
    ANDROID_BUILD_TOOLS_VERSION=21.1.3
    ANDROID_BUILD_SDK_VERSION=21 

    Jetzt können Sie es in Ihren build.gradle Dateien (in build.gradle und Bibliotheken-Modulen) wie build.gradle verwenden:

    //...
    android {
        compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)
        buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION
    
        defaultConfig {
            minSdkVersion Integer.parseInt(project.ANDROID_BUILD_MIN_SDK_VERSION)
            targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION)
        }
    }
    //... 
  3. Das ist alles. Klicken Sie einfach auf, um das Projekt mit dem Gradle-Symbol zu synchronisieren mit Gradle synchronisieren . Ihre Bibliothek sollte in Ihrem Projekt verfügbar sein.

Google I / O 2013 - Das neue Android SDK Build System ist eine großartige Präsentation zum Erstellen von Android-Apps mit Gradle Build System: Wie Xavier Ducrohet sagte:

In Android Studio geht es um das Bearbeiten, Debuggen und Profiling. Es geht nicht darum, mehr zu bauen.

Am Anfang mag es etwas verwirrend sein (besonders für diejenigen, die mit Eclipse arbeiten und die Ameise nie gesehen haben - wie ich;)), aber am Ende gibt Gradle uns einige großartige Möglichkeiten und es lohnt sich, dieses Build-System zu lernen.

5 comments
6 victor n. 05/24/2013
Hey, du hast das wahre Problem perfekt erklärt. Wählen Sie Ihre Antwort, damit andere es sehen können. Eine kleine Sache, die auf meiner Seite nicht funktioniert hat, ist die Unterstützung der Bibliothek in der Abhängigkeit build.gradle. wie sich herausstellt: 'Project / libs' hat aus irgendeinem Grund nicht funktioniert. Ich musste die Projektidentifikation abschaffen. so 'libs / ...'. und es hat gut zusammengestellt. Eine Anmerkung ist, dass diese beiden Arten der Bezugnahme auf Pfade oder Projekte verwirrend sind. Ich hoffe, dass ein einfaches und einheitliches Schema in der Zukunft entsteht. Es gibt keinen Grund, warum die ursprüngliche Lösung nicht funktionieren würde.
9 Akbar ibrahim 05/24/2013
+1. Kämpfte lange damit. Wie der victor n gesagt hat, funktioniert das Referenzieren des Hauptprojekts mit dem Support-Action-Modul nicht. Ich musste Folgendes tun, damit es funktionierte ... (1) Entferne Kompilierdateien ('libs / android-support-v4.jar') aus dem build.gradle des Projekts. Das Hauptmodul sollte nur das Projekt kompilieren (": libraries: actionbarsherlock") . (2) Fügen Sie Kompilierungsdateien ('libs / android-support-v4.jar') anstelle von Kompilierdateien (': HelloWorld / libs / android-support-v4.jar') in actionbarsherlocks build.gradle hinzu.
8 alicanbatur 11/07/2013
Warum habe ich nicht den Abschnitt "Modul importieren" an der Stelle, an die Sie uns leiten? Ich verwende Android Studio 0.3.1
5 amalBit 02/08/2014
Import Modul Option fehlt !!
147 Kyle Gobel 10/19/2014
Warum ist das so verdammt verwirrend ?!

Sam Rad 07/01/2016.

Hier ist der visuelle Leitfaden:

Update für Android Studio 0.8.2:

In Android Studio 0.8.2, gehen Sie zu Project Structure -> unter Modules actionbarsherlock einfach auf die Plus-Schaltfläche und wählen Sie Import Existing Project und importieren Sie actionbarsherlock . Synchronisieren Sie dann Ihre Gradle-Dateien.

Wenn Sie mit dem Fehler konfrontiert werden

Fehler: Die SDK Build Tools-Revision (xx.xx) ist zu niedrig. Minimum erforderlich ist yy.yy

Öffnen Sie build.gradle Datei build.gradle im actionbarsherlock Verzeichnis und aktualisieren Sie die buildToolsVersion auf die vorgeschlagene.

android {
  compileSdkVersion 19
  buildToolsVersion 'yy.y.y' 

Android Studio 0.8.2


Menü File -> Project Structure... :

Zuerst

Module -> Import Module

Zweite

Wählen Sie nach dem Import des Bibliotheksmoduls your Projektmodul aus und fügen Sie die Abhängigkeit hinzu:

Dritte

Und dann wähle das imported module :

Fort

5 comments
29 amalBit 02/08/2014
Modul importieren Option nicht verfügbar in Android Studio4.3
3 toobsco42 08/25/2014
Der Schlüssel für mich, dies zu machen und das Paket nicht gefundene Fehler aufzulösen, war der Schritt Select your project module and add dependency dependencies { // ... compile project(':library') }
6 Rémy DAVID 10/06/2014
Dadurch wird das Bibliotheksmodul in Ihr Projekt kopiert. Dies ist nicht das, was Sie möchten, wenn Sie eine gemeinsame Codebasis für mehrere Projekte wünschen
CCJ 11/13/2015
@amalBit sind ... bist du aus der Zukunft? Aber im Ernst, sie müssen das so einfach machen wie in Eclipse ADT; Wer möchte ein Repo eines Drittanbieters knacken und (potenziell) beliebigen Code in jeden Build kompilieren? Dies untergräbt QA und Code-Freeze-Protokolle ernsthaft
amalBit 11/17/2015
Es war weit zurück während Betatagen von Android Studio 0.4.3. Wie für den Beitritt 3rd Party Repo, ID sagen, vermeiden Sie mit +. Gib einfach die gewünschte Version an. Wenn Sie immer noch nicht genug vertrauen können, können Sie ein Glas (oder Klon) jedes Repos erstellen und es verwenden.

Blackbelt 07/01/2016.

Benutzen Sie das Menü File -> Project Structure -> Modules .

Ich habe es heute benutzt. Es ist ein bisschen anders.

Für Sherlock möchten Sie vielleicht ihr junit.jar löschen oder die Datei junit.jar zum Klassenpfad hinzufügen.

Um die Bibliothek mithilfe von Gradle zu importieren, müssen Sie sie dem Abschnitt dependencies von build.gradle (dem Modul) hinzufügen.

Z.B

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.1.0'
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
} 

Android Studio ändert sich.

Es gibt einen Abschnitt mit dem Namen "Moduleinstellungen öffnen", wenn Sie im Projektbereich von Android Studio mit der rechten Maustaste auf einen Modulordner klicken (ich verwende die Version 0.2.10).

5 comments
1 Alexander Kulyakhtin 05/16/2013
Hmm es sagt immer noch android-apt-compiler: styles.xml: 5: error: Fehler beim Abrufen des übergeordneten Elements für das Element: Es wurde keine Ressource gefunden, die dem angegebenen Namen 'Theme.Sherlock.Light.DarkActionBar' entspricht.
Blackbelt 05/16/2013
Unter dem Sherlock Modul -> Dependecies habe ich Android 4.2.2 und die Support Library v4
Blackbelt 05/16/2013
@ ρяσѕρєяK neben der Schaltfläche "Ausführen" gibt es ein Label mit Android. Wenn Sie dort klicken, finden Sie Konfiguration bearbeiten. Drücken Sie und unter Zielgerät klicken Sie auf "Zeige Auswahl Dialg"
7 fish 05/16/2013
Hallo, ich habe das gleiche Problem wie Alex ("Gradle: Fehler beim Abrufen des übergeordneten Elements für den Artikel: Keine Ressource gefunden, die den angegebenen Namen" Theme.Sherlock.Light "entspricht.") - Die Java-Abhängigkeit scheint korrekt gelöst zu sein, verursachen die IDE macht meine SherlockActivity nicht verantwortlich, aber aus irgendeinem Grund scheint Gradle nicht in die Ressourcen von ABS zu schauen. Irgendwelche Ideen?
4 Konrad Morawski 09/15/2013
In Android Studio 0.2.8 gibt es im Fenster Project Structure keine Modules .

Jonathan Lin 10/14/2013.

Ich würde Abhängigkeiten, Android Libraries und Multi-Projekt Setup lesen müssen. Bitte nehmen Sie sich ein paar Minuten Zeit.

Lesen Sie im Fall eines Nicht-Jar-Bibliotheksprojekts das folgende Snippet aus obiger Quelle:

Gradle-Projekte können auch von anderen Großprojekten abhängen, indem ein Multi-Projekt-Setup verwendet wird. Bei einem Multiprojekt-Setup werden normalerweise alle Projekte als Unterordner eines bestimmten Stammprojekts verwendet.

Zum Beispiel, folgende Struktur gegeben:

MyProject/
 + app/
 + libraries/
    + lib1/
    + lib2/ 

Wir können 3 Projekte identifizieren. Gradle wird sie mit folgendem Namen referenzieren:

:app
:libraries:lib1
:libraries:lib2 

Jedes Projekt hat seinen eigenen Build.Gradle deklariert, wie es gebaut wird. Darüber hinaus wird es eine Datei namens settings.gradle am root geben, die die Projekte deklariert. Dies ergibt die folgende Struktur:

MyProject/
 | settings.gradle
 + app/
    | build.gradle
 + libraries/
    + lib1/
       | build.gradle
    + lib2/
       | build.gradle 

Der Inhalt von settings.gradle ist sehr einfach:

include ':app', ':libraries:lib1', ':libraries:lib2' 

Dies definiert, welcher Ordner eigentlich ein Gradle-Projekt ist.

Das: app-Projekt hängt wahrscheinlich von den Bibliotheken ab. Dies geschieht durch Deklaration der folgenden Abhängigkeiten:

dependencies {
    compile project(':libraries:lib1')
} 

Bitte beachten Sie, dass Android Studio GUI nur wenig oder gar nicht genutzt wurde, um dies zu ermöglichen.

Ich verwende derzeit git Submodule , um die verschachtelte Bibliothek mit der tatsächlichen Bibliothek git Repo zu verknüpfen, um eine Abhängigkeit Verwirrung zu vermeiden.

4 comments
Jonathan Lin 10/14/2013
Bitte freuen Sie sich, wenn Sie dies hilfreich finden, damit andere den Schmerz vermeiden und sich schneller bewegen können.
RichieHH 03/24/2014
Sehr hilfreich und, noch wichtiger, nicht zu den gui Launen des Tages spielen.
1 dcunited001 04/20/2014
Vielen Dank für die Aufnahme der einzigen Antwort, die Sinn macht. jede andere Antwort ist veraltet und funktioniert einfach nicht. Ich habe es nicht einmal in CS an der Virginia Tech versucht, weil die ganzen ersten zwei Jahre gelernt hatten, in Eclipse herumzuklicken. Es hat keinen Sinn gemacht, aber das gradle Ergebnis von zufälligen Klicks in einer IDE zu sehen.
velis 06/01/2015
Danke für die git submodules Spitze. Ich benutzte vorher die Junction, bin jetzt aber auf SVN externals umgestiegen. Klappt wunderbar.

René Michel 07/01/2016.

Ich habe gerade einen einfacheren Weg gefunden (anstatt direkt in die .gradle-Dateien zu schreiben).

Dies ist für Android Studio 1.1.0.

  1. Menü File -> New Module... :

    Bestehendes Projekt importieren

    Klicken Sie auf "Bestehendes Projekt importieren".

  2. Wählen Sie die gewünschte Bibliothek und das gewünschte Modul.

  3. Klicken Sie auf Fertig stellen. Android Studio importiert die Bibliothek in Ihr Projekt. Es wird Gradle-Dateien synchronisieren.

  4. Fügen Sie das importierte Modul den Abhängigkeiten Ihres Projekts hinzu.

    Klicken Sie mit der rechten Maustaste auf den App-Ordner -> Öffnen Sie die Moduleinstellungen -> gehen Sie zur Registerkarte Abhängigkeiten -> Klicken Sie auf die Schaltfläche '+' -> klicken Sie auf Modulabhängigkeit.

    Das Bibliotheksmodul wird dann den Abhängigkeiten des Projekts hinzugefügt.

    Bibliotheksmodul hinzufügen

  5. ???

  6. Profitieren


Vilen 07/01/2016.

Der einfachste Weg, ein externes Bibliotheksprojekt einzubinden, ist (zB um eine Facebook-Bibliothek aufzunehmen, die ein Verzeichnis im Ordner Abhängigkeiten gespeichert ist):

  1. In settings.gradle hinzufügen

    include ':facebook'
    
    project(':facebook').projectDir = new File(settingsDir, '../dependencies/FacebookSDK') 
  2. Fügen Sie im Abschnitt build.gradle Abhängigkeiten hinzu

    compile project ('facebook') 

Alles, was noch zu tun ist, ist das Synchronisieren des Projekts mit Gradle-Dateien.

4 comments
Rajnish Mishra 03/23/2015
Hallo Vilen was ist settingsDir hier
Vilen 04/02/2015
Hallo Rajnish. Aus der Dokumentation: settingsDir Gibt das Einstellungsverzeichnis des Builds zurück. Das Einstellungsverzeichnis ist das Verzeichnis mit der Einstellungsdatei. Rückgabe: Das Einstellungsverzeichnis. Gibt niemals null zurück.
Rajnish Mishra 04/03/2015
Die zwei Punkte vor / Abhängigkeiten sind wichtiger, um gepflegt zu werden Deine Antwort helfe mir sehr .. Danke
Solata 11/18/2015
NOTE: Für die String-Auswertung in Gradle müssen Sie double quote (") verwenden. Dies" rette den Tag "für mich. Verbunden damit

Eugene Bosikov 07/01/2016.

Eine einfache Möglichkeit, Ihrem Android Studio-Projekt eine JAR-Datei als Bibliothek hinzuzufügen:

a) Kopieren Sie Ihre * .jar-Dateien

b) Fügen Sie in das libs Verzeichnis unter Ihren Projekten ein:

Geben Sie eine Bildbeschreibung hier ein

c) Zu build.gradle hinzufügen:

dependencies {
    ...
    compile files('libs/ScanAPIAndroid.jar', 'libs/ScanAPIFactoryAndroid.jar', .., ..)
} 

b) Wenn Ihr Projekt aus dem Beispiel com.example.MYProject und den Bibliotheken com.example.ScanAPI den gleichen Namespace com hat , prüft Android Studio Ihren Build und erstellt alle notwendigen Änderungen in Ihrem Projekt. Danach können Sie diese Einstellungen im Menü File -> Project Structure überprüfen.

c) Wenn Ihr Projekt und Bibliotheken einen anderen Namensraum haben, klicken Sie mit der rechten Maustaste auf die Bibliothek und wählen Sie die Option "Als Bibliothek hinzufügen" und wählen Sie den Typ, den Sie benötigen.

Denken Sie daran, dass die Option "Projektstruktur" keine automatischen Änderungen in "build.gradle" in der aktuellen Version von Android Studio (0.2.3) vornimmt. Vielleicht wird diese Funktion in den nächsten Versionen verfügbar sein.


pathe.kiran 06/27/2016.

Option 1: Dateien in das libs Verzeichnis des Projekts kopieren

Die relevante build.gradle-Datei wird dann automatisch aktualisiert.

Option 2: Ändern Sie manuell die Build.Gradle-Datei

Öffnen Sie Ihre build.gradle-Datei, und fügen Sie der Abhängigkeiten-Closure eine neue Erstellungsregel hinzu. Wenn Sie beispielsweise Google Play-Dienste hinzufügen möchten, sieht der Abschnitt mit den Abhängigkeiten Ihres Projekts etwa so aus:

dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile 'com.google.android.gms:play-services:6.5.+'
   } 

Option 3: Verwenden Sie die Benutzeroberfläche von Android Studio

Klicken Sie im Projektfenster mit Strg + auf das Modul, dem Sie die Abhängigkeit hinzufügen möchten, und wählen Sie Moduleinstellungen öffnen.

Geben Sie eine Bildbeschreibung hier ein

Wählen Sie die Registerkarte Abhängigkeiten, gefolgt von der Schaltfläche + in der unteren linken Ecke. Sie können aus der folgenden Liste von Optionen wählen:

  • Bibliotheksabhängigkeit
  • Dateiabhängigkeit
  • Modulabhängigkeit

Sie können dann weitere Informationen zu der Abhängigkeit eingeben, die Sie Ihrem Projekt hinzufügen möchten. Wenn Sie beispielsweise Bibliotheksabhängigkeit auswählen, zeigt Android Studio eine Liste von Bibliotheken an, aus denen Sie auswählen können.

Nachdem Sie Ihre Abhängigkeit hinzugefügt haben, überprüfen Sie die build.gradle-Datei auf Modulebene. Es sollte automatisch aktualisiert worden sein, um die neue Abhängigkeit aufzunehmen.

Quelle


drewan50 07/01/2016.

Wenn Sie Zugriff auf die Ressourcen eines Bibliotheksprojekts benötigen (wie bei ABS), stellen Sie sicher, dass Sie das Bibliotheksprojekt / Modul als "Modulabhängigkeit" anstelle von "Bibliothek" hinzufügen.

1 comments
1 cosimo 04/01/2014
Ja! Sie Sir gewinnen das Internet! Vielen Dank! Ich habe gerade ein paar Stunden meines Lebens verschwendet, weil ich das nicht wusste.

pandabear 07/01/2016.

So funktioniert es für mich in Android Studio 1.5

In dem Projekt, in dem Sie ein externes Bibliotheksprojekt hinzufügen möchten, gehen Sie zum Menü File -> New -> * Neues Modul importieren **, navigieren Sie zu dem Bibliotheksprojekt, das Sie Ihrem Projekt hinzufügen möchten, wählen Sie, um das Modul 'Bibliothek' hinzuzufügen dein Projekt. Sie erhalten settings.gradle in Ihren Projekten, neben der App, der enthaltenen Bibliothek, etwas in der Art:

include ':app', ':library' 

Fügen Sie build.gradle(Module :app) in den Abhängigkeiten hinzu:

Compile project(':library')

Bauen Sie das Projekt neu auf und das war's.

* Sie können beliebig viele Bibliotheken (Module) hinzufügen. In diesem Fall haben Sie in den Einstellungen.

include ':app', ':lib1', ':lib2', ... 

Und in build.gradle, müssen Sie haben:

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

    // Some other dependencies...

    compile project(':lib1')
    compile project(':lib2')
    ...
} 

Adiii 07/01/2016.

Sie können dies leicht tun. Gehen Sie zum Menü File -> New -> Import Module... :

Geben Sie eine Bildbeschreibung hier ein

Suchen Sie nach dem Verzeichnis, das das Modul enthält. Klicken Sie auf Fertig stellen:

Geben Sie eine Bildbeschreibung hier ein

Gehe zur Project Structure und füge Module Dependency :

Geben Sie eine Bildbeschreibung hier ein

Hinweis: Wenn Sie einen SDK-Fehler erhalten, aktualisieren Sie diesen.


Dalmas 06/27/2016.

Um die Antwort hinzuzufügen: Wenn die IDE keinen Fehler zeigt, aber wenn Sie versuchen, zu kompilieren, erhalten Sie etwas wie:

No resource found that matches the given name 'Theme.Sherlock.Light' 

Ihr Bibliotheksprojekt ist wahrscheinlich als Anwendungsprojekt kompiliert. Um dies zu ändern, gehen Sie zu:

Menü File -> Project structure -> Facets -> [Bibliotheksname] -> "Bibliotheksmodul" prüfen.


crossle 07/01/2016.
  1. Drücken Sie F4 , um die Project Structure , klicken Sie auf Bibliotheken oder Globale Bibliotheken, und klicken Sie auf + , um die JAR-Datei hinzuzufügen.
  2. Klicken Sie auf Module, denen Sie ein JAR hinzufügen möchten, wählen Sie die Registerkarte Dependencies , klicken Sie auf + , und fügen Sie Bibliothek hinzu.

Shakti Malik 07/01/2016.

Das Bearbeiten von Bibliotheksabhängigkeiten über die GUI ist nicht ratsam, da diese Änderungen nicht in Ihre build.gradle-Datei geschrieben werden. Ihr Projekt wird also nicht über die Befehlszeile erstellt. Wir sollten die build.gradle-Datei direkt wie folgt bearbeiten.

Zum Beispiel, folgende Struktur gegeben:

Mein Projekt/

  • App /
  • Bibliotheken /
    • lib1 /
    • lib2 /

Wir können drei Projekte identifizieren. Gradle wird sie mit folgenden Namen referenzieren:

  1. : app
  2. : Bibliotheken: lib1
  3. : Bibliotheken: lib2

Das: app-Projekt hängt wahrscheinlich von den Bibliotheken ab. Dies geschieht durch Deklaration der folgenden Abhängigkeiten:

dependencies {
    compile project(':libraries:lib1')
} 
2 comments
Alexander Kulyakhtin 05/23/2013
"Ja wirklich?" Seltsam, sie haben die ganze GUI und trotzdem ist es nicht ratsam. Wie das?
Shakti Malik 05/23/2013
Beim Bearbeiten über die GUI werden diese Änderungen nicht in Ihre build.gradle-Datei geschrieben. GUI-Bearbeitung speichert nur Änderungen in IntelliJ eigenen Projektdaten. Dies ist ein Fehler, der in zukünftigen Versionen behoben wird. Sie können auf diese Antwort von Google Android-Studio-Team verweisen Lead stackoverflow.com/questions/16678447/ ...

Erwan 05/17/2013.

Nach dem Importieren des ABS-Moduls (aus Datei> Projektstruktur) und sicherstellen, dass es Android 2.2 und Support Library v4 als Abhängigkeiten hat, bekam ich immer noch den folgenden Fehler wie Sie @Alex

Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light.DarkActionBar' 

Ich habe das neu importierte Modul als Abhängigkeit zu meinem Haupt-App-Modul hinzugefügt und das Problem behoben.

3 comments
christiaanderidder 05/19/2013
Ich habe alle Schritte einschließlich des Hinzufügens des Moduls als Abhängigkeit versucht, aber ich habe immer noch Gradle: Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light'. . Es scheint, als ob mein Hauptprojekt die Ressourcen des Bibliotheksprojekts (ABS) nicht sieht. Die IDE erkennt jedoch die Verweise auf Klassen und Ressourcen. Bildschirmfoto
Calvin Chan 06/04/2013
Hier gilt das gleiche. Wer kann das lösen?
Dmitriy Tarasov 06/06/2013
Ich bin von 12 auf IDEA 13 migriert und habe diesen Fehler auch. Nur Neuimport für alle meine Abhängigkeiten wird helfen. Manuelles Entfernen aller Module, Entfernen verwandter * .iml-Dateien und erneutes Importieren Ihrer Bibliotheken

azh 02/09/2014.

Um dieses Problem zu lösen, müssen Sie nur den ABS-Ressourcenpfad zu Ihrer Projekt-Build-Datei hinzufügen.

sourceSets {
    main {
        res.srcDirs = ['src/main/res','../../ActionBarSherlock/actionbarsherlock/res']
    }
} 

Also, ich kompiliere wieder ohne Fehler.


Hemant 07/01/2016.

First Way Dies funktioniert für MacBook.

Wählen Sie zuerst Ihre Builder.Gradle-Datei als gegebenen Bildschirm:

Geben Sie eine Bildbeschreibung hier ein

Fügen Sie Abhängigkeiten wie auf dem ausgewählten Bildschirm hinzu:

Geben Sie eine Bildbeschreibung hier ein

Wählen Sie das Synchronisierungsprojekt.

Wenn Sie einen Fehler wie "Projekt mit Pfad ': Unterschriftsfeld' konnte in Projekt ': app'" nicht gefunden werden, verwenden Sie bitte den zweiten Weg:

Wählen Sie das Menü File -> New -> Import Module... :

Geben Sie eine Bildbeschreibung hier ein

Nach dem Klick auf Import Module ,

Geben Sie eine Bildbeschreibung hier ein

Geben Sie den Pfad der Bibliothek wie meinen MacBook-Pfad an:

Geben Sie eine Bildbeschreibung hier ein

Klicken Sie auf Finish . Jetzt ist Ihre Bibliothek hinzugefügt.


Braunster 02/09/2014.

Wenn Sie Android Studio .0.4.0 verwenden, können Sie einen neuen Ordner in Ihrem Build-Pfad YourApp/libraries . Kopieren Sie die JAR-Datei. Dort klicken Sie mit der rechten Maustaste darauf und "Als Bibliothek hinzufügen". Jetzt haben Sie ein Popup. Wählen Sie einfach Ihr Verzeichnis und drücken Sie OK, und das war's.


ankitbumblebee 07/01/2016.

https://www.dropbox.com/s/1e3eteu3h0pmkf7/Android%20studio%20_doc.doc?dl=0 ist der Dropbox-Link zum Hinzufügen einer JAR-Datei und eines Bibliotheksprojekts in der neuesten Version von Android Studio 1.0.1.

Bitte beachten Sie die Dokumentation mit Screenshots. Es ist sehr einfach für einen neuen Benutzer.


passsy 05/23/2017.

Ich habe die Lösung gefunden. Es ist so einfach. Befolgen Sie froger_mcs Anweisungen .

Stellen Sie sicher, dass Sie den Ordner src in Projektstruktur -> Module (Quellen) als Quellordner definieren.

Geben Sie eine Bildbeschreibung hier ein


voghDev 05/23/2017.

Ein Beispiel für das erfolgreiche Hinzufügen einer anderen Bibliothek (PullToRefresh). Funktioniert auch für ABS libproject.

Diese SO Frage

Dieser Beitrag


Mohammad 05/23/2017.

Grundsätzlich können Sie Ihre JAR-Dateien auf drei verschiedene Arten einbinden. Die letzte ist eine Remote-Bibliothek, die das https://bintray.com/jcenter Online-Repository verwendet. Wenn Sie dies jedoch auf eine der beiden anderen Arten tun, wird die JAR-Datei physisch in Ihrem Projekt enthalten sein. Bitte lesen Sie diesen Link https://Stackoverflow.com/a/35369267/5475941 für weitere Informationen. In diesem Post habe ich erklärt, wie Sie Ihre JAR-Datei in Android-Studio importieren und ich habe alle möglichen Wege erklärt.

Zusammengefasst, wenn es so ist (lokale Adresse), werden sie heruntergeladen und diese JAR-Dateien befinden sich physisch im Projekt:

Bildbeschreibung hier eingeben

Aber wenn es sich um eine Internetadresse wie diese handelt, handelt es sich um Remote-Bibliotheken (bintray.com jcenter part), die remote verwendet werden:

Bildbeschreibung hier eingeben

Ich hoffe, es hilft.


Jinu 06/27/2016.

Öffnen Sie die Build-Modul-App-Datei und fügen Sie Ihre Abhängigkeit hinzu. Wenn Sie die Bibliothek herunterladen, importieren und erstellen Sie sie als Gradle.

Ansonsten fügen Sie Repositories in der Sidegrodle-Modul-App hinzu:

repositories {
        maven { url 'http://clinker.47deg.com/nexus/content/groups/public' }
} 

Die ersten Repositories laden die Bibliothek für Sie herunter.

Und kompiliere die heruntergeladene Bibliothek:

compile ('com.fortysevendeg.swipelistview:swipelistview:1.0-SNAPSHOT@aar') {
        transitive = true
    } 

Wenn Sie eine Bibliothek erstellen, müssen Sie nur das Projekt als neues Modul importieren importieren.


Dharmendra Pratap 06/27/2016.

Wechseln Sie in Android Studio in den internen App-Ordner und öffnen Sie die Datei build.gradle. Hier sehen Sie Abhängigkeiten {}. Darin können Sie das Bibliotheksprojekt hinzufügen und synchronisieren. Jetzt wird es nach der Synchronisierung der Bibliothek Ihrem Projekt hinzugefügt, und Sie können seine Funktionen und Klassen in Ihrem Projekt verwenden.


MAMASSI 07/01/2016.

Für Android Studio:

Geben Sie eine Bildbeschreibung hier ein

Klicken Sie auf Build.gradle (module: app) .

Und hinzufügen für

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile files('libs/commons-io-2.4.jar')
} 

und erstellen Sie in Ihrem Verzeichnis "app" ein Verzeichnis "libs". Fügen Sie die Datei yourfile.jar hinzu:

Geben Sie eine Bildbeschreibung hier ein

Kompilieren Sie schließlich die Gradle-Dateien:

Geben Sie eine Bildbeschreibung hier ein

1 comments
Badre 03/23/2016
Alter Respekt: ​​D

Pankaj kumar 07/01/2016.

Importieren Sie einfach das Android-Bibliotheksprojekt als Modul und in Build.gradle .

Plugin anwenden: 'com.android.library'

Danach folgen Sie diesen Schritten:

  1. Klicken Sie mit der rechten Maustaste auf Modul und wählen Sie offene Moduleinstellungen
  2. Wählen Sie Abhängigkeiten aus, klicken Sie auf + , wählen Sie Bibliotheksabhängigkeiten und fügen Sie das zuvor importierte Modul hinzu.

jobbert 07/01/2016.

Ich hatte eine andere Ursache für das Problem, also für Leute:

repositories {
    mavenCentral()
} 

Ändere mavenCentral () in jcenter () und füge hinzu

allprojects {
    repositories {
        jcenter()
    }
} 

Ich stieß auch auf das gleiche Problem, dann habe ich folgende Dinge getan.

  1. Ich importiere das Bibliotheksprojekt als Modul in meine AndroidStudio IDE über das Menü File -> Modulmenüs importieren

  2. Dann ging ich zu meinem Hauptmodul, in dem ich das Bibliotheksprojekt als abhängiges Projekt haben möchte

  3. Klicken Sie mit der rechten Maustaste auf das Hauptmodul (in meinem Fall heißt es app ) -> Moduleinstellung öffnen -> gehen Sie in die Registerkarte Abhängigkeiten -> klicken Sie auf die Schaltfläche + (Sie erhalten es auf der rechten Seite des Fensters) -> klicken Sie auf Modulabhängigkeit - > Wählen Sie Ihr Bibliotheksprojekt aus der Liste

Übernehmen Sie die Änderungen und klicken Sie auf die Schaltfläche OK .

Es hat für mich funktioniert. Ich hoffe, es wird auch anderen helfen.


monn3t 07/01/2016.

In der Tat ändern sich die Versionen, so ändert sich auch die Benutzeroberfläche und Optionen im Menü. Nachdem ich die meisten Antworten auf diese Fragen gelesen hatte, musste ich raten, was für Android Studio 1.1.0 funktionieren würde.

  1. Wählen Sie mit der Maus das Projekt auf der Hauptebene (hier wird der Name Ihrer App angezeigt).

  2. Klicken Sie mit der rechten Maustaste und wählen Sie die Menüoptionen New, Folder, Assets Folder .

  3. Fügen Sie nach dem Erstellen des Inhaltsordners die JAR-Datei, die Sie für Ihre Bibliothek benötigen, ein oder kopieren Sie sie darin.

  4. Wählen Sie im Android Studio-Hauptmenü (oben auf dem Bildschirm) File -> Project Structure .

  5. Wählen Sie dann Ihren Projektnamen und gehen Sie auf die Registerkarte Dependencies .

  6. Klicken Sie auf das Pluszeichen ( + ) unten links im Dialogfeld und wählen Sie die Dateiabhängigkeit aus.

  7. Öffnen Sie den zuletzt erstellten Ordner "Assets", wählen Sie die JAR-Dateien aus, die Sie kopiert haben, und klicken Sie auf "Anwenden" und dann auf " OK" .

Säubern und erstellen Sie Ihr Projekt neu.

2 comments
1 Rajnish Mishra 03/23/2015
Kopien von Gläsern in Vermögenswerten zu machen ist keine gute Idee, es wird die apk-Größe unnötig erhöhen
monn3t 04/12/2015
Danke für die Beratung @ RajnishMishra. Ich habe das vermutet, aber was schlagen Sie stattdessen vor?

Related questions

Hot questions

Language

Popular Tags