Jak dołączyć źródło Android Support Library w Eclipse?

79

Posiadanie kodu źródłowego dołączonego do zewnętrznych bibliotek jest niesamowite. Gdzie znajdę kod źródłowy pakietu wsparcia v4 ? Najlepiej byłoby, gdyby był to plik zip, który można łatwo dołączyć do pliku android-support-v4.jarw Eclipse.

Håvard Geithus
źródło
4
imo @andr to odpowiedź do zaakceptowania
Amir Uval

Odpowiedzi:

66

Po pobraniu pakietu wsparcia z Android SDK Manager, kod źródłowy pakietu wsparcia można znaleźć w folderze <android-sdks> / extras / android / support / v4 / src.

Jacob Dam
źródło
12
W moim przypadku był przechowywany w C:\Program Files\Android\android-sdk\extras\android\compatibility\v4\src\java. Potem wziął jej zawartość (android folder) pakuje go w * .jar z tym poleceniem: jar cf android-support-v4-sources.jar android/. Dołączyłem ten jar do android-support-v4.jar (ścieżka budowania java / ustawienia biblioteki w eclipse). Działa fajnie :)
Håvard Geithus
5
To wydaje się teraz nie działać. Jak mogę to zrobić? help.Korzystam z adt 21.1. Nie można modyfikować źródła dokumentacji android-support-v4.jar lub źródła Java. Kliknij prawym przyciskiem myszy projekt, Właściwości> Ścieżka kompilacji Java> Karta Biblioteki, Prywatne biblioteki systemu Android> android-support-v4.jar - Załącznik źródłowy: (Brak) - niemodyfikowalny. :(
Thupten
3
Ok, zabrałem się do pracy. Android-support-v4.jar trzeba być w Referenced Librariesprawym kliknięciem Build Path.., Add to Path. Następnie Referenced Librarieskliknij prawym przyciskiem myszy właściwości na android-support-v4 i ustaw źródła.
Thupten
Ta odpowiedź w pełni odpowiada na pytanie PO. Aby dołączyć go do pliku jar w Eclipse Patrz odpowiedź przez @andr
JRomero
@Thupten, czy nie odwołujesz się dwa razy, kiedy wystarczy jedno?
Pacerier
122

Chcę tylko dodać kolejną metodę dołączania źródeł dla biblioteki wsparcia. Wymaga ADT w wersji 20 lub nowszej . Podobno ta metoda działa dla wszystkich plików JAR, dla których ustawienie źródła / lokalizacji javadoc jest wyłączone przez kontener. Oto, co musisz zrobić:

  1. Te android-support-v4.jarkłamstwa biblioteki w libskatalogu projektu. W tym samym katalogu utwórz zwykły plik właściwości Java o nazwie dokładnie takiej, jak dany JAR, ale z dołączonym .propertiesrozszerzeniem. Tak, dla naszej biblioteki wsparcia będzie to:
    android-support-v4.jar.properties.

  2. Otwórz utworzony plik właściwości i ustaw wartość właściwości nazwanej srcna lokalizację, w której można znaleźć źródła tej biblioteki. Twój plik powinien mieć jedną linię, taką jak:

    src=c:/apps/adt-bundle-windows-64bit/sdk/extras/android/support/v4/src
    
  3. Zapisz plik.

  4. Zamknij i ponownie otwórz projekt systemu Android.

  5. Spróbuj przejść do jednej z klas pomocy technicznej. Załącznik źródłowy powinien teraz działać.

W moim przypadku zadziałało idealnie.

Jedna uwaga: jeśli srcnie jest to ścieżka bezwzględna, zostanie rozwiązana, zaczynając od katalogu nadrzędnego pliku JAR. Biorąc na przykład bibliotekę obsługi - jeśli src=support/srcADT założy, że źródła klas znajdują się wlibs/support/src .

Krótki opis tej funkcji, napisany przez jej autora, można znaleźć tutaj .

Jeśli ktoś jest zainteresowany tym, jak dokładnie ten .propertiesplik jest przetwarzany, polecam przeczytać zestaw poprawek nr 4, zwł. zmiany w eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/ internal/project/LibraryClasspathContainerInitializer.java:)

Edytować

Zobacz także dobry komentarz WindRider na temat prawidłowego dodawania źródeł w projekcie z wieloma bibliotekami, do których istnieją odniesienia.

andr
źródło
9
To jest „oficjalny” i zalecany sposób, aby to zrobić.
BoD
10
Zwróć uwagę, że jeśli masz duży projekt z wieloma bibliotekami, do których istnieją odniesienia, które z kolei odwołują się do biblioteki obsługującej system Android, musisz upewnić się, że wszystkie kopie pliku android-support-v4.jar są tymi samymi plikami binarnymi. W przeciwnym razie pojawi się dziwny błąd „niezgodność sumy kontrolnej bla bla”. Zaimportowana zostanie również tylko jedna z kopii bibliotek obsługi, być może zawarta w folderze lib \ projektów bibliotek. Aby zobaczyć, który z nich jest używany, otwórz Eksplorator pakietów -> Zależności systemu Android i zobacz, skąd importowana jest biblioteka obsługi. Następnie wykonaj tę samą procedurę nie dla projektu głównego, ale dla projektu biblioteki.
WindRider
2
Po wypróbowaniu części pozostałych mogę stwierdzić, że jest to najlepsza odpowiedź - należy ją zaakceptować jako właściwą.
Amir Uval
2
@Simulant - nie jestem ekspertem od ActionBar kompatybilnego lib, ale z szybkiego spojrzenia zakładam, że aby go użyć, musisz zaimportować go jako oddzielny projekt Android Lib i odwołać się do niego jako zależności w swoim głównym projekcie, prawda? Jeśli tak, wystarczy wykonać kroki opisane tutaj dla katalogu „libs” projektu lib . Ten katalog powinien zawierać dwa .jarpliki: android-support-v4.jari android-support-v7-appcompat.jardla których powinieneś mieć możliwość tworzenia wspomnianych .propertiesplików.
andr
5
Jeśli używasz systemu Windows, upewnij się, że używasz w srcwierszu ukośników .
Scutterman
83

Tutaj rozwiązanie do dołączenia źródła biblioteki wsparcia w Eclipse Juno

Przypuszczam, że Twój projekt ma już android-support-v4.jarw „Ścieżce budowania” w „Zależnościach Androida”, ale nie możesz dołączyć do niego katalogu źródeł. („Załącznik źródłowy” brzmiał „Niemodyfikowalne”). Rozwiązanie:

  • Idź do „Konfiguruj ścieżkę budowania”
  • Dodaj zewnętrzne pliki JAR> YourProject/libs/android-support-v4.jar (Wiem, że Twój projekt już się do niego odwoływał, ale nie martw się, po prostu dodaj go ponownie).
  • Rozwiń słoik i dołącz źródło do słoika zewnętrznego: android-sdk/extras/android/support/v4/src
  • Przejdź na kartę „Zamów i eksportuj”, podnieś zewnętrzny plik jar nad „Zależności Androida”

Ciesz się nawigacją po bibliotece wsparcia ze źródłem!

jeśli masz dołączony „Android Test Project” YourProject, więc YourProjectTestmoże nie być już kompilowany. W takim przypadku musisz wrócić do „Zamów i wyeksportuj” i ściągnąć zewnętrzny jar poniżej „Zależności Androida”, aby przywrócić normalne działanie.

Hiep
źródło
2
„Ścieżka budowania Java”, a nie „Ścieżka kompilacji konfiguracji”.
user123321
4
Zawierało wszystkie niezbędne kroki i działało dla mnie! Ostatni krok (zamawianie) został pominięty i bardzo ważny.
cottonBallPaws
3
Miałem android-support-v4.jar wymieniony w Android Private Libraries (APL, który był wymieniony powyżej Android Dependencies), więc musiałem wyciągnąć nowo dodany
plik
1
Dla przypomnienia, działa to również z innymi bibliotekami, a nie tylko z biblioteką pomocniczą. / Kapitan oczywisty
Emil Lundberg
2
Nie powinieneś tego robić. Jest to sprzeczne z początkową konfiguracją standardowej aplikacji na Androida. Polecam skorzystanie z „oficjalnego” rozwiązania autorstwa @andr.
JRomero
16

Odwołując się do zaakceptowanej odpowiedzi, można również załączyć źródło bezpośrednio z katalogu bez budowania pliku .jar. Na karcie Ścieżka / biblioteki kompilacji Java rozwiń plik android-support-v4.jar, zaznacz „Załącznik źródłowy”, kliknij „Edytuj ...”, „Folder zewnętrzny ...”, a następnie wskaż (android-sdk) \ extras \ android \ support \ v4.

Zostało to przetestowane przy użyciu eclipse indygo.

Z komentarzy:

Problem polegający na niemożności dodania źródła do biblioteki obsługi wydaje się występować, jeśli biblioteka pomocy technicznej znajduje się w folderze „Zależności systemu Android” projektu. Sposób obejścia tego problemu można znaleźć na tej samej karcie „Ścieżka / biblioteki kompilacji Java”, kliknąć „Dodaj zewnętrzne pliki JAR ...” i znaleźć plik .jar w ścieżce (android-sdk) \ extras \ android \ support \ v4. Następnie pojawi się w ustawieniach projektu w nowym folderze „Biblioteki odniesienia”.

happydude
źródło
5
Oczywiście jeśli nie masz błędu, który nie pozwala na dołączanie źródeł do jar.
Ixx
1
Byłoby super, ale mój przycisk „edytuj” jest wyszarzony: /. Czy to jest błąd, o którym wspomniałeś lxx? Znalazłeś rozwiązanie?
obejmuje
3
To wszystko jest wyszarzone, jest napisane „niemodyfikowalne”
Mister Smith
2
Problem polegający na niemożności dodania źródła do biblioteki obsługi wydaje się występować, jeśli biblioteka pomocy technicznej znajduje się w folderze „Zależności systemu Android” projektu. Sposób obejścia problemu można obejść z tej samej zakładki „Ścieżka / biblioteki kompilacji Java”, kliknij „Dodaj zewnętrzne pliki JAR ...” i znajdź plik .jar w ścieżce (android-sdk) \ extras \ android \ support \ v4. Pojawi się wtedy w ustawieniach projektu w nowym folderze „Biblioteki odniesienia”. Następnie możesz dołączyć źródło do tego pliku .jar, jak wskazano w oryginalnej odpowiedzi.
happydude
2

Dla tych, którzy lubią standard mieć plik jar z kodem źródłowym, co ułatwia kontrolę źródła i współdzielenie projektu.

Na przykład:

../android-support-v4.jar
../android-support-v4-src.jar

Utworzenie źródłowego pliku jar i dołączenie go jest proste:

  1. cd do path_to_android_sdk / extras / android / compliance / v4 /
  2. Użyj swojego ulubionego programu zip, takiego jak 7-zip, aby utworzyć plik zip i nazwij go android-support-v4-src.jar. Pierwszym folderem w słoiku powinien być / scr.
  3. Skopiuj plik do projektu, w tym przykładzie znajduje się on w tym samym folderze co jar kodu.
  4. W Eclipse dołącz jar źródłowy we właściwościach projektu.
fishjd
źródło
Dzięki za odpowiedź. Aby utworzyć archiwum jar, można również użyć programu jar zawartego w JDK.
Håvard Geithus
1

Po prostu usuwam wygenerowany automatycznie, a następnie ręcznie dodaję go jako Biblioteki referencyjne.

Najpierw otwórz klasę, IDE poprosi cię o zmianę dołączonego źródła.

Hisenberg
źródło
0

Proces dołączania src i doc ze ścieżki budowania działa dla niektórych, a dla niektórych nie (jak ja). kilka kluczowych rzeczy, o których należy pamiętać

  1. Upewnij się, że jesteś w Eksploratorze pakietów, a nie w Nawigatorze projektu .

  2. Jeśli umieściłeś android-support-v4.jar w folderze libs w swoim projekcie. świetny.

  3. Kliknij prawym przyciskiem myszy słoik, Zbuduj ścieżkę .. Dodaj do ścieżki. (jeśli Dodaj do ścieżki nie pojawi się, oznacza to, że jest już dodane. Zobaczysz konfigurację ścieżki ..)

  4. W wyniku kroku 3 w drzewie eksploratora pakietów pojawi się nowy folder o nazwie Biblioteki odniesienia . Otwórz to drzewo i znajdź tam plik android-support-v4.jar. Kliknij prawym przyciskiem myszy ten jar we właściwościach bibliotek , do których istnieją odniesienia . Następnie ustaw tam załącznik źródłowy Java i lokalizację Javadoc.

  5. Skończyłeś.

Ścieżka do mojego załącznika źródłowego Java (jego zewnętrzna lokalizacja)

C: / Users / thupten / adt-bundle-windows-x86_64-20130514 / sdk / extras / android / support / v4 / src

Użyłem strony internetowej z systemem Android do lokalizacji dokumentów java

http://developer.android.com/reference/android/support/v4/app/package-summary.html

Thupten
źródło
0

Znalazłem to dla siebie:

Biblioteka główna: android.jar:

src: sdk / sources / android-19 doc: sdk / docs / reference /

Aby uzyskać wsparcie lib: android-support-v4.jar: (wcześniej powinniśmy dodać android-support-v4.jar jak zewnętrzny jar (Właściwości projektu -> Ścieżka budowania Java -> Biblioteki, a następnie w zakładce 'Kolejność i eksport' podciągnij ta biblioteka przed prywatnymi bibliotekami Androida)):

src: sdk / extras / android / support / v4 / src / java doc: http://developer.android.com/reference/android/support/v4/app/package-summary.html (nie jestem pewien)

ultraon
źródło
0

Po zaktualizowaniu zestawu SDK i pobraniu w nim dokumentacji:

  • Importuj projekt biblioteki obsługi do eksploratora pakietów.
  • Utwórz folder w bibliotece i nadaj mu nazwę podobną do ext-jars.
  • Przenieś android-support-v4.jardo ext-jarsfolderu.

    wprowadź opis obrazu tutaj

  • Kliknij prawym przyciskiem myszy projekt i kliknij Właściwości.
  • Kliknij ścieżkę budowania języka Java w menu po lewej stronie, a następnie wybierz kartę Biblioteki.
  • Kliknij, Add JARs...a następnie rozwiń projekt i wybierz plik jar, który został już przeniesiony do folderu ext-jars.

wprowadź opis obrazu tutaj

  • Rozwiń dodany słoik i wybierz, Source attachmenta następnie kliknijEdit .
  • Wybierz, External locationa następnie kliknijExternal Folder...
  • Wybierz folder źródłowy dla Support v4, który znajduje się w [sdk-path]/extras/android/support/v4/src

wprowadź opis obrazu tutaj

  • Wybierz Javadoc locationkliknij, Edita następnie wybierz, Javadoc URLa następnie kliknij Browse...i wybierz lokalizację javadoc dla obsługi v4, która znajduje się w[sdk-path]/docs/reference/

wprowadź opis obrazu tutaj - Wybierz Order and Exportkartę i zaznaczandroid-support-v4.jar właśnie dodaną.

Proponuję również wyczyścić projekt i ponownie otworzyć Eclipse.

MDP
źródło