Jak dodać projekt biblioteki do programu Android Studio?

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

Jak dodać projekt biblioteki (np. Sherlock ABS) do Android Studio ?

(Nie do starego pakietu opartego na Eclipse ADT, ale do nowego Android Studio .)

4 Comments
25 Daniel Smith 05/21/2013
tak oszukiwanie to było bardziej mylące, niż powinno być ... nie tak, jak było lepiej w zaćmie.
3 user1785900 01/19/2014
Film YouTube How to Add Libraries to Android Studio wyjaśnia ten proces.
1 craned 10/16/2014
Jeśli korzystasz z Gradle , przeczytaj tę odpowiedź StackOverflow .
1 Simon 12/20/2014
Oto film, który okazał się naprawdę przydatny: youtube.com/watch?v=1MyBO9z7ojk

29 Answers


froger_mcs 05/23/2017.

Update for Android Studio 1.0

Ponieważ Android Studio 1.0 został wydany (a wiele wersji między v1.0 a jednym z pierwszych z mojej poprzedniej odpowiedzi), niektóre rzeczy się zmieniły.

Mój opis skupia się na dodawaniu zewnętrznego projektu biblioteki ręcznie przez pliki Graddu (dla lepszego zrozumienia procesu). Jeśli chcesz dodać bibliotekę przez twórcę Android Studio, sprawdź poniższą odpowiedź za pomocą wizualnego przewodnika (istnieją pewne różnice między Android Studio 1.0 a tymi z zrzutów ekranu, ale proces jest bardzo podobny).

Zanim zaczniesz ręcznie dodawać bibliotekę do projektu, rozważ dodanie zewnętrznej zależności. Nie bałagan w strukturze projektu. Prawie każda dobrze znana biblioteka Androida jest dostępna w repozytorium Maven, a jego instalacja zajmuje tylko jedną linię kodu w pliku app/build.gradle :

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

Adding the library

Oto pełny proces dodawania zewnętrznej biblioteki Android do naszego projektu:

  1. Utwórz nowy projekt za pomocą twórcy Android Studio. Ja nazwałem to HelloWorld .
  2. Oto oryginalna struktura projektu stworzona przez firmę Android Studio:
HelloWorld/
      app/
           - build.gradle  // local Gradle configuration (for app only)
           ...
      - build.gradle // Global Gradle configuration (for whole project)
      - settings.gradle
      - gradle.properties
      ... 
  1. W katalogu głównym ( HelloWorld/ ) utwórz nowy folder: /libs w którym umieścimy nasze zewnętrzne biblioteki (ten krok nie jest wymagany - tylko dla utrzymania czystszej struktury projektu).
  2. Wklej bibliotekę do folderu nowo utworzonego /libs . W tym przykładzie używałem biblioteki PagerSlidingTabStrip (wystarczy pobrać plik ZIP z GitHub, zmienić nazwę katalogu biblioteki na "PagerSlidingTabStrip" i skopiować). Oto nowa struktura naszego projektu:
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. Edytuj settings.gradle, dodając swoją bibliotekę. Jeśli używasz ścieżki niestandardowej tak jak ja, musisz zdefiniować katalog projektu dla naszej biblioteki. Całe ustawienie.gradle powinno wyglądać poniżej:

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

5.1 Jeśli napotkasz błąd "Domyślna konfiguracja", spróbuj to zamiast kroku 5,

include ':app'
    include ':libs:PagerSlidingTabStrip' 
  1. W app/build.gradle dodaj naszą bibliotekę jako zależność:

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

6.1. Jeśli wykonałeś krok 5.1, a następnie postępuj zgodnie z tym zamiast 6,

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

        compile project(":libs:PagerSlidingTabStrip")
    } 
  1. Jeśli projekt biblioteki nie ma pliku build.gradle , musisz utworzyć go ręcznie. Oto przykład tego pliku:

    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. Ponadto można utworzyć globalną konfigurację dla swojego projektu, która będzie zawierać wersje SDK i narzędzia do budowania dla każdego modułu, aby zachować spójność. Wystarczy, że edytujesz plik gradle.properties i dodaj wiersze:

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

    Teraz możesz używać go w plikach build.gradle (w modułach aplikacji i bibliotek), jak poniżej:

    //...
    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. To wszystko. Wystarczy kliknąć, zsynchronizować projekt z ikoną Gradle'a zsynchronizuj się z Gradle . Twoja biblioteka powinna być dostępna w Twoim projekcie.

Google I / O 2013 - nowy Android SDK Build System to świetna prezentacja na temat tworzenia aplikacji z systemem Gradle Build: Jak powiedział Xavier Ducrohet:

Android Studio dotyczy edycji, debugowania i profilowania. To już nie budowanie.

Na początku może to być trochę mylące (zwłaszcza dla tych, którzy pracują z Eclipse i nigdy nie zobaczyli mnie jak mrówek,)), ale na końcu Gradle daje nam kilka świetnych możliwości i warto poznać ten system kompilacji.

5 comments
6 victor n. 05/24/2013
hej, doskonale wyjaśniłeś prawdziwą sprawę. głosując swoją odpowiedź, aby inni mogli to zobaczyć. jedna mała rzecz, która nie działała z mojej strony, odwołuje się do biblioteki pomocy w build.gradle zależności. jak się okazuje ": Project / libs ..." nie działał z jakiegokolwiek powodu. musiałem usunąć identyfikację projektu. więc "libs / ...". i to skompilowane grzywny. jedna uwaga jest taka, że ​​te dwa sposoby odwołania ścieżek lub projektów są mylące. Mam nadzieję, że w przyszłości pojawi się prosty i jednolity system. nie ma powodu, dlaczego oryginalne rozwiązanie nie zadziałało.
9 Akbar ibrahim 05/24/2013
+1. Przez wiele lat zmagał się z tym. Jak twierdził victor n , odwoływanie się do głównego słoika wsparcia projektu z modułu actionbarsherlock nie działa. Musiałem wykonać następujące czynności, aby to zadziałało ... (1) Usuń pliki kompilacji ('libs / android-support-v4.jar') z projektu build.gradle. Główny moduł powinien mieć tylko skompilowany projekt (": libraries: actionbarsherlock") . (2) Dodaj plik kompilacji ('libs / android-support-v4.jar') zamiast kompilować pliki (': HelloWorld / libs / android-support-v4.jar') w build.gradle actionbarsherlock.
8 alicanbatur 11/07/2013
Dlaczego nie mam sekcji "Importuj moduł", pod warunkiem, że nas kierujesz? Używam Android Studio 0.3.1
5 amalBit 02/08/2014
Brak modułu importowania!
147 Kyle Gobel 10/19/2014
Dlaczego to jest tak cholernie mylące ?!

Sam Rad 07/01/2016.

Oto wizualny przewodnik:

Update dla Android Studio 0.8.2:

W Android Studio 0.8.2 przejdź do Project Structure -> w obszarze Modules kliknij przycisk plus i wybierz Import Existing Project i zaimportuj actionbarsherlock . Następnie zsynchronizuj pliki Graddu.

Jeśli napotkasz błędu

Błąd: wersja narzędzia SDK Build Tools (xx.xx) jest za mała. Minimalne wymagania to yy.yy

wystarczy otworzyć plik build.gradle w katalogu buildToolsVersion i zaktualizować buildToolsVersion do sugerowanego.

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

Android Studio 0.8.2


File Menu -> Project Structure... :

Pierwszy

Module -> Import Module

druga

Po zaimportowaniu modułu biblioteki wybierz moduł projektu i dodaj zależność:

Trzeci

Następnie wybierz imported module :

Naprzód

5 comments
29 amalBit 02/08/2014
Opcja modułu importu nie jest dostępna w Android Studio4.3
3 toobsco42 08/25/2014
Kluczem do mnie, aby wykonać tę pracę i rozwiązać błędy nie znaleziono pakietu, był krok Select your project module and add dependency dependencies { // ... compile project(':library') }
6 Rémy DAVID 10/06/2014
Spowoduje to skopiowanie modułu biblioteki w projekcie, co nie jest pożądane, jeśli chcesz wspólną bazę kodu współdzieloną między kilkoma projektami
CCJ 11/13/2015
@amalBit są ... czy jesteś z przyszłości? Ale poważnie, muszą uczynić to proste, tak jak w Eclipse ADT; kto chce trafić do repozytorium repo i skompilować (potencjalnie) dowolny kod w każdej z tych kompilacji? To poważnie narusza protokoły kontroli jakości i zamrażania kodu
amalBit 11/17/2015
W trakcie beta dni Android studio 0.4.3. Jeśli chodzi o przystąpienie repo trzeciego klienta, id powiedz, unikaj używania +. Wystarczy określić wersję, którą chcesz. Jeśli u cant cant ufać wystarczająco, można utworzyć słoik (lub klon) repo i używać go.

Blackbelt 07/01/2016.

Użyj menu File -> Project Structure -> Modules .

Zacząłem używać tego dzisiaj. Jest trochę inaczej.

W przypadku Sherlocka może chcesz usunąć katalog testowy lub dodać plik junit.jar do ścieżki klasy.

Aby zaimportować bibliotekę za pomocą gradle, musisz dodać ją do sekcji dependencies w build.gradle (moduł tego modułu).

Na przykład

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

Zmienia się Android Studio.

Na karcie modułu w sekcji projektu Android Studio znajduje się sekcja o nazwie "Otwórz ustawienia modułu" (używam wersji 0.2.10).

5 comments
1 Alexander Kulyakhtin 05/16/2013
Hmm nadal mówi android-apt-compiler: styles.xml: 5: błąd: błąd pobierania elementu nadrzędnego dla elementu: nie znaleziono znalezionego zasobu, który pasuje do podanej nazwy 'Theme.Sherlock.Light.DarkActionBar'.
Blackbelt 05/16/2013
W module Sherlock -> Dependecies Mam android 4.2.2 i bibliotekę support v4
Blackbelt 05/16/2013
@ ρяσѕρєяK obok przycisku uruchamiania jest etykieta z Androidem. Jeśli masz ckick tam znajdziesz Edytuj konfigurację. Naciśnij i pod pozycję Urządzenie docelowe, kliknij "Show Chooser Dialg"
7 fish 05/16/2013
Hi, Mam ten sam problem, jak Alex ("Gradle: Błąd pobierania elementu nadrzędnego dla elementu: Brak znalezionego zasobu, który pasuje do określonej nazwy" Theme.Sherlock.Light ".) - zależność Java wydaje się być rozwiązana prawidłowo, IDE nie obwinia mojego SherlockActivity, ale z jakiegoś powodu Gradle nie wydaje się patrzeć na źródła ABS. Jakieś pomysły?
4 Konrad Morawski 09/15/2013
W Android Studio 0.2.8 nie ma sekcji Modules w oknie Project Structure .

Jonathan Lin 10/14/2013.

Uważam, że konieczne jest odczytywanie zależności, bibliotek Androida i instalacji wielostanowiskowej. Proszę zrobić kilka minut, aby to zrobić.

W szczególności, w przypadku projektu biblioteki innych niż jar, przeczytaj poniższy fragment z powyższego źródła:

Projekty Graddu mogą również zależeć od innych projektów gradle przy użyciu konfiguracji wielu projektów. Konfiguracja wielu projektów zazwyczaj działa poprzez wszystkie projekty jako podfoldery danego projektu korzeniowego.

Na przykład, biorąc pod uwagę następującą strukturę:

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

Możemy zidentyfikować 3 projekty. Gradle odwoła się do nich o następującej nazwie:

:app
:libraries:lib1
:libraries:lib2 

Każdy projekt będzie miał własną build.gradle, deklarującą, jak się pobuduje. Ponadto w katalogu głównym deklarującym projekty będzie plik o nazwie settings.gradle. Daje to następującą strukturę:

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

Zawartość settings.gradle jest bardzo prosta:

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

Określa, który folder jest projektem Gradle.

Projekt aplikacji: prawdopodobnie zależy od bibliotek i odbywa się to przez deklarowanie następujących zależności:

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

Warto zauważyć, że było niewiele lub nie było zastosowania Android Studio GUI, aby to się stało.

Obecnie używam submodules git do łączenia zagnieżdżonej biblioteki do repo git repo biblioteki, aby uniknąć bałaganu zależności.

4 comments
Jonathan Lin 10/14/2013
Pozdrawiam, jeśli okaże się to pomocne, aby inni mogli uniknąć bólu i poruszać się szybciej.
RichieHH 03/24/2014
Bardzo pomocny, a co ważniejsze, nie grał w gigach dnia.
1 dcunited001 04/20/2014
dziękuję za to, że zawiera tylko jedyną odpowiedź, która ma sens. każda inna odpowiedź jest przestarzała i po prostu nie działa. nawet nie próbowałem w CS w Virginia Tech, ponieważ całe pierwsze dwa lata nauczył się chodzić w zaćmienie. to nie miało żadnego sensu, ale widząc wynik gradle przypadkowych kliknięć w IDE nie.
velis 06/01/2015
Dzięki za git submodules końcówki. Używałem wcześniej skrzyżowania, ale teraz przełączałem się na zewnętrzne SVN. Działa jak marzenie.

René Michel 07/01/2016.

Właśnie znalazłem łatwiejszy sposób (zamiast pisać bezpośrednio do plików .gradle).

To jest dla Android Studio 1.1.0.

  1. File Menu -> New Module... :

    Import istniejącego projektu

    Kliknij "Import istniejącego projektu".

  2. Wybierz żądaną bibliotekę i żądany moduł.

  3. Kliknij wykończenie. Android Studio importuje bibliotekę do projektu. Będzie synchronizować pliki gradle.

  4. Dodaj zaimportowany moduł do zaleceń projektu.

    Kliknij prawym przyciskiem myszy na folderze aplikacji -> Otwórz Ustawienia modułu -> przejdź do zakładki Powiązania -> Kliknij przycisk '+' -> kliknij opcję Zależność modułów.

    Moduł biblioteki zostanie następnie dodany do zależności projektu.

    Dodaj moduł biblioteki

  5. ???

  6. Zysk


Vilen 07/01/2016.

Najprostszym sposobem, w jaki znalazłem się w projekcie biblioteki zewnętrznej jest (na przykład włączenie biblioteki Facebook, która jest przechowywana w folderze katalogów zależnych):

  1. W settings.gradle add

    include ':facebook'
    
    project(':facebook').projectDir = new File(settingsDir, '../dependencies/FacebookSDK') 
  2. W sekcji dependencies build.gradle dodaj

    compile project ('facebook') 

Wszystko co musisz zrobić to zsynchronizować projekt z plikami gradle.

4 comments
Rajnish Mishra 03/23/2015
Cześć Vilen co to jest settingsDir tutaj
Vilen 04/02/2015
Cześć Rajanie. Z dokumentacji: settingsDir Zwraca katalog ustawień pakietu. Katalog ustawień to katalog zawierający plik ustawień. Zwroty: katalog ustawień. Nigdy nie zwraca null.
Rajnish Mishra 04/03/2015
Dwie kropki przed / zależnościami są ważniejsze, aby być pod opieką Odpowiedź udzielała mi dużo .. Dzięki
Solata 11/18/2015
NOTE: przypadku oceny ciągów w gradle należy użyć podwójnego cudzysłowia (""), co oznacza "zapisz ten dzień" dla mnie

Eugene Bosikov 07/01/2016.

Prosty sposób dodawania pliku JAR jako biblioteki do projektu Studio Android:

a) Skopiuj pliki * .jar

b) Wklej do katalogu libs w Twoich projektach:

Wprowadź opis zdjęcia tutaj

c) Dodaj do build.gradle:

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

b) Jeśli projekt z przykładu com.example.MYProjekt i biblioteki com.example.ScanAPI ma ten sam obszar nazw com.przyklad , program Android Studio sprawdzi budowę i utworzy wszystkie niezbędne zmiany w projekcie. Następnie można przejrzeć te ustawienia w menu File -> Project Structure .

c) Jeśli projekt i biblioteki mają inny obszar nazw , kliknij prawym przyciskiem myszy bibliotekę i wybierz opcję "Dodaj jako bibliotekę" i wybierz żądany typ.

Pamiętaj, że opcja "Struktura projektu" nie powoduje automatycznych zmian w "build.gradle" w bieżącej wersji Android Studio (0.2.3). Być może ta funkcja będzie dostępna w następnych wersjach.


pathe.kiran 06/27/2016.

Opcja 1: upuść pliki do biblioteki libs / katalogu projektu

Odpowiedni plik build.gradle zostanie automatycznie zaktualizowany.

Opcja 2: ręcznie modyfikuj plik build.gradle

Otwórz plik build.gradle i dodaj nową regułę kompilacji do zamknięcia zależności. Jeśli na przykład chcesz dodać usługi Google Play, sekcja zależności z projektem wyglądałaby tak:

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

Opcja 3: Użyj interfejsu użytkownika dla Android Studio

W panelu projektu Control + kliknij moduł, w którym chcesz dodać zależność i wybierz Otwórz Ustawienia modułu.

Wprowadź opis zdjęcia tutaj

Wybierz kartę Zależności, a następnie przycisk + w lewym dolnym rogu. Możesz wybrać jedną z poniższych opcji:

  • Zależność biblioteczna
  • Zależność od pliku
  • Zależność modułów

Następnie można wprowadzić więcej informacji na temat zależności, którą chcesz dodać do projektu. Na przykład jeśli wybierzesz opcję Zależność biblioteczna, program Studio Android wyświetli listę bibliotek do wyboru.

Po dodaniu zależności należy sprawdzić plik build.gradle na poziomie modułu. Powinien był automatycznie uaktualniać, aby uwzględnić nową zależność.

Źródło


drewan50 07/01/2016.

Jeśli potrzebujesz dostępu do zasobów projektu bibliotecznego (podobnie jak w przypadku ABS), upewnij się, że zamiast projektu "Biblioteka" dodaj projekt / moduł biblioteki jako "Zależność modułów".

1 comments
1 cosimo 04/01/2014
Tak! Ty wygrałeś internet! Dzięki! Właśnie zmarnowałem kilka godzin mojego życia, bo tego nie wiedziałem.

pandabear 07/01/2016.

Tak działa dla mnie w Android Studio 1.5

W projekcie, w którym chcesz dodać projekt biblioteki zewnętrznej, przejdź do menu File -> New -> * Importuj nowy moduł **, przejdź do projektu bibliotecznego, który chcesz dodać do projektu, zaznacz, aby dodać moduł 'biblioteki' twój projekt. Otrzymasz settings.gradle w swoich projektach, obok aplikacji, w bibliotece, coś w tym stylu:

include ':app', ':library' 

Dodaj w build.gradle(Module :app) w sekcji zależności:

Compile project(':library')

Odbuduj projekt i to wszystko.

* Można dodać dowolną liczbę bibliotek (modułów). W takim przypadku w settings.gradle będziesz:

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

W build.gradle musisz mieć:

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

    // Some other dependencies...

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

Adiii 07/01/2016.

Możesz to zrobić łatwo. Przejdź do menu File -> New -> Import Module... :

Wprowadź opis zdjęcia tutaj

Przeglądaj katalog zawierający moduł. Kliknij przycisk Zakończ:

Wprowadź opis zdjęcia tutaj

Przejdź do Project Structure i dodaj Module Dependency :

Wprowadź opis zdjęcia tutaj

Uwaga: jeśli pojawi się błąd SDK, zaktualizuj ten.


Dalmas 06/27/2016.

Aby dodać odpowiedź: jeśli IDE nie wyświetla żadnego błędu, ale podczas próby skompilowania otrzymasz coś takiego:

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

Twój projekt biblioteczny prawdopodobnie jest skompilowany jako projekt aplikacji. Aby to zmienić, przejdź do:

Menu File -> Project structure -> Facets -> [Library name] -> Sprawdź "Module Library".


crossle 07/01/2016.
  1. Naciśnij klawisz F4, aby wyświetlić Project Structure , kliknij bibliotekę lub biblioteki globalne, a następnie kliknij +, aby dodać plik JAR.
  2. Kliknij Moduły, co chcesz dodać słoik, wybierz kartę Dependencies , kliknij + i dodaj bibliotekę.

Shakti Malik 07/01/2016.

Edytowanie zależności bibliotecznych za pośrednictwem interfejsu GUI nie jest wskazane, ponieważ nie zapisuje tych zmian w pliku build.gradle. Twój projekt nie zostanie zbudowany z wiersza polecenia. Powinniśmy edytować plik build.gradle bezpośrednio w następujący sposób.

Na przykład, biorąc pod uwagę następującą strukturę:

Mój projekt/

  • aplikacja /
  • biblioteki /
    • lib1 /
    • lib2 /

Możemy zidentyfikować trzy projekty. Gradle odwoła się do nich z następującymi nazwami:

  1. : aplikacja
  2. : biblioteki: lib1
  3. : biblioteki: lib2

Projekt aplikacji: prawdopodobnie zależy od bibliotek i odbywa się to przez deklarowanie następujących zależności:

dependencies {
    compile project(':libraries:lib1')
} 
2 comments
Alexander Kulyakhtin 05/23/2013
Naprawdę? Dziwne, mają cały GUI, a jednak nie jest wskazane. Jak to?
Shakti Malik 05/23/2013
Podczas edytowania za pośrednictwem interfejsu GUI nie zapisuje się tych zmian do pliku build.gradle. Edytowanie GUI zapisuje tylko zmiany w danych projektowych IntelliJ. To jest błąd w chwili, który zostanie ustalony w przyszłych wydaniach. Możesz odnieść się do tej odpowiedzi z zespołu Google Android-Studio Team leadoverflow.com/questions/16678447/ ...

Erwan 05/17/2013.

Po zaimportowaniu modułu ABS (z pliku> Struktura projektu) i upewnieniu się, że jest to zależność od systemu Android 2.2 i biblioteki pomocy technicznej v4, nadal występował następujący błąd: @Alex

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

Dodałem nowo zaimportowany moduł jako zależność od mojego głównego modułu aplikacji i rozwiązano problem.

3 comments
christiaanderidder 05/19/2013
Próbowałem wszystkich kroków obejmujących dodanie modułu jako zależności, ale nadal mam Gradle: Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light'. . Wydaje się, że mój główny projekt nie widzi zasobów projektu bibliotecznego (ABS). IDE rozpoznaje jednak odniesienia do klas i zasobów. Zrzut ekranu
Calvin Chan 06/04/2013
Tu samo. Kto może to rozwiązać?
Dmitriy Tarasov 06/06/2013
Migruję do IDEA 13 od 12 i mam ten błąd. Tylko pomocne będzie ponowne importowanie wszystkich moich zależności. Ręcznie usuwaj wszystkie moduły, usuwaj powiązane pliki * .iml i ponownie importuj swoje libs

azh 02/09/2014.

Aby rozwiązać ten problem, wystarczy dodać ścieżkę zasobów abs do pliku build build, tak jak poniżej:

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

Więc znowu kompiluję się bez żadnych błędów.


Hemant 07/01/2016.

First Way Działa na MacBooka.

Najpierw wybierz plik builder.gradle jako podany ekran:

Wprowadź opis zdjęcia tutaj

Dodaj zależności, takie jak na wybranym ekranie:

Wprowadź opis zdjęcia tutaj

Wybierz projekt synchronizacji.

Jeśli wystąpił błąd "Project with path": signature-pad 'nie można znaleźć w projekcie': app '", a następnie użyj drugiego sposobu:

Wybierz menu File -> New -> Import Module... :

Wprowadź opis zdjęcia tutaj

Po kliknięciu przycisku Import Module ,

Wprowadź opis zdjęcia tutaj

podaj ścieżkę biblioteki jak w mojej ścieżce MacBooka:

Wprowadź opis zdjęcia tutaj

Kliknij przycisk Finish . Teraz dodawana jest biblioteka.


Braunster 02/09/2014.

Jeśli masz Android Studio .0.4.0, możesz utworzyć nowy folder w ścieżce build, YourApp/libraries . Skopiuj plik JAR. Tam, kliknij prawym przyciskiem myszy i "Dodaj jako bibliotekę". Teraz masz popup. Wystarczy wybrać katalog i nacisnąć OK, a to wszystko.


ankitbumblebee 07/01/2016.

https://www.dropbox.com/s/1e3eteu3h0pmkf7/Android%20studio%20_doc.doc?dl=0 to link Dropbox, w jaki sposób dodać plik JAR i projekt biblioteki w najnowszej wersji Android Studio 1.0.1.

Zobacz dokumentację z zrzutami ekranu. To bardzo proste dla nowego użytkownika.


passsy 05/23/2017.

Znalazłem rozwiązanie. To takie proste. Postępuj zgodnie z instrukcjami froger_mcs .

Upewnij się, że katalog src znajduje się w folderze źródłowym w strukturze projektu -> modułach (źródłach).

Wprowadź opis zdjęcia tutaj


voghDev 05/23/2017.

Przykład pomyślnego dodania innej biblioteki (PullToRefresh). Działa również na libproject.

To pytanie SO

Ten post


Mohammad 05/23/2017.

Zasadniczo można dołączyć pliki JAR na trzy różne sposoby. Ostatnia to biblioteka zdalna używająca https://bintray.com/jcenter repozytorium online. Jeśli jednak zrobisz to w jeden z dwóch innych sposobów, plik JAR zostanie uwzględniony fizycznie w Twoim projekcie. Przeczytaj ten link https://stackoverflow.com/a/35369267/5475941, aby uzyskać więcej informacji. W tym poście wyjaśniłem, jak zaimportować plik JAR w studio Android i wyjaśniłem wszystkie możliwe sposoby.

Podsumowując, jeśli jest taki (adres lokalny), są one pobierane, a te pliki JAR są fizycznie w projekcie:

wpisz tutaj opis obrazu

Ale jeśli jest to adres internetowy, są to zdalne biblioteki (część bintray.com jcenter) i będą używane zdalnie:

wpisz tutaj opis obrazu

Mam nadzieję, że to pomoże.


Jinu 06/27/2016.

Otwórz plik aplikacji modułu gradle konstrukcji i dodaj swoją zależność. Jeśli pobierzesz bibliotekę, wystarczy importować i budować jako gradle.

W przeciwnym razie dodaj repozytoria w module modułu gradle:

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

Pierwsze repozytoria pobierają bibliotekę.

Zbuduj pobraną bibliotekę:

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

Jeśli tworzysz bibliotekę, wystarczy importować projekt jako import nowego modułu.


Dharmendra Pratap 06/27/2016.

W Android Studio przejdź do folderu aplikacji wewnątrz i otwórz plik build.gradle. Tutaj zobaczysz zależności {}. Wewnątrz możesz dodać projekt biblioteki i zsynchronizować. Teraz po zsynchronizowaniu biblioteki zostanie on dodany do projektu i możesz używać jego funkcji i klas w projekcie.


MAMASSI 07/01/2016.

Dla Android Studio:

Wprowadź opis zdjęcia tutaj

Kliknij na Build.gradle (module: app) .

I dodaj

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

aw katalogu "app" utwórz katalog "libs". Dodaj plik yourfile.jar:

Wprowadź opis zdjęcia tutaj

Na koniec skompiluj pliki Graddle:

Wprowadź opis zdjęcia tutaj

1 comments
Badre 03/23/2016
szanowny szacunek: D

Pankaj kumar 07/01/2016.

Wystarczy importować projekt biblioteki z Androida jako moduł i Build.gradle .

Zastosuj wtyczkę: 'com.android.library'

Następnie wykonaj następujące kroki:

  1. Kliknij prawym przyciskiem myszy moduł i wybierz otwórz Ustawienia modułu
  2. Wybierz zależności, kliknij na + , wybierz zależności bibliotek i dodaj wcześniej importowany moduł.

jobbert 07/01/2016.

Miałem inną przyczynę problemu, więc dla ludzi:

repositories {
    mavenCentral()
} 

zmień mavenCentral () na jcenter () i dodaj

allprojects {
    repositories {
        jcenter()
    }
} 

Napotkano też tego samego problemu, a potem podążałem za rzeczami.

  1. Zaimportuję projekt biblioteki do mojego systemu AndroidStudio IDE jako moduł używając menu File -> Importuj menu modułów

  2. Potem poszedłem do mojego głównego modułu, w którym chcę, aby projekt biblioteki był projektem zależnym

  3. Kliknij prawym przyciskiem myszy na główny moduł (w moim przypadku jego nazwa to app ) -> otwórz ustawienia modułu -> przejdź do zakładki Powiązania -> kliknij przycisk + (pojawi się po prawej stronie okna) -> kliknij na zależność modułu - > wybierz projekt biblioteki z listy

Zastosuj zmiany i kliknij przycisk OK .

To dla mnie działało. Mam nadzieję, że pomoże także innym.


monn3t 07/01/2016.

Rzeczywiście, gdy zmienia się wersje, zmienia się interfejs użytkownika i opcje dostępne w menu. Po przeczytaniu większości odpowiedzi na te pytania musiałem odgadnąć, co działa dla Android Studio 1.1.0 .

  1. Za pomocą myszy wybierz projekt na poziomie głównym (gdzie znajduje się nazwa Twojej aplikacji).

  2. Kliknij prawym przyciskiem myszy i wybierz opcje menu New, Folder, Assets Folder .

  3. Po utworzeniu folderu zasobów wklej go lub skopiuj, niezależnie od pliku JAR potrzebnego do biblioteki.

  4. Z głównego menu programu Android Studio (na górze ekranu) wybierz File -> Project Structure .

  5. Następnie wybierz nazwę projektu i przejdź do karty Dependencies .

  6. Kliknij znak plus ( + ) w lewym dolnym rogu okna dialogowego i wybierz zależność pliku.

  7. Wreszcie otwórz ostatnio utworzony folder zasobów, zaznacz skopiowane pliki JAR, a następnie kliknij przycisk Zastosuj i OK .

Oczyść i odbudować projekt.

2 comments
1 Rajnish Mishra 03/23/2015
że kopie słoików w zasobach nie są dobrym pomysłem, to niepotrzebnie zwiększy rozmiar apk
monn3t 04/12/2015
Dziękujemy za radę @RajnishMishra. Podejrzełem, ale co proponujesz zamiast tego?

HighResolutionMusic.com - Download Hi-Res Songs

1 (G)I-DLE

POP/STARS flac

(G)I-DLE. 2018. Writer: Riot Music Team;Harloe.
2 Ariana Grande

​Thank U, Next flac

Ariana Grande. 2018. Writer: Crazy Mike;Scootie;Victoria Monét;Tayla Parx;TBHits;Ariana Grande.
3 Imagine Dragons

Bad Liar flac

Imagine Dragons. 2018. Writer: Jorgen Odegard;Daniel Platzman;Ben McKee;Wayne Sermon;Aja Volkman;Dan Reynolds.
4 Backstreet Boys

Chances flac

Backstreet Boys. 2018.
5 Clean Bandit

Baby flac

Clean Bandit. 2018. Writer: Jack Patterson;Kamille;Jason Evigan;Matthew Knott;Marina;Luis Fonsi.
6 BTS

Waste It On Me flac

BTS. 2018. Writer: Steve Aoki;Jeff Halavacs;Ryan Ogren;Michael Gazzo;Nate Cyphert;Sean Foreman;RM.
7 BlackPink

Kiss And Make Up flac

BlackPink. 2018. Writer: Soke;Kny Factory;Billboard;Chelcee Grimes;Teddy Park;Marc Vincent;Dua Lipa.
8 Lady Gaga

I'll Never Love Again flac

Lady Gaga. 2018. Writer: Benjamin Rice;Lady Gaga.
9 Kelly Clarkson

Never Enough flac

Kelly Clarkson. 2018. Writer: Benj Pasek;Justin Paul.
10 Fitz And The Tantrums

HandClap flac

Fitz And The Tantrums. 2017. Writer: Fitz And The Tantrums;Eric Frederic;Sam Hollander.
11 Little Mix

Told You So flac

Little Mix. 2018. Writer: Eyelar;MNEK;Raye.
12 Halsey

Without Me flac

Halsey. 2018. Writer: Halsey;Delacey;Louis Bell;Amy Allen;Justin Timberlake;Timbaland;Scott Storch.
13 Cher Lloyd

None Of My Business flac

Cher Lloyd. 2018. Writer: ​iamBADDLUCK;Alexsej Vlasenko;Kate Morgan;Henrik Meinke;Jonas Kalisch;Jeremy Chacon.
14 Bradley Cooper

Always Remember Us This Way flac

Bradley Cooper. 2018. Writer: Lady Gaga;Dave Cobb.
15 Calum Scott

No Matter What flac

Calum Scott. 2018. Writer: Toby Gad;Calum Scott.
16 Ashley Tisdale

Voices In My Head flac

Ashley Tisdale. 2018. Writer: John Feldmann;Ashley Tisdale.
17 Imagine Dragons

Machine flac

Imagine Dragons. 2018. Writer: Wayne Sermon;Daniel Platzman;Dan Reynolds;Ben McKee;Alex Da Kid.
18 Diplo

Close To Me flac

Diplo. 2018. Writer: Ellie Goulding;Savan Kotecha;Peter Svensson;Ilya;Swae Lee;Diplo.
19 Billie Eilish

When The Party's Over flac

Billie Eilish. 2018. Writer: Billie Eilish;FINNEAS.
20 Little Mix

Woman Like Me flac

Little Mix. 2018. Writer: Nicki Minaj;Steve Mac;Ed Sheeran;Jess Glynne.

Related questions

Hot questions

Language

Popular Tags