Android Studio: comment attacher les sources du SDK Android?

111

Comment puis-je attacher des sources du SDK Android à Android Studio?

Lorsque j'ouvre l'une des classes Android, la fenêtre "Sources non trouvées" avec l'option "Joindre les sources" n'apparaît pas.

Quelle est l'autre manière de procéder?

Lukas Fryc
la source

Réponses:

66

Ouvrez votre gestionnaire SDK à partir des menus de la barre d'outils et téléchargez les "Sources pour Android SDK" pour le niveau d'API défini dans votre fichier build.gradle comme

compileSdkVersion 19 // compile with API level 19

Il n'y a rien d'autre à faire.

Remarque: Les sources du SDK sont disponibles uniquement pour les niveaux d'API 14 et supérieurs.

MISE À JOUR (Basé sur la version stable 3.2.1):

Google modifie l'approche d'expédition des sources, alors voyons ce qui a changé.

Allez à l'emplacement suivant

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

Tout à fait paresseux pour naviguer SDKdans le type de recherche et le studio vous aidera à aller au bon endroit.

entrez la description de l'image ici

Vous pouvez lire la description, dit surtout quoi faire. Donc, après avoir cliqué sur "afficher les détails du package", vous verrez si les sources sont installées ou non (comme indiqué dans l'image ci-dessous) si elle n'est pas installée, installez-la et vous êtes bon.

entrez la description de l'image ici

pyus13
la source
1
@takumar, c'est parce que la source du SDK n'est actuellement pas disponible pour l'API Android 20. Je suis sûr que lorsque Android "L" sortira de l'aperçu, la source sera disponible dans le gestionnaire du SDK.
Dick Lucas
37
Après avoir téléchargé les sources dont j'avais besoin pour redémarrer Android Studio pour le faire fonctionner
Sathesh
3
Si vous déboguez sur une version plus ancienne que la version compileSdkVersion, le code source ne correspondra pas.
David
J'ajouterais le commentaire de Sathesh à la solution. On dirait que beaucoup ont dû redémarrer, moi aussi.
Ferran Maylinch
Vous devez cocher la case "Afficher les détails du package" pour trouver l'entrée "Sources pour Android ..."
Flimm
247

Rapports Android Studio 3.2.1 dans: résolu le problème en réinitialisant le SDK.

Préférences -> Apparence et comportement -> Paramètres système -> SDK Android.

Cliquez sur Modifier à droite de l'emplacement du SDK Android. Ensuite, ensuite, terminez pour terminer l'assistant et le tour est joué!

Alexandre Mayatsky
la source
3
@ 0xF Fichier / Paramètres pour Windows (Linux?), Préférences pour Mac. Apparence et comportement ajoutés, merci beaucoup. J'ai raté ça complètement.
Alexander Mayatsky
1
@AlexanderMayatsky File / Settings est sous Linux.
0xF
2
sur Linux c'est:File -> Settings -> Appearance&Behavior -> System Settings -> Android SDK
lenooh
2
Ran dans le même problème où la documentation ne s'affichait pas. Cela l'a résolu pour la dernière version stable qui est la 3.1.4.
ChallengeAccepté
Cela ne fonctionne pas pour moi. J'ai téléchargé les sources pour compileSdkVersion 28 et mon build.gradle a également targetSdkVersion 28, et quand j'exécute mon application dans le débogueur, je peux voir toutes sortes de choses comme art::ArtMethod::Invokeet StartBackgroundThread(c'est pour un thread d'aide JNI dans mon application) mais cliquer sur quoi que ce soit dans la partie Android de la pile ne me montre pas le fichier source associé. Qu'est-ce que je rate?
kbro
32

Je ne parviens pas à trouver les options d'interface graphique susmentionnées dans la v8.11 sur osx, mais grep-fu me dit:

config est stocké dans ~ / Library / Preferences / AndroidStudioBeta / options / jdk.table.xml

Après avoir édité ce fichier (avec Studio arrêté) et redémarré le mappage source fonctionne très bien pour moi.

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
la source
AndroidStudio 2.1.2 ici sur Mac OS. Ce qui suit a fonctionné pour moi: <root type="simple" url="file://$USER_HOME$/Library/Android/sdk/sources/android-23" />
G. Steigert
1
A travaillé pour moi. Ubuntu 14.04 / Android Studio 2.2. J'ai utilisé 'Locate jdk.table.xml' qui, dans mon cas, était à ~ / .AndroidStudio2.2 / config / options / jdk.table.xml. Fait intéressant, il semble qu'à un moment donné de ce processus, quelque chose a remplacé mes chemins absolus par "file: // $ USER_HOME $ ..." ?? Dans tous les cas, les choses ont commencé à fonctionner après avoir réparé le fichier.
steven smith
16

Pour moi le 29/08/2016 exécutant Android Studio 2.1.3:

J'avais téléchargé et compilé contre api 24 avant la publication des sources. Je veux pointer la source maintenant qu'ils ont été publiés. Le redémarrage d'Android Studio après le téléchargement des sources dans le gestionnaire de SDK ne fonctionnait pas.

Je devais agir comme si j'allais modifier l'emplacement du SDK dans le gestionnaire de SDK, lorsque j'ai fait cela, je pouvais simplement cliquer sur `` suivant '' dans la boîte de dialogue et réindexer automatiquement les éléments du SDK.

bouton pour modifier l'emplacement du SDK où cliquer juste après

Joshkendrick
la source
7

La solution de gdawg a également fonctionné pour moi dans Windows 10 et Android Studio 2.0. Avec la petite modification que le fichier jdk.table.xml se trouve à

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

urps
la source
5

Je ne sais pas pourquoi la réponse acceptée semble fonctionner uniquement avec le niveau d'API 19. J'ai pu attacher des sources SDK pour le niveau d'API 15 en fournissant explicitement le chemin source du SDK. Voici ce que j'ai fait:

  1. Assurez-vous d'avoir téléchargé les sources SDK souhaitées et configuré mon build.gradle avec le niveau d'API souhaité.
  2. Dans la fenêtre Projet sur la gauche, sélectionnez la liste déroulante Bibliothèques externes.
  3. Cliquez avec le bouton droit sur l'élément de menu et sélectionnez Ouvrir les paramètres de la bibliothèque.
  4. Cliquez sur l'onglet Sourcepath et utilisez l'icône + en bas à gauche pour créer un lien vers les sources SDK souhaitées (devrait être dans quelque chose / sdk / sources)
sfridman
la source
6
> Cliquez avec le bouton droit sur l'élément de menu et sélectionnez Ouvrir les paramètres de la bibliothèque. - où trouvez-vous cela?
kiruwka
1
Il semble que cet élément de menu n'est plus disponible. Il existe des moyens de le faire dans InteliJ normal.
David
3

Dans Android Studio 0.8.6 (Beta) (OSX 10.9.4), il semble que vous puissiez afficher le code source Android directement sans attacher les sources manuellement.

La condition préalable est que vous devez télécharger "Sources for Android SDK" dans "SDK Manager" et redémarrer "Android Studio"

clevertension
la source
1

Suivez simplement ces étapes: Paramètres -> Android SDK -> Lancez Standalone SDK Manager -> téléchargez vos sources SDK nécessaires (dans toutes les versions d'Anroid Sources for Android SDK) -> redémarrez votre Android Studio. Si ci-dessus ne vous aide pas, assurez-vous d'avoir téléchargé les sources SDK requises et réinitialisez le Android SDK Locationpour actualiser. J'espère que cela aide.

DysaniazzZ
la source
0

Je ne savais pas à quelle étape du menu 3 de la réponse de sfridman faisait référence. Une autre façon dont j'ai réussi à accéder à la source qui m'intéressait était après qu'Android Studio ait mis en place le .class dans lequel je voulais me plonger:

Fil d'Ariane vers le fichier .class

Je pourrais alors faire un clic droit sur ce fil d'Ariane et choisir "Aller à la source":

entrez la description de l'image ici

Il semblait le trouver automatiquement en faisant cela, probablement parce que j'avais installé la source via le gestionnaire de SDK Android comme décrit ailleurs.

Lee Adams
la source
0

Tout d'abord, vérifiez que vous avez déjà la source de chargement.

puis réinitialisez l'emplacement du SDK Android sur settings.

J'ai résolu mon problème par la méthode ci-dessus.

Double.fang
la source
0

La seule chose qui a fonctionné pour moi était:

  • Ouvrez le gestionnaire de SDK Android (Outils -> Android -> Gestionnaire de SDK -> Lancer le gestionnaire de SDK autonome)
  • désinstaller toute la plate - forme et les sources du SDK pour le SDK Android (à partir de tous les niveaux d'API)
  • redémarrer Android Studio

Au redémarrage, Android Studio affichera un assistant car aucun SDK n'est installé: installez la plate-forme SDK et les sources pour le niveau d'API actuellement utilisé.

ulcica
la source
0

Dans Android Studio 2.3.3 sur Windows 7, j'ai eu le problème que les fichiers source déjà téléchargés pour l'API-Level 26 dans le dossier SDK\sources\android-26n'étaient pas reconnus. L'utilisation de "Fichier | Invalidate Caches / Restart" a résolu le problème pour moi.

user1364368
la source
0

Pour moi, le téléchargement et l'actualisation n'aidaient pas. J'ai essayé de choisir la source mais toujours le même problème. J'ai donc fait Invalidate Cache / Restart. Maintenant ça marche.

J'ai essayé de modifier le fichier jdk.table.xml mais il n'y avait pas d'entrée pour android-26, ce n'était que jusqu'à android-25, j'ai donc décidé de ne pas modifier ce fichier.

utilisateur4057066
la source
0

Au 09/08/2019, de telles sources sont disponibles

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

Vous pouvez les lister par ./pathtoandroidsdk/tools/bin/sdkmanager --list --verbose --no_https

Par exemple, installez par ./pathtoandroidsdk/tools/bin/sdkmanager "sources;android-28"

Il n'y a pas besoin dans Android Studio pour le téléchargement

Instructions de configuration dans Android Studio

Dans l'application, build.gradledéfinissez la version correcte de sdk qui comprendra les sources souhaitées

android {
    compileSdkVersion 28
    ...

Pour appliquer les modifications - redémarrez l'IDE

Vlad
la source
0

Je viens de rencontrer un problème similaire lorsque je dois télécharger la plate-forme android 28 via la ligne de commande, j'ai vu la réponse pour exécuter la commande ./pathtoandroidsdk/tools/bin/sdkmanager "sources;android-28" .

Mais en fait, de developer.android.com , il montre un exemple comme sdkmanager "platform-tools" "platforms;android-28", donc je suppose que cela devrait être ./pathToAndroidSdk/tools/bin/sdkmanager "platforms;android-28".

Chapelier Fou
la source