Android Studio: jak dołączyć źródła Android SDK?

111

Jak mogę dołączyć źródła Android SDK do Android Studio?

Kiedy otwieram jedną z klas Androida, nie pojawia się okno „Nie znaleziono źródeł” z opcją „Dołącz źródła”.

Jaki jest inny sposób, aby to zrobić?

Lukas Fryc
źródło

Odpowiedzi:

66

Otwórz menedżera sdk z menu paska narzędzi i pobierz „Sources for Android SDK” dla poziomu API zdefiniowanego w pliku build.gradle, np.

compileSdkVersion 19 // compile with API level 19

Nic więcej nie trzeba robić.

Uwaga: źródła dla SDK są dostępne tylko dla poziomów API 14 i wyższych.

UPDATE (na podstawie stabilnej wersji 3.2.1):

Google zmienia podejście do dostarczania źródeł, więc zobaczmy, co się zmieniło.

Przejdź do następującej lokalizacji

Preferences -> Apperance & Behaviour -> System Settings -> Android SDK

Dość leniwy w nawigacji wpisywanie SDKw wyszukiwarce i studio pomoże Ci znaleźć się we właściwym miejscu.

wprowadź opis obrazu tutaj

Możesz przeczytać opis, mówi głównie, co robić. Więc po kliknięciu "pokaż szczegóły pakietu" zobaczysz, czy źródła są zainstalowane czy nie (jak pokazano na poniższym obrazku), jeśli nie są zainstalowane, zainstaluj i jesteś dobry.

wprowadź opis obrazu tutaj

pyus13
źródło
1
@takumar, to dlatego, że źródło SDK nie jest obecnie dostępne dla Android API 20. Jestem pewien, że kiedy Android „L” wyjdzie z podglądu, źródło będzie dostępne w menedżerze SDK.
Dick Lucas,
37
Po pobraniu źródeł musiałem zrestartować Android Studio, aby działało
Sathesh
3
Jeśli debugujesz na starszej wersji niż compileSdkVersion, kod źródłowy nie będzie zgodny.
David
Dodałbym komentarz Sathesha do rozwiązania. Wygląda na to, że wielu musiało się zrestartować, ja też.
Ferran Maylinch
Musisz zaznaczyć pole wyboru „Pokaż szczegóły pakietu”, aby znaleźć wpis „Źródła dla Androida ...”
Flimm
247

Raportowanie Android Studio 3.2.1 w: rozwiązano problem, resetując pakiet SDK.

Preferencje -> Wygląd i zachowanie -> Ustawienia systemowe -> Android SDK.

Kliknij Edytuj po prawej stronie lokalizacji Android SDK. Następnie, Dalej, Zakończ, aby ukończyć kreatora i voila!

Alexander Mayatsky
źródło
3
@ 0xF Plik / Ustawienia dla Windows (Linux?), Preferencje dla Maca. Dodano wygląd i zachowanie, wielkie dzięki. Przegapiłem to całkowicie.
Alexander Mayatsky
1
@AlexanderMayatsky File / Settings jest w systemie Linux.
0xF
2
w systemie Linux jest to:File -> Settings -> Appearance&Behavior -> System Settings -> Android SDK
lenooh
2
Napotkałem ten sam problem, w którym dokumentacja nie była wyświetlana. To rozwiązało problem w najnowszej stabilnej wersji, która jest 3.1.4.
Wyzwanie
To nie działa na mnie. Pobrałem źródła dla compileSdkVersion 28, a mój build.gradle ma również targetSdkVersion 28, a kiedy uruchamiam moją aplikację w debugerze, widzę różne rzeczy, takie jak art::ArtMethod::Invokei StartBackgroundThread(dotyczy to wątku pomocniczego JNI w mojej aplikacji), ale kliknięcie czegokolwiek w części stosu dla systemu Android nie pokazuje skojarzonego pliku źródłowego. czego mi brakuje?
kbro
32

Nie mogę znaleźć wyżej wymienionych opcji GUI w wersji 8.11 na OSX, jednak grep-fu mówi mi:

config jest przechowywany w ~ / Library / Preferences / AndroidStudioBeta / options / jdk.table.xml

Po edycji tego pliku (przy zatrzymanym Studio) i ponownym uruchomieniu mapowania źródła działa dobrze.

diff --git a/options/jdk.table.xml b/options/jdk.table.xml
index 0112b91..33828b8 100644
--- a/options/jdk.table.xml
+++ b/options/jdk.table.xml
@@ -76,7 +76,7 @@
         </javadocPath>
         <sourcePath>
           <root type="composite">
-            <root type="simple" url="file:///Applications/Android Studio.app/sdk/sources/android-19" />
+            <root type="simple" url="file:///Users/tehdawgz/dev/android-sdk/sources/android-19" />
           </root>
         </sourcePath>
       </roots>
gdawg
źródło
AndroidStudio 2.1.2 tutaj w systemie Mac OS. Następujące osoby pracowały dla mnie: <root type="simple" url="file://$USER_HOME$/Library/Android/sdk/sources/android-23" />
G. Steigert
1
Pracował dla mnie. Ubuntu 14.04 / Android Studio 2.2.0 Użyłem `` locate jdk.table.xml '', które w moim przypadku było w ~ / .AndroidStudio2.2 / config / options / jdk.table.xml. Co ciekawe, wydaje się, że w pewnym momencie tego procesu coś zastąpiło moje ścieżki bezwzględne przez „file: // $ USER_HOME $ ...” ?? W każdym razie wszystko zaczęło działać po naprawieniu pliku.
steven smith
16

Dla mnie 29.08.2016 z systemem Android Studio 2.1.3:

Pobrałem i kompilowałem na api 24 przed udostępnieniem źródeł. Chcę wskazać na źródło teraz, gdy zostały opublikowane. Ponowne uruchomienie Android Studio po pobraniu źródeł w menedżerze SDK nie działało.

Musiałem zachowywać się tak, jakby zamierzałem edytować lokalizację SDK w menedżerze SDK, kiedy to zrobiłem, mogłem po prostu kliknąć „dalej” w oknie dialogowym i ponownie zindeksować zawartość sdk automatycznie.

przycisk do edycji lokalizacji SDK gdzie po prostu kliknąć dalej

joshkendrick
źródło
7

Rozwiązanie gdawg działało również dla mnie w systemie Windows 10 i Android Studio 2.0. Z niewielką modyfikacją, w której znajduje się plik jdk.table.xml

C: \ Users \ {USER_NAME} \. AndroidStudio2.0 \ config \ options \ jdk.table.xml

urps
źródło
5

Nie jestem pewien, dlaczego zaakceptowana odpowiedź wydaje się działać tylko z poziomem API 19. Udało mi się dołączyć źródła SDK dla poziomu API 15, jawnie podając ścieżkę źródłową dla SDK. Oto co zrobiłem:

  1. Upewnij się, że pobrałem żądane źródła SDK i skonfigurowałem plik build.gradle z żądanym poziomem API.
  2. W oknie Projekt po lewej stronie wybierz listę rozwijaną Biblioteki zewnętrzne.
  3. Kliknij prawym przyciskiem myszy element menu i wybierz Otwórz ustawienia biblioteki.
  4. Kliknij kartę Sourcepath i użyj ikony + w lewym dolnym rogu, aby połączyć się z żądanymi źródłami SDK (powinno znajdować się w czymś / sdk / sources)
sfridman
źródło
6
> Kliknij prawym przyciskiem myszy pozycję menu i wybierz opcję Otwórz ustawienia biblioteki. - gdzie to znajdujesz?
kiruwka
1
Wygląda na to, że ta pozycja menu nie jest już dostępna. Są na to sposoby w normalnym InteliJ.
David
3

W Android Studio 0.8.6 (Beta) (OSX 10.9.4) wygląda na to, że możesz przeglądać kod źródłowy Androida bezpośrednio, bez ręcznego dołączania Źródeł.

Warunkiem wstępnym jest pobranie „Sources for Android SDK” w „SDK Manager” i ponowne uruchomienie „Android Studio”

clevertension
źródło
1

Po prostu wykonaj następujące kroki: Ustawienia -> Android SDK -> Uruchom samodzielny menedżer SDK -> pobierz potrzebne źródła SDK (w każdej wersji Anroid Sources for Android SDK) -> uruchom ponownie Android Studio. Jeśli powyższe nie pomoże, upewnij się, że pobrałeś wymagane źródła SDK i zresetuj, Android SDK Locationaby odświeżyć. Mam nadzieję, że to pomoże.

DysaniazzZ
źródło
0

Nie wiedziałem, do jakiego kroku 3 menu odpowiedzi sfridmana odnosi się. Innym sposobem, w jaki udało mi się dotrzeć do źródła, które mnie interesowało, było to, że Android Studio przywołało klasę .class, w której chciałem się zanurzyć:

Breadcrumbs do pliku .class

Mogłem wtedy kliknąć prawym przyciskiem myszy to menu nawigacyjne i wybrać „Przejdź do źródła”:

wprowadź opis obrazu tutaj

Wydawało się, że znalazł to automatycznie, prawdopodobnie dlatego, że zainstalowałem źródło za pośrednictwem menedżera Android SDK, jak opisano w innym miejscu.

Lee Adams
źródło
0

Najpierw sprawdź, czy masz już źródło ładowania.

następnie zresetuj lokalizację Android SDK na settings.

Rozwiązałem swój problem powyższą metodą.

Podwójny kieł
źródło
0

Jedyną rzeczą, która działała dla mnie, było:

  • Otwórz Menedżera Android SDK (Narzędzia -> Android -> Menedżer SDK -> Uruchom samodzielny menedżer SDK)
  • odinstaluj całą platformę SDK i źródła dla systemu Android SDK (ze wszystkich poziomów API)
  • uruchom ponownie Android Studio

Po ponownym uruchomieniu Android Studio wyświetli kreatora, ponieważ nie jest zainstalowany zestaw SDK: zainstaluj platformę SDK i źródła dla aktualnie używanego poziomu API.

ulcica
źródło
0

W Android Studio 2.3.3 na Windows 7 miałem problem polegający na tym, że już pobrane pliki źródłowe na poziomie API 26 w folderze SDK\sources\android-26nie zostały rozpoznane. Użycie opcji „Plik | Unieważnij pamięć podręczną / Uruchom ponownie” rozwiązało problem.

user1364368
źródło
0

U mnie pobieranie i odświeżanie nie pomagało. Próbowałem wybrać źródło, ale nadal ten sam problem. Więc zrobiłem Invalidate Cache / Restart. Teraz działa.

Próbowałem edytować plik jdk.table.xml, ale nie było wpisu dla Androida-26, tylko do Androida-25, więc postanowiłem nie edytować tego pliku.

user4057066
źródło
0

Na dzień 09.08.2019 dostępne są takie źródła

sources;android-15
    Description:        Sources for Android 15
    Version:            2

sources;android-16
    Description:        Sources for Android 16
    Version:            2

sources;android-17
    Description:        Sources for Android 17
    Version:            1

sources;android-18
    Description:        Sources for Android 18
    Version:            1

sources;android-19
    Description:        Sources for Android 19
    Version:            2

sources;android-20
    Description:        Sources for Android 20
    Version:            1

sources;android-21
    Description:        Sources for Android 21
    Version:            1

sources;android-22
    Description:        Sources for Android 22
    Version:            1

sources;android-23
    Description:        Sources for Android 23
    Version:            1

sources;android-24
    Description:        Sources for Android 24
    Version:            1

sources;android-25
    Description:        Sources for Android 25
    Version:            1

sources;android-26
    Description:        Sources for Android 26
    Version:            1

sources;android-27
    Description:        Sources for Android 27
    Version:            1

sources;android-28
    Description:        Sources for Android 28
    Version:            1

Możesz je wymienić według ./pathtoandroidsdk/tools/bin/sdkmanager --list --verbose --no_https

Na przykład zainstaluj przez ./pathtoandroidsdk/tools/bin/sdkmanager "sources;android-28"

Nie ma potrzeby pobierania w Android Studio

Instrukcja konfiguracji w Android Studio

W aplikacji build.gradleustaw poprawną wersję sdk, która będzie zawierała żądane źródła

android {
    compileSdkVersion 28
    ...

Aby zastosować zmiany - zrestartuj IDE

Vlad
źródło
0

Właśnie spotkałem podobny problem, gdy muszę pobrać platformę Android 28 za pomocą wiersza poleceń, zobaczyłem odpowiedź na uruchomienie polecenia ./pathtoandroidsdk/tools/bin/sdkmanager "sources;android-28".

Ale w rzeczywistości z developer.android.com pokazuje przykład jako sdkmanager "platform-tools" "platforms;android-28", więc myślę, że powinien ./pathToAndroidSdk/tools/bin/sdkmanager "platforms;android-28".

Szalony Kapelusznik
źródło