Wie füge ich Android Studio ein Bibliotheksprojekt (z. B. Sherlock ABS) hinzu ?
(Nicht für das alte ADT Eclipse-basierte Bundle, sondern für das neue Android Studio .)
android
android-studio
android-library
Alexander Kulyakhtin
quelle
quelle
Gradle
, lesen Sie diese StackOverflow-Antwort .Antworten:
Update für Android Studio 1.0
Seit der Veröffentlichung von Android Studio 1.0 (und vielen Versionen zwischen v1.0 und einer der ersten Versionen aus der Zeit meiner vorherigen Antwort) haben sich einige Dinge geändert.
Meine Beschreibung konzentriert sich auf das Hinzufügen eines externen Bibliotheksprojekts von Hand über Gradle-Dateien (zum besseren Verständnis des Prozesses). Wenn Sie eine Bibliothek über Android Studio Creator hinzufügen möchten, überprüfen Sie einfach die Antwort unten mit einer visuellen Anleitung (es gibt einige Unterschiede zwischen Android Studio 1.0 und denen aus Screenshots, aber der Vorgang ist sehr ähnlich).
Bevor Sie Ihrem Projekt manuell eine Bibliothek hinzufü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 für die Installation wird nur eine Codezeile in der
app/build.gradle
Datei benötigt:Hinzufügen der Bibliothek
Hier ist der vollständige Vorgang zum Hinzufügen einer externen Android-Bibliothek zu unserem Projekt:
HelloWorld/
Erstellen Sie im Stammverzeichnis ( ) einen neuen Ordner,/libs
in dem wir unsere externen Bibliotheken ablegen (dieser Schritt ist nicht erforderlich - nur, um eine sauberere Projektstruktur zu erhalten)./libs
Ordner ein. 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:Bearbeiten Sie settings.gradle, indem Sie Ihre Bibliothek hinzufügen
include
. Wenn Sie wie ich einen benutzerdefinierten Pfad verwenden, müssen Sie auch das Projektverzeichnis für unsere Bibliothek definieren. Ein ganzes settings.gradle sollte wie folgt aussehen:5.1 Wenn der Fehler "Standardkonfiguration" auftritt, versuchen Sie dies anstelle von Schritt 5,
In
app/build.gradle
unserer Bibliothek Projekt als Abhängigkeit hinzu:6.1. Wenn Sie Schritt 5.1 befolgt haben, folgen Sie diesem anstelle von 6,
Wenn Ihr Bibliotheksprojekt keine
build.gradle
Datei enthält, müssen Sie diese manuell erstellen. Hier ist ein Beispiel für diese Datei:Darüber hinaus können Sie eine globale Konfiguration für Ihr Projekt erstellen, die SDK-Versionen enthält und für jedes Modul eine Toolversion erstellt, um die Konsistenz zu gewährleisten. Bearbeiten Sie einfach die
gradle.properties
Datei und fügen Sie Zeilen hinzu:Jetzt können Sie es in Ihren
build.gradle
Dateien (in App- und Bibliotheksmodulen) wie folgt verwenden:Das ist alles. Klicken Sie einfach auf "Projekt mit dem Gradle synchronisieren" -Symbol . 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:
Am Anfang mag es etwas verwirrend sein (besonders für diejenigen, die mit Eclipse arbeiten und die Ameise noch nie gesehen haben - wie ich;)), aber am Ende bietet uns Gradle einige großartige Möglichkeiten und es lohnt sich, dieses Build-System zu lernen.
quelle
Global libraries
(# 10: "Jetzt zu globalen Bibliotheken gehen")? Davon abgesehen funktioniert es wie beschrieben :) Vielen Dank. (Ich hoffe, Google wird es schaffen - eine so einfache Aufgabe ist im Moment sehr komplex)Hier ist die visuelle Anleitung:
Update für Android Studio 0.8.2:
Gehen Sie in Android Studio 0.8.2 zu Projektstruktur -> unter Module, klicken Sie einfach auf die Plus-Schaltfläche und wählen Sie Vorhandenes Projekt importieren und importieren
actionbarsherlock
. Synchronisieren Sie dann Ihre Gradle-Dateien.Wenn Sie mit dem Fehler konfrontiert sind
Öffnen Sie einfach die
build.gradle
Datei imactionbarsherlock
Verzeichnis und aktualisieren Sie siebuildToolsVersion
auf die vorgeschlagene.Menü Datei -> Projektstruktur ... :
Modul -> Modul importieren
Wählen Sie nach dem Importieren des Bibliotheksmoduls Ihr Projektmodul aus und fügen Sie die Abhängigkeit hinzu:
Und wählen Sie dann das importierte Modul aus :
quelle
Select your project module and add dependency
dependencies { // ... compile project(':library') }
Verwenden Sie das Menü Datei -> Projektstruktur -> Module .
Ich habe heute damit angefangen. Es ist ein bisschen anders.
Für Sherlock möchten Sie möglicherweise das Testverzeichnis löschen oder die
junit.jar
Datei zum Klassenpfad hinzufügen .Um die Bibliothek mit gradle zu importieren, müssen Sie sie möglicherweise zu
dependencies
Ihrem Abschnittbuild.gradle
(dem des Moduls) hinzufügen .Z.B
Android Studio ändert sich.
Es gibt einen Abschnitt mit dem Namen "Moduleinstellungen öffnen", wenn Sie mit der rechten Maustaste auf einen Modulordner im Projektabschnitt von Android Studio klicken (ich verwende die Version 0.2.10).
quelle
Modules
Abschnitt imProject Structure
Fenster.Ich würde Abhängigkeiten, Android-Bibliotheken und die Einrichtung mehrerer Projekte als notwendige Lektüre betrachten. Bitte nehmen Sie sich dazu ein paar Minuten Zeit.
Lesen Sie insbesondere im Fall eines Bibliotheksprojekts ohne JAR den folgenden Ausschnitt aus der obigen Quelle:
Bitte beachten Sie, dass die Android Studio-Benutzeroberfläche nur wenig oder gar nicht verwendet wurde, um dies zu erreichen.
Ich verwende derzeit Git-Submodule , um die verschachtelte Bibliothek mit dem tatsächlichen Git-Repo der Bibliothek zu verknüpfen, um ein Abhängigkeits-Chaos zu vermeiden.
quelle
Ich habe gerade einen einfacheren Weg gefunden (anstatt direkt in die .gradle-Dateien zu schreiben).
Dies ist für Android Studio 1.1.0.
Menü Datei -> Neues Modul ... :
Klicken Sie auf "Vorhandenes Projekt importieren".
Wählen Sie die gewünschte Bibliothek und das gewünschte Modul aus.
Klicken Sie auf Fertig stellen. Android Studio importiert die Bibliothek in Ihr Projekt. Gradle-Dateien werden synchronisiert.
Fügen Sie das importierte Modul zu den Abhängigkeiten Ihres Projekts hinzu.
Klicken Sie mit der rechten Maustaste auf den App-Ordner -> Moduleinstellungen öffnen -> Gehen Sie zur Registerkarte Abhängigkeiten -> Klicken Sie auf die Schaltfläche '+' -> Klicken Sie auf Modulabhängigkeit.
Das Bibliotheksmodul wird dann zu den Abhängigkeiten des Projekts hinzugefügt.
???
Profitieren
quelle
Der einfachste Weg, ein externes Bibliotheksprojekt einzuschließen, ist (zum Beispiel eine Facebook-Bibliothek einzuschließen, die ein Verzeichnis im Abhängigkeitsordner gespeichert ist):
In settings.gradle hinzufügen
Fügen Sie im Abschnitt build.gradle-Abhängigkeiten hinzu
Sie müssen das Projekt nur noch mit Gradle-Dateien synchronisieren.
quelle
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:
c) Zu build.gradle hinzufügen:
b) Wenn Ihr Projekt aus dem Beispiel com.example.MYProject und den Bibliotheken com.example.ScanAPI denselben Namespace com.example hat , überprüft Android Studio Ihren Build und erstellt alle erforderlichen Änderungen in Ihrem Projekt. Danach können Sie diese Einstellungen im Menü Datei -> Projektstruktur überprüfen .
c) Wenn Ihr Projekt und Ihre Bibliotheken einen anderen Namespace haben, müssen Sie mit der rechten Maustaste auf die Bibliothek klicken und die Option "Als Bibliothek hinzufügen" auswählen und den gewünschten Typ auswählen.
Denken Sie daran, dass die Option "Projektstruktur" in der aktuellen Version von Android Studio (0.2.3) keine automatischen Änderungen in "build.gradle" vornimmt. Möglicherweise wird diese Funktion in den nächsten Versionen verfügbar sein.
quelle
Option 1: Dateien in das libs / -Verzeichnis von Project ablegen
Die entsprechende build.gradle-Datei wird dann automatisch aktualisiert.
Option 2: Ändern Sie die Datei build.gradle manuell
Öffnen Sie Ihre Datei build.gradle und fügen Sie dem Schließen der Abhängigkeiten eine neue Erstellungsregel hinzu. Wenn Sie beispielsweise Google Play Services hinzufügen möchten, sieht der Abschnitt "Abhängigkeiten" Ihres Projekts ungefähr so aus:
Option 3: Verwenden Sie die Benutzeroberfläche von Android Studio
Control+ Klicken Sie im Projektfenster auf das Modul, zu dem Sie die Abhängigkeit hinzufügen möchten, und wählen Sie Moduleinstellungen öffnen.
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 auswählen:
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.
Überprüfen Sie nach dem Hinzufügen Ihrer Abhängigkeit die Datei build.gradle auf Modulebene. Es sollte automatisch aktualisiert worden sein, um die neue Abhängigkeit aufzunehmen.
Quelle
quelle
So funktioniert es bei mir in Android Studio 1.5+
Gehen Sie in dem Projekt, in dem Sie ein externes Bibliotheksprojekt hinzufügen möchten, zum Menü Datei -> Neu -> * Neues Modul importieren **, navigieren Sie zu dem Bibliotheksprojekt, das Sie Ihrem Projekt hinzufügen möchten, und wählen Sie, um das Modul 'Bibliothek' hinzuzufügen dein Projekt. Sie erhalten settings.gradle in Ihren Projekten neben der App, der enthaltenen Bibliothek, ungefähr so:
Fügen Sie build.gradle (Modul: App) im Abschnitt Abhängigkeiten hinzu:
Projekt kompilieren (': Bibliothek')
Erstellen Sie das Projekt neu und fertig.
* Sie können beliebig viele Bibliotheken (Module) hinzufügen. In diesem Fall haben Sie in settings.gradle:
Und in build.gradle müssen Sie Folgendes haben:
quelle
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 einer "Bibliothek" hinzufügen.
quelle
Sie können dies leicht tun. Gehen Sie zum Menü Datei -> Neu -> Modul importieren ... :
Suchen Sie nach dem Verzeichnis, das das Modul enthält. Klicken Sie auf Fertig stellen:
Gehen Sie zur Projektstruktur und fügen Sie die Modulabhängigkeit hinzu :
Hinweis: Wenn Sie einen SDK-Fehler erhalten, aktualisieren Sie diesen.
quelle
quelle
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 zu folgender Struktur gegeben:
Mein Projekt/
Wir können drei Projekte identifizieren. Gradle wird sie mit den folgenden Namen referenzieren:
Das: app-Projekt hängt wahrscheinlich von den Bibliotheken ab. Dazu werden die folgenden Abhängigkeiten deklariert:
quelle
So fügen Sie der Antwort hinzu: Wenn die IDE keinen Fehler anzeigt, Sie jedoch beim Kompilieren versuchen, erhalten Sie Folgendes:
Ihr Bibliotheksprojekt wird wahrscheinlich als Anwendungsprojekt kompiliert. Um dies zu ändern, gehen Sie zu:
Menü Datei -> Projektstruktur -> Facetten -> [Bibliotheksname] -> Aktivieren Sie "Bibliotheksmodul".
quelle
Erster Weg Dies funktioniert für MacBook.
Wählen Sie zuerst Ihre builder.gradle-Datei wie auf dem Bildschirm gezeigt aus:
Fügen Sie Abhängigkeiten wie auf dem ausgewählten Bildschirm hinzu:
Wählen Sie Synchronisierungsprojekt.
Wenn Sie eine Fehlermeldung wie "Projekt mit Pfad ': Signatur-Pad' wurde in Projekt ': App' nicht gefunden" erhalten, verwenden Sie bitte den zweiten Weg:
Wählen Sie das Menü Datei -> Neu -> Modul importieren ... :
Nachdem Sie auf Modul importieren geklickt haben ,
Geben Sie den Pfad der Bibliothek wie meinen MacBook-Pfad an:
Klicken Sie auf Fertig stellen . Jetzt wird Ihre Bibliothek hinzugefügt.
quelle
Nachdem ich das ABS-Modul (über Datei> Projektstruktur) importiert und sichergestellt habe, dass es Android 2.2 und Support Library v4 als Abhängigkeiten enthält, wurde als @Alex immer noch der folgende Fehler angezeigt
Ich habe das neu importierte Modul als Abhängigkeit zu meinem Haupt-App-Modul hinzugefügt, wodurch das Problem behoben wurde.
quelle
Gradle: Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light'.
. Es scheint, dass mein Hauptprojekt die Ressourcen des Bibliotheksprojekts (ABS) nicht sieht. Die IDE erkennt jedoch die Verweise auf Klassen und Ressourcen. ScreenshotAndroid Studio 3.0
Fügen Sie einfach den Bibliotheksnamen zum Abhängigkeitsblock der build.gradle- Datei Ihrer App hinzu .
Beachten Sie, dass Sie
implementation
eher alscompile
jetzt verwenden sollten. Dies ist neu in Android Studio 3.0. In diesen Fragen und Antworten finden Sie eine Erklärung des Unterschieds.quelle
com.android.tools.build:gradle:2.3.3
anstelle von 3.0.0 in Android Studio 3 verwenden, wenn Sie "compile" weiterhin verwenden möchten.Um dieses Problem zu beheben, müssen Sie lediglich den abs-Ressourcenpfad zu Ihrer Projekterstellungsdatei hinzufügen, wie folgt:
Also kompiliere ich wieder fehlerfrei.
quelle
Wenn Sie Android Studio .0.4.0 haben, können Sie einen neuen Ordner in Ihrem Erstellungspfad erstellen
YourApp/libraries
. Kopieren Sie die JAR-Datei. Klicken Sie dort mit der rechten Maustaste darauf und klicken Sie auf "Als Bibliothek hinzufügen". Jetzt hast du ein Popup. Wählen Sie einfach Ihr Verzeichnis aus und drücken Sie OK.quelle
Importieren Sie einfach das Android-Bibliotheksprojekt als Modul und in Build.gradle .
Plugin anwenden: 'com.android.library'
Führen Sie danach die folgenden Schritte aus:
quelle
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. Für einen neuen Benutzer ist das sehr einfach.
quelle
Ich habe die Lösung gefunden. Es ist so einfach. Folgen Sie den Anweisungen von froger_mcs .
Stellen Sie sicher, dass Sie den Ordner src unter Projektstruktur -> Module (Quellen) zu einem Quellordner machen.
quelle
Grundsätzlich können Sie Ihre JAR-Dateien auf drei verschiedene Arten einbinden. Die letzte ist eine Remote-Bibliothek, die das Online-Repository https://bintray.com/jcenter verwendet. Wenn Sie dies jedoch auf eine der beiden anderen Arten tun, wird die JAR-Datei physisch in Ihr Projekt aufgenommen. Bitte lesen Sie diesen Link https://stackoverflow.com/a/35369267/5475941 für weitere Informationen. In diesem Beitrag habe ich erklärt, wie Sie Ihre JAR-Datei in Android Studio importieren und alle möglichen Möglichkeiten erläutern.
Zusammenfassend gesagt, wenn es so ist (lokale Adresse), werden sie heruntergeladen und diese JAR-Dateien befinden sich physisch im Projekt:
Wenn es sich jedoch um eine Internetadresse wie diese handelt, handelt es sich um Remote-Bibliotheken (bintray.com jcenter part), die remote verwendet werden:
Ich hoffe, es hilft.
quelle
Öffnen Sie die App-Datei des Build Gradle-Moduls und fügen Sie Ihre Abhängigkeit hinzu. Wenn Sie die Bibliothek herunterladen, importieren Sie sie einfach und erstellen Sie sie als Gradle.
Andernfalls fügen Sie Repositorys in der Side Gradle Module App hinzu:
Die ersten Repositorys laden die Bibliothek für Sie herunter.
Und kompilieren Sie die heruntergeladene Bibliothek:
Wenn Sie eine Bibliothek erstellen, müssen Sie das Projekt nur als neues Modul importieren importieren.
quelle
Ich hatte eine andere Ursache für das Problem, also für die Leute:
Ändern Sie mavenCentral () in jcenter () und fügen Sie hinzu
quelle
Wechseln Sie in Android Studio in den App-Ordner und öffnen Sie die Datei build.gradle. Hier sehen Sie Abhängigkeiten {}. Darin können Sie das Bibliotheksprojekt hinzufügen und synchronisieren. Nachdem Sie die Bibliothek synchronisiert haben, wird sie Ihrem Projekt hinzugefügt, und Sie können ihre Funktionen und Klassen in Ihrem Projekt verwenden.
quelle
Für Android Studio:
Klicken Sie auf Build.gradle (Modul: App) .
Und hinzufügen für
und erstellen Sie in Ihrem Verzeichnis "app" ein Verzeichnis "libs". Fügen Sie die Datei yourfile.jar hinzu:
Kompilieren Sie abschließend die Gradle-Dateien:
quelle
Ich bin auch auf das gleiche Problem gestoßen, als ich folgende Dinge getan habe.
Ich importiere das Bibliotheksprojekt über das Menü Datei -> Modulmenüs in meine AndroidStudio-IDE als Modul
Dann ging ich zu meinem Hauptmodul, in dem ich das Bibliotheksprojekt als abhängiges Projekt haben möchte
Klicken Sie mit der rechten Maustaste auf das Hauptmodul (in meinem Fall heißt es App ) -> Moduleinstellung öffnen -> Gehen Sie zur 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 aus
Übernehmen Sie die Änderungen und klicken Sie auf die OKSchaltfläche.
Es hat bei mir funktioniert. Ich hoffe es wird auch anderen helfen.
quelle
Fügen Sie dies in Ihre Build-Gradle-Datei ein:
quelle
Wenn sich die Versionen ändern, ändern sich auch die Benutzeroberfläche und die im Menü verfügbaren Optionen. Nachdem ich die meisten Antworten auf diese Fragen gelesen hatte, musste ich raten, was für Android Studio 1.1.0 funktionieren würde .
Wählen Sie mit der Maus das Projekt auf der Hauptebene aus (hier wird der Name Ihrer App angezeigt).
Klicken Sie mit der rechten Maustaste und wählen Sie die Menüoptionen Neu, Ordner, Assets-Ordner .
Fügen Sie nach dem Erstellen des Assets-Ordners die für Ihre Bibliothek erforderliche JAR-Datei ein oder kopieren Sie sie.
Wählen Sie im Hauptmenü von Android Studio (oben auf dem Bildschirm) Datei -> Projektstruktur .
Wählen Sie dann Ihren Projektnamen aus und wechseln Sie zur Registerkarte Abhängigkeiten .
Klicken Sie auf das Pluszeichen ( +) unten links im Dialogfeld und wählen Sie die Dateiabhängigkeit aus.
Öffnen Sie schließlich den zuletzt erstellten Assets-Ordner, wählen Sie die kopierten JAR-Dateien aus und klicken Sie dann auf Übernehmen und OK.
Bereinigen und erstellen Sie Ihr Projekt neu.
quelle