2009-02-04 8 views
5

Lorsque vous développez une application Android avec le plugin et le débogueur Eclipse et que vous obtenez une trace de pile, aucun code source SDK n'apparaît. Quelles étapes devez-vous faire pour résoudre ce problème? Supposons un programmeur Java débutant.Lorsque vous obtenez une trace de pile dans Eclipse avec des classes SDK dans la pile, comment pouvez-vous voir les sources du SDK?

Pour clarifier, je veux qu'Eclipse me montre automatiquement les fichiers et les lignes corrects quand je saute dans un cadre de pile. Je suppose que je devrais trouver les sources de SDK correctes, les mettre sur mon système local, puis dire à Eclipse comment les trouver et les utiliser. La question est, comment exactement je fais ces étapes.

Répondre

6

Grâce à lukehutch sur le canal #android IRC, j'ai indiqué un blog post qui décrit comment résoudre le problème.

La raison pour laquelle cela pose même un problème est que Google n'a pas inclus les sources dans le SDK. Il y a un bug pour obtenir ce correctif. La solution de contournement, décrite plus en détail dans le blog, est get the sources with git (j'ai spécifié la branche release-1.0 pour la commande repo qui, je l'espère, correspond au SDK 1.0-r2), rassemble tous les fichiers source java et les place dans la structure de répertoire correcte sous sources/directory (qui se trouve juste à côté de votre android.jar à partir du SDK), et actualisez le jar dans Eclipse à quel point vous pouvez parcourir les sources de la classe SDK.

Enfin, exécutez votre application dans le débogueur jusqu'à ce que vous obteniez une trace de pile d'une classe SDK, et vous verrez un bouton pour configurer vos sources: ajoutez le répertoire sources que vous avez créé.

Le lien de blog ci-dessus a un petit script Python qui peut collecter tous les fichiers java et en créer la structure de répertoires correcte.

0

Si vous regardez votre configuration de lancement dans Eclipse (Debug-> Exécuter en tant que ...), vous verrez un onglet « sources »

Si vous choisissez « ajouter » et fournissez une archive ou répertoire du système de fichiers avec les sources pertinentes, le débogueur est censé vous permettre de tracer en eux.

Vous pouvez obtenir les sources du SDK depuis le site Android, assurez-vous simplement que votre Jar et la version de vos sources sont les mêmes.

+1

Il n'y a pas d'onglet sources pour les configurations Android. Les onglets disponibles sont: Android, Target et Common. Aucun d'entre eux n'a de place pour définir des sources. (Les configurations Java normales semblent avoir l'onglet des sources.) –

0

Certaines personnes ont de belles maintenant mettre en place les fermetures éclair source (jusqu'à 2.3.3) dans un projet de code de Google, donc faire ceci:

cd path\to\android-sdk\platforms 
svn checkout http://fanfq-android-demo.googlecode.com/svn/trunk/android-sdk-src/ . 

Ensuite, allez dans Eclipse, et:

  • Cliquez sur une classe SDK et appuyez sur F3
  • Cliquez sur le "Joindre Source" bouton> fichier externe
  • chemin Sélectionnez \ à \ plates-formes \ android-sdk \ android-xxx-y-src.zip

Vous devriez maintenant source visible lors de la frappe F3 sur une classe Android, et dans le débogueur, etc.

Questions connexes