Android Studio: Wie füge ich Android SDK-Quellen hinzu?

111

Wie kann ich Android SDK-Quellen an Android Studio anhängen?

Wenn ich eine der Android-Klassen öffne, wird das Fenster "Quellen nicht gefunden" mit der Option "Quellen anhängen" nicht angezeigt.

Was ist der andere Weg, um dies zu tun?

Lukas Fryc
quelle

Antworten:

66

Öffnen Sie Ihren SDK-Manager über die Symbolleistenmenüs und laden Sie das "Sources for Android SDK" für die API-Ebene herunter, die in Ihrer build.gradle-Datei wie definiert ist

compileSdkVersion 19 // compile with API level 19

Sonst muss nichts getan werden.

Hinweis: Quellen für SDK sind nur für API-Level 14 und höher verfügbar.

UPDATE (Basierend auf der stabilen Version 3.2.1):

Google ändert den Ansatz für den Versand der Quellen. Lassen Sie uns also sehen, was sich geändert hat.

Gehen Sie zum folgenden Ort

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

Wenn Sie SDKin der Suche und im Studio ziemlich faul navigieren , können Sie den richtigen Ort finden.

Geben Sie hier die Bildbeschreibung ein

Sie können die Beschreibung lesen, sagt meistens, was zu tun ist. Nachdem Sie auf "Paketdetails anzeigen" geklickt haben, sehen Sie, ob Quellen installiert sind oder nicht (wie in der folgenden Abbildung gezeigt). Wenn sie nicht installiert sind, installieren Sie sie und Sie sind gut.

Geben Sie hier die Bildbeschreibung ein

pyus13
quelle
1
@takumar, dies liegt daran, dass die Quelle des SDK derzeit nicht für die Android-API 20 verfügbar ist. Ich bin sicher, wenn Android "L" aus der Vorschau herauskommt, wird die Quelle im SDK-Manager verfügbar sein.
Dick Lucas
37
Nachdem ich die Quellen heruntergeladen hatte, musste ich Android Studio neu starten, damit es funktioniert
Sathesh
3
Wenn Sie auf einer älteren Version als compileSdkVersion debuggen, stimmt der Quellcode nicht überein.
David
Ich würde Satheshs Kommentar zur Lösung hinzufügen. Sieht so aus, als müssten viele neu starten, ich auch.
Ferran Maylinch
Sie müssen das Kontrollkästchen "Paketdetails anzeigen" aktivieren, um den Eintrag "Quellen für Android ..."
Flimm
247

Berichterstellung in Android Studio 3.2.1 in: Das Problem wurde durch Zurücksetzen des SDK behoben.

Einstellungen -> Aussehen und Verhalten -> Systemeinstellungen -> Android SDK.

Klicken Sie rechts neben dem Speicherort des Android SDK auf Bearbeiten . Weiter, Weiter, Fertig stellen , um den Assistenten und voila abzuschließen!

Alexander Mayatsky
quelle
3
@ 0xF Datei / Einstellungen für Windows (Linux?), Einstellungen für Mac. Aussehen & Verhalten hinzugefügt, vielen Dank. Hab das komplett verpasst.
Alexander Mayatsky
1
@AlexanderMayatsky Datei / Einstellungen ist unter Linux.
0xF
2
unter Linux ist es:File -> Settings -> Appearance&Behavior -> System Settings -> Android SDK
Lenooh
2
Stieß auf dasselbe Problem, bei dem die Dokumentation nicht angezeigt wurde. Dies löste es für die neueste stabile Version, 3.1.4.
ChallengeAccepted
Das funktioniert bei mir nicht. Ich habe die Quellen für compileSdkVersion 28 heruntergeladen und mein build.gradle hat auch targetSdkVersion 28, und wenn ich meine App im Debugger ausführe, kann ich alle möglichen Dinge wie art::ArtMethod::Invokeund sehen StartBackgroundThread(dies ist für einen JNI-Hilfsthread in meiner App), aber Wenn Sie auf etwas im Android-Teil des Stapels klicken, wird mir die zugehörige Quelldatei nicht angezeigt. Was vermisse ich?
kbro
32

Ich kann die oben genannten GUI-Optionen in Version 8.11 auf OSX nicht finden, aber Grep -Fu sagt mir:

Die Konfiguration wird in ~ / Library / Preferences / AndroidStudioBeta / options / jdk.table.xml gespeichert

Nach dem Bearbeiten dieser Datei (bei gestopptem Studio) und dem Neustart der Quellzuordnung funktioniert dies für mich einwandfrei.

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
quelle
AndroidStudio 2.1.2 hier unter Mac OS. Folgendes hat für mich funktioniert: <root type="simple" url="file://$USER_HOME$/Library/Android/sdk/sources/android-23" />
G. Steigert
1
Hat für mich gearbeitet. Ubuntu 14.04 / Android Studio 2.2. Ich habe 'locate jdk.table.xml' verwendet, in meinem Fall unter ~ / .AndroidStudio2.2 / config / options / jdk.table.xml. Interessanterweise scheint irgendwann in diesem Prozess etwas meine absoluten Pfade durch "file: // $ USER_HOME $ ..." ersetzt zu haben? In jedem Fall begannen die Dinge zu funktionieren, nachdem ich die Datei repariert hatte.
Steven Smith
16

Für mich am 29.08.2016 läuft Android Studio 2.1.3:

Ich hatte heruntergeladen und kompilierte gegen API 24, bevor die Quellen veröffentlicht wurden. Ich möchte jetzt, wo sie veröffentlicht wurden, auf die Quelle verweisen. Das Neustarten von Android Studio nach dem Herunterladen der Quellen im SDK-Manager funktionierte nicht.

Ich musste so tun, als würde ich den SDK-Speicherort im SDK-Manager bearbeiten. Als ich das tat, konnte ich einfach durch den Dialog auf "Weiter" klicken und das SDK-Material automatisch neu indizieren.

Schaltfläche zum Bearbeiten des SDK-Speicherorts Wo klicken Sie einfach weiter

Joshkendrick
quelle
7

Die Lösung von gdawg funktionierte auch für mich in Windows 10 und Android Studio 2.0. Mit der kleinen Änderung, unter der sich die Datei jdk.table.xml befindet

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

urps
quelle
5

Ich bin mir nicht sicher, warum die akzeptierte Antwort nur mit API-Ebene 19 zu funktionieren scheint. Ich konnte SDK-Quellen für API-Ebene 15 anhängen, indem ich den Quellpfad für das SDK explizit angegeben habe. Folgendes habe ich getan:

  1. Stellen Sie sicher, dass ich die gewünschten SDK-Quellen heruntergeladen habe, und richten Sie mein build.gradle mit der gewünschten API-Ebene ein.
  2. Wählen Sie im Projektfenster links die Dropdown-Liste Externe Bibliotheken aus.
  3. Klicken Sie mit der rechten Maustaste auf den Menüpunkt und wählen Sie Bibliothekseinstellungen öffnen.
  4. Klicken Sie auf die Registerkarte Quellpfad und verwenden Sie das Symbol + unten links, um eine Verknüpfung zu den gewünschten SDK-Quellen herzustellen (sollte sich in etwas / sdk / sources befinden).
sfridman
quelle
6
> Klicken Sie mit der rechten Maustaste auf den Menüpunkt und wählen Sie Bibliothekseinstellungen öffnen. - Wo findest du das?
Kiruwka
1
Es scheint, dass dieser Menüpunkt nicht mehr verfügbar ist. Es gibt Möglichkeiten, dies in normalem InteliJ zu tun.
David
3

In Android Studio 0.8.6 (Beta) (OSX 10.9.4) können Sie den Android-Quellcode anscheinend direkt anzeigen, ohne die Quellen manuell anzuhängen.

Voraussetzung ist, dass Sie "Sources for Android SDK" im "SDK Manager" herunterladen und "Android Studio" neu starten.

Klugheit
quelle
1

Befolgen Sie einfach diese Schritte: Einstellungen -> Android SDK -> Starten Sie den Standalone SDK Manager -> laden Sie die benötigten SDK-Quellen herunter (in jeder Anroid-Version Sources for Android SDK) -> starten Sie Ihr Android Studio neu. Wenn dies nicht hilft, stellen Sie sicher, dass Sie die erforderlichen SDK-Quellen heruntergeladen haben, und setzen Sie die zurück Android SDK Location, um sie zu aktualisieren. Ich hoffe, es hilft.

DysaniazzZ
quelle
0

Ich wusste nicht, auf welches Menü Schritt 3 von sfridmans Antwort sich bezog. Eine andere Möglichkeit, zu der Quelle zu gelangen, an der ich interessiert war, war, nachdem Android Studio die .class aufgerufen hatte, in die ich eintauchen wollte:

Brotkrumen in .class-Datei

Ich könnte dann mit der rechten Maustaste auf diesen Brotkrumen klicken und "Zur Quelle springen" wählen:

Geben Sie hier die Bildbeschreibung ein

Es schien es automatisch zu finden, wahrscheinlich weil ich die Quelle über den Android SDK-Manager installiert hatte, wie an anderer Stelle beschrieben.

Lee Adams
quelle
0

Überprüfen Sie zunächst, ob Sie die Quelle bereits geladen haben.

Setzen Sie dann den Android SDK-Speicherort auf zurück settings.

Ich habe mein Problem mit der obigen Methode gelöst.

Double.fang
quelle
0

Das einzige, was für mich funktioniert hat, war:

  • Öffnen Sie den Android SDK Manager (Extras -> Android -> SDK Manager -> Standalone SDK Manager starten)
  • Deinstallieren Sie alle SDK-Plattformen und Quellen für Android SDK (von allen API-Ebenen).
  • Starten Sie Android Studio neu

Beim Neustart wird in Android Studio ein Assistent angezeigt, da kein SDK installiert ist: Installieren Sie die SDK-Plattform und die Quellen für die aktuell verwendete API-Ebene.

ulcica
quelle
0

In Android Studio 2.3.3 unter Windows 7 hatte ich das Problem, dass die bereits heruntergeladenen Quelldateien für API-Level 26 im Ordner SDK\sources\android-26nicht erkannt wurden. Die Verwendung von "Datei | Caches ungültig machen / neu starten" löste das Problem für mich.

user1364368
quelle
0

Für mich hat das Herunterladen und Aktualisieren nicht geholfen. Ich habe versucht, die Quelle zu wählen, aber immer noch das gleiche Problem. Also habe ich Cache / Neustart ungültig gemacht. Jetzt geht es.

Ich habe versucht, die Datei jdk.table.xml zu bearbeiten, aber es gab keinen Eintrag für android-26, es war nur bis android-25, also habe ich beschlossen, diese Datei nicht zu bearbeiten.

user4057066
quelle
0

Für den 09.08.2019 stehen solche Quellen zur Verfügung

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

Sie können sie auflisten durch ./pathtoandroidsdk/tools/bin/sdkmanager --list --verbose --no_https

Zum Beispiel installieren von ./pathtoandroidsdk/tools/bin/sdkmanager "sources;android-28"

In Android Studio ist kein Download erforderlich

Setup-Anleitung in Android Studio

build.gradleStellen Sie in der App die richtige Version von sdk ein, die die gewünschten Quellen enthält

android {
    compileSdkVersion 28
    ...

Um Änderungen zu übernehmen, starten Sie die IDE neu

Vlad
quelle
0

Ich habe gerade ein ähnliches Problem festgestellt, als ich die Plattform Android 28 über die Befehlszeile herunterladen musste. Ich sah die Antwort, um den Befehl auszuführen ./pathtoandroidsdk/tools/bin/sdkmanager "sources;android-28".

Tatsächlich zeigt es von developer.android.com ein Beispiel als sdkmanager "platform-tools" "platforms;android-28", also denke ich, dass es so sein sollte ./pathToAndroidSdk/tools/bin/sdkmanager "platforms;android-28".

MadHatter
quelle