当您使用 Eclipse 插件和调试器开发 Android 应用程序并获得堆栈跟踪时,您将看不到任何 SDK 源代码。您需要采取哪些步骤来解决此问题?假设初学者 Java 程序员。
澄清一下,我希望 Eclipse 在我跳入堆栈帧时自动向我显示正确的源文件和行。我假设我需要找到正确的 SDK 源,将它们放在我的本地系统上,然后告诉 Eclipse 如何查找和使用它们。问题是,我究竟如何执行这些步骤。
感谢#android IRC 频道上的lukehutch,我得到了一篇描述如何解决问题的博客文章。
这甚至是一个问题的原因是因为谷歌没有在 SDK 中包含源代码。有一个错误可以解决这个问题。
解决方法,如博客文章中更详细描述的那样,是使用 git 获取源代码(我为 repo 命令指定了 release-1.0 分支,我希望与 SDK 1.0-r2 对应),收集所有 java 源文件并放置它们在sources/目录下的正确目录结构中(它就在SDK中你的android.jar旁边),然后在Eclipse中刷新jar,此时你可以浏览SDK类的源代码。
最后,在调试器中运行您的应用程序,直到您从 SDK 类获得堆栈跟踪,您将看到一个用于配置源的按钮:添加您创建的源目录。
上面的博客链接有一个小的 Python 脚本,可以收集所有 java 文件并从中创建正确的目录结构。
如果您在 Eclipse 中查看启动配置(Debug->Run as...),您将看到一个名为“sources”的选项卡
如果您选择“添加”,然后提供包含相关源的存档或文件系统目录,则调试器应该允许您跟踪它们。
您可以从 Android 站点获取 SDK 的源代码,只需确保您的 Jar 和源代码版本相同。
一些好心人现在已经在 Google 代码项目中放置了源 zip(最高 2.3.3),所以只需这样做:
cd path\to\android-sdk\platforms
svn checkout http://fanfq-android-demo.googlecode.com/svn/trunk/android-sdk-src/ .
然后,进入 Eclipse,然后:
现在,在任何 Android 类以及调试器等中按 F3 时,您应该可以看到源代码。