Dodanie zewnętrznej biblioteki w Android Studio

119

Chcę dodać zewnętrzną bibliotekę https://github.com/foursquare/foursquare-android-oauth do mojej aplikacji na Androida (używam Android Studio, instrukcje dostarczone przez autora lib dla Eclipse nie działają dla Android Studio).

Próbowałem to zrobić za pomocą mavena, więc w File-> Project Structure-> Dependencies, które dodałem, com.foursquare:foursquare-android-nativeoauth-lib:1.0.0ale Gradle Sync nie działa:

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

Kiedy próbuję zbudować moją aplikację (bez naprawy powyższego błędu, ponieważ nie wiem jak) otrzymuję:

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.

Jakiś inny sposób zaimportowania tej biblioteki? Mogę po prostu skopiować i wkleić kod źródłowy do mojego źródła lub utworzyć z niego JAR?

BTW: jeśli napotkasz problemy, zobacz to pytanie (miałem ten problem po imporcie): Manifest łączenie nie powiodło się: używa-sdk: minSdkVersion 14

Marian Paździoch
źródło

Odpowiedzi:

96

Spróbuj tego:

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

Gdzie zależnością modułu jest folder biblioteki projektu w systemie Android.

malcubierre
źródło
2
Wiem to z doświadczenia i inspekcji ... Ale są dostępne dokumenty: developer.android.com/sdk/installing/studio-build.html
malcubierre
26
Jak można to zrobić BEZ kopiowania? Biblioteka jest używana przez inne projekty inne niż Android i jest rutynowo aktualizowana. Jeśli skopiuje źródło, zmiany w oryginale nie będą widoczne. Czy to nie jest głupie?
Brian Reinhold,
1
gdzie jest opcja Struktura projektu?
zulkarnain shah
2
Znaleziono zależność modułów ass, ale pojawiło się okno dialogowe „Wybierz moduły \ nWybierz moduły, od których powinien zależeć bieżący moduł: \ nNic do pokazania \ n [Ok] [Anuluj]”. Nie można wybrać pobranej biblioteki.
David162795
1
Dodałem zewnętrzną bibliotekę w ten sposób i otrzymałem błąd „Nie można rozwiązać zależności dla„: app @ buildTypeUnitTest / compileClasspath ”: nie można rozwiązać projektu: plik_zip.” Wygenerowany kod w zależności to `` projekt implementacji (': plik_zip') `. Używam również „com.android.tools.build:gradle:3.2.0-rc03” i https \: //services.gradle.org/distributions/gradle-4.6-all.zip
Nikola
209

Wypróbuj jedno z tych podejść:

Podejście 1)

1- Wybierz widok projektu

wprowadź opis obrazu tutaj

2- Skopiuj plik JAR w aplikacji -> folder lib

wprowadź opis obrazu tutaj

3- Kliknij prawym przyciskiem myszy plik JAR i wybierz opcję Dodaj jako bibliotekę

wprowadź opis obrazu tutaj wprowadź opis obrazu tutaj

4- Sprawdź to w build.gradle

wprowadź opis obrazu tutaj


Podejście 2)

1- Plik -> Nowy -> Nowy moduł

wprowadź opis obrazu tutaj

2- Importuj pakiet .JAR / .AAR

wprowadź opis obrazu tutaj

3- Przejrzyj plik JAR

wprowadź opis obrazu tutaj

4- Zakończ

5- Plik -> Struktura projektu -> Zależności

wprowadź opis obrazu tutaj

6- Powinieneś kliknąć przycisk +, a następnie kliknąć Zależność modułu

wprowadź opis obrazu tutaj

7- Tutaj zobaczysz swoją bibliotekę

wprowadź opis obrazu tutaj

8- wybierz swoją bibliotekę i kliknij OK

wprowadź opis obrazu tutaj

9- Następnie zobaczysz, że Twoja biblioteka została dodana.

wprowadź opis obrazu tutaj


Do pierwszych dwóch podejść potrzebny jest plik JAR. Możesz przeszukać http://search.maven.org/, aby znaleźć pliki JAR powiązane z systemem Android. Na przykład jest to wynik wyszukiwania dla jdom w tym linku

Wynik wyszukiwania dla jdom


Podejście 3) Android używa http://jcenter.bintray.com/ jako zdalnej biblioteki. Na przykład jest to wynik wyszukiwania dla jdom w linku.

jcenter jdom

Aby dodać bibliotekę w tym podejściu, wykonaj następujące kroki:

1- Plik -> Struktura projektu -> Zależności

wprowadź opis obrazu tutaj

2- Kliknij przycisk + i wybierz zależność biblioteki

wprowadź opis obrazu tutaj wprowadź opis obrazu tutaj

3- znajdź swoją bibliotekę i wybierz ją, a następnie kliknij OK.


Mam nadzieję, że to pomoże.

Mohammad
źródło
13
Najlepsza odpowiedź w całym przepełnieniu stosu
mizerablebr
1
Cieszę się, że moja odpowiedź okazała się przydatna. Doceniam twoją opinię.
Mohammad
1
Approche 2 działa dla mnie. Dzięki za ilustracje :)
Hichem Acher
1
Nie ma za co. Cieszę się, że ten post ci pomógł.
Mohammad,
1
Nie dostaję opcji Dodaj jako bibliotekę w kroku 3 w moim Android Studio 3.0.1
Shylendra Madda
28

Aby odwołać się do zewnętrznego projektu lib bez kopii, po prostu wykonaj następujące czynności: - Wstaw te 2 wiersze w setting.gradle:

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

Wstaw tę linię w zależności od części build.gradlepliku:

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

Synchronizuj projekt

Pedro Santos
źródło
1
Świetna odpowiedź, tworzy link do oryginalnej biblioteki, dzięki czemu nie będziesz musiał ponownie importować po zmianie kodu biblioteki!
diman
21

Są dwa najprostsze sposoby, jeśli jeden nie działa, spróbuj drugiego.

  1. Dodaj zależność biblioteki wewnątrz zależności wewnątrz build.gradlepliku biblioteki, której używasz, i wklej swoją bibliotekę do bibliotek zewnętrznych.

LUB

  1. Po prostu przejdź do swojego libsfolderu wewnątrz appfolderu i wklej tam wszystkie swoje, .jarnp. Pliki biblioteki. Teraz sztuczka polega na tym, że teraz przejdź do settings.gradlepliku, a teraz dodaj tę linię include ':app:libs'po include ':app'tym, jak na pewno zadziała.
Sudhanshu Gaur
źródło
19

Jakiś inny sposób zaimportowania tej biblioteki? Mogę po prostu skopiować i wkleić kod źródłowy do mojego źródła lub utworzyć z niego JAR?

Wykonaj instrukcje dotyczące importowania biblioteki w Android Studio 1.1

  1. Idź do pliku -> Importuj moduł.
  2. Katalog źródłowy -> Przeglądaj ścieżkę projektu.
  3. Określ nazwę modułu
  4. Otwórz plik build.gradle (moduł: aplikacja)
  5. Dodaj następujący wiersz z nazwą modułu

    kompiluj projekt (': nazwa_projektu_wewnętrznego')

Zaczerpnięte z: jak dodać bibliotekę w Android Studio

Znać to
źródło
8

Późna odpowiedź, chociaż myślałem o udzieleniu dogłębnej odpowiedzi na to pytanie. Ta metoda jest odpowiednia dla Android Studio 1.0.0 i nowszych.

KROKI

  1. Najpierw zmień strukturę folderów z Androida na Project .

wprowadź opis obrazu tutaj

  1. Teraz wyszukaj folder libs w folderze app - build.

wprowadź opis obrazu tutaj

  1. Po wklejeniu pliku .jar do folderu libs. Kliknij prawym przyciskiem myszy plik jar, a na koniec kliknij Dodaj jako bibliotekę . To zajmie się dodaniem plików kompilacji ('libs / nazwa_biblioteki.jar') w build.gradle [Nie musisz ręcznie wpisywać tego w pliku kompilacji].

wprowadź opis obrazu tutaj

Teraz możesz zacząć korzystać z biblioteki w swoim projekcie.

capt.swag
źródło
w moim przypadku przy pierwszym podejściu nie widziałem na liście opcji dodaj jako biblioteki, ale druga opcja zadziałała. Ale moje pytanie brzmi: dlaczego opcja dodawania jako biblioteki nie została pokazana w moim przypadku
Abdul Waheed
Bardzo pomocny Dziękuję! Uwaga: po zaktualizowaniu Android Studio przycisk „Dodaj jako bibliotekę” nie znajduje się już na dole listy. Jest teraz około 5 od dołu.
JFreeman,
8

Ja też stanąłem przed tym problemem. Wtedy wykonałem kilka kroków, takich jak:

  1. File> New> Import module> select your library_project. Następnie include 'library_project'zostanie dodany w settings.gradlepliku.

  2. File> Project Structure> App> Dependencies Tab> select library_project. Jeśli się library_projectnie wyświetla, kliknij +przycisk, a następnie wybierz swój library_project.

  3. Oczyść i zbuduj swój projekt. Następujące wiersze zostaną dodane do modułu Twojej aplikacji build.gradle( wskazówka: to nie jest ten, w którym classpathjest zdefiniowany ).

 dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile project(':library_project')
 }
  1. Jeśli tych linii nie ma, musisz dodać je ręcznie, a następnie wyczyścić i ponownie zbudować projekt ( Ctrl + F9).

  2. Folder o nazwie library_projectzostanie utworzony w folderze aplikacji.

  3. Jeśli zostanie utworzona ikona lub błąd łączenia zadań, przejdź do AndroidManifestpliku i dodaj<application tools:replace="icon,label,theme">

Ratna Halder
źródło
7

Trzy sposoby w Android Studio na dodanie zewnętrznej biblioteki.

  1. jeśli chcesz dodać zależność projektu libarary w swoim projekcie:

    A. W menu plik kliknij nowy i wybierz moduł importu, wybierz ścieżkę projektu biblioteki i kliknij OK, projekt biblioteki zostanie automatycznie dodany do projektu Android Studio.

    B. Teraz otwórz plik gradle modułu głównego (np. Aplikacji) i dodaj zależności projektu w zależnościach sekcji zależności {

    kompiluj projekt (': nazwa projektu biblioteki')

  2. jeśli chcesz dodać plik jar: A. dodaj plik jar w folderze libs. B. I dodaj zależność

    compile fileTree (dir: 'libs', include: '* .jar') // dodaj cały plik jar z folderu libs, jeśli chcesz dodać konkretny plik jar z libs dodaj poniżej zależność.

    kompilować pliki („libs / abc.jar”)

  3. Dodaj zależność z adresu URL (zalecane). lubić

    skompiluj „com.mcxiaoke.volley: library-aar: 1.0.0”

vinod
źródło
cześć vinod, czy możesz wyjaśnić, jak dodać zależność za pomocą adresu URL? Czy może to być adres URL gita, który po zmianie zostanie zaimportowany bezpośrednio do mojego projektu? Jestem trochę nowy w tym rozwoju, więc proszę o
wyrozumiałość,
Cześć Nikhil, przeczytaj artykuł dotyczący zależności Androida, o którym wspominam developer.android.com/studio/build/dependencies.html
vinod
6

Najprostszy sposób, po prostu wykonaj następujące kroki

  1. Idź do File-> New-> Import Module->choose library or project folder

  2. Dodaj bibliotekę, aby uwzględnić sekcję w pliku settings.gradle i zsynchronizuj projekt (po tym możesz zobaczyć nowy folder z nazwą biblioteki dodany do struktury projektu)

    include ':mylibraryName'

  3. Przejdź do Plik -> Struktura projektu -> aplikacja -> karta zależności -> kliknij przycisk plus

  4. Wybierz zależność modułu -> wybierz bibliotekę (nazwa Twojej biblioteki powinna się tam pojawić) i wprowadź zakres (kompilacja lub implementacja)

  5. Dodaj tę linię w build.gradle w module poziomu aplikacji w sekcji zależności

    implementation project(':mylibraryName')

kunal khedkar
źródło
3

Jeśli potrzebna biblioteka znajduje się na GitHub, dodanie jej do Android Studio jest łatwe dzięki JitPack .

Krok 1. Dodaj repozytorium jitpack do build.gradle:

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

Krok 2. Dodaj repozytorium GitHub jako zależność:

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

JitPack działa jako repozytorium Maven i może być używany podobnie jak Maven Central. Fajne jest to, że opiekunowie nie muszą przesyłać biblioteki. Za kulisami JitPack pobierze kod z GitHub i skompiluje go. Dlatego aby to zadziałało, w repozytorium git musi znajdować się działający plik kompilacji.

Istnieje również przewodnik dotyczący publikowania biblioteki systemu Android.

Andrejs
źródło
Czy to nie będzie przechowywać plików zależności w drzewie projektu?
user7860670
2

Android studio nie używa Maven, używa Gradle, możesz otworzyć build.gradletrasę, która powinna być: /app/build.gradlei dodać zależność Gradle, która pokazuje się w repozytorium:

build.gradleMa dependenciessekcję:

dependencies {
    //here add your dependency
}

Repozytorium mówi, że musisz dodać tę zależność:

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

tylko dodaj tę linię do swojego dependencieson buil.gradle, zapisz plik, a android odbuduje projekt, to wszystko

Carlos Herrera Plata
źródło
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.

Otwórz plik build.gradle (moduł: aplikacja).

 implementation project(':library')
Soumen Das
źródło
1

Zmień dowolny projekt na githubie w implementację gradle w jednym wierszu dzięki tej witrynie

https://jitpack.io/

Przykład, potrzebowałem tego projektu: https://github.com/mik3y/usb-serial-for-android

Wszystko, co zrobiłem, to wkleić to do mojego pliku gradle:

implementation 'com.github.mik3y:usb-serial-for-android:master-SNAPSHOT'
Cagney
źródło
Uratowałeś mnie! :). Dziękuję, bardzo dziękuję. To takie proste dzięki sztuczce, którą powiedziałeś! : Walczyłem przez blisko 4 godziny, zanim zobaczyłem Twoją odpowiedź! :)
Victor,
0

Miałem ten sam problem. Stało się tak z powodu zależności biblioteki podstawowej. Używałem javax. *. Oto, co zrobiłem, aby naprawić

W Plik-> Struktura projektu-> Zależności dodałem to jako dostarczony plik, a nie kompilację. Następnie ponownie skompiluj projekt.

Ten problem pojawił się po aktualizacji studia Android. Ale myślę, że dzieje się tak, gdy próbujesz edytować ręcznie budować pliki.

sudheer
źródło
0

Dodanie biblioteki w Android Studio 2.1

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

Po prostu zmień go na widok projektu

pod app->lib foldermożesz bezpośrednio skopiować, wkleić bibliotekę i zsynchronizować ją z systemem Android. Otóż ​​to

Vinayak Shedgeri
źródło
Skopiuj i wklej bibliotekę? To adres URL repozytorium github
Odys,
0

1) Po prostu pobierz swoją bibliotekę stąd http://search.maven.org/

2) Utwórz folder libs w katalogu aplikacji

3) wklej tam bibliotekę ur

4) kliknij prawym przyciskiem myszy bibliotekę ur i kliknij „Dodaj jako bibliotekę”

5) To wszystko, co musisz zrobić!

Mam nadzieję, że to na pewno Ci pomoże !!!!

Aditya Kumar
źródło
0

W nowej wersji 4.1 są pewne zmiany

zamiast kompilacji powinniśmy użyć implementacji

implementacja „com.android.support:appcompat-v7:26.0.0”

Vahe Gharibyan
źródło
-1
  1. W sekcji repozytoria pliku build.gradle projektu dodaj następujące elementy:
flatDir { dirs 'aars' } 
  1. W sekcji zależności pliku build.gradle dodaj następujące elementy:

kompiluj „[identyfikator grupy]: [identyfikator artefaktu]: [wersja] @aar”

zastępując [identyfikator grupy] itp. różnymi atrybutami lib

  1. utwórz podkatalog w katalogu aarsprojektu

  2. Skopiuj [youlibrary].aardo podkatalogu utworzonego w 3. powyżej.

  3. Buduj i ciesz się!

Ed Manners
źródło
-2

PROSTE KROKI DODANIA DOWOLNEJ BIBLIOTEKI W STUDIO ANDROID:

  1. Skopiuj dany plik z dowolnego folderu na komputerze (np. C: /documents/xyz.jar ”), a następnie przejdź do Android Studio i kliknij prawym przyciskiem myszy folder Project Library i wybierz wklej.

  2. Teraz kliknij prawym przyciskiem myszy nowo dodany plik biblioteki i wybierz opcję „dodaj jako bibliotekę”

GOTOWE

John yepthomi
źródło