【问题标题】:When you get a stack trace in Eclipse with SDK classes in the stack, how can you see the SDK sources?当您在 Eclipse 中获得堆栈中包含 SDK 类的堆栈跟踪时,您如何查看 SDK 源代码?
【发布时间】:2009-02-04 20:34:40
【问题描述】:

当您使用 Eclipse 插件和调试器开发 Android 应用程序并获得堆栈跟踪时,您将看不到任何 SDK 源代码。您需要采取哪些步骤来解决此问题?假设是初学者 Java 程序员。

为了澄清,我希望 Eclipse 在我跳入堆栈帧时自动向我显示正确的源文件和行。我假设我需要找到正确的 SDK 源,将它们放在我的本地系统上,然后告诉 Eclipse 如何查找和使用它们。问题是,我该如何执行这些步骤。

【问题讨论】:

    标签: android eclipse


    【解决方案1】:

    感谢 #android IRC 频道上的 lukehutch,我被指向了一个 blog post,它描述了如何解决问题。

    这甚至是一个问题的原因是因为 Google 没有在 SDK 中包含源代码。有一个bug 来解决这个问题。

    解决方法,如博客文章中更详细描述的那样,是get the sources with git(我为 repo 命令指定了 release-1.0 分支,我希望与 SDK 1.0-r2 对应),收集所有 java 源文件并将它们位于sources/ 目录下的正确目录结构中(位于SDK 的android.jar 旁边),然后在Eclipse 中刷新jar,此时您可以浏览SDK 类源。

    最后,在调试器中运行您的应用程序,直到您从 SDK 类获得堆栈跟踪,您将看到一个用于配置源的按钮:添加您创建的源目录。

    上面的博客链接有一个小的 Python 脚本,可以收集所有的 java 文件并从中创建正确的目录结构。

    【讨论】:

      【解决方案2】:

      如果您在 Eclipse 中查看启动配置(调试->运行方式...), 您将看到一个名为“来源”的选项卡

      如果您选择“添加”,然后提供包含相关源的存档或文件系统目录,则调试器应该允许您跟踪它们。

      您可以从 Android 网站获取 SDK 的源代码,只需确保您的 Jar 和源代码版本相同。

      【讨论】:

      • Android 配置没有来源选项卡。可用的选项卡有:Android、Target 和 Common。他们都没有任何地方可以设置来源。 (常规 Java 配置似乎确实有源选项卡。)
      【解决方案3】:

      现在一些好心人已经在 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,然后:

      • 单击一个 SDK 类并按 F3
      • 点击“附加源”按钮 > 外部文件
      • 选择路径\to\android-sdk\platforms\android-x.x.x-y-src.zip

      现在在任何 Android 类上按 F3 时,您应该可以看到源代码,以及在调试器等中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-07
        • 2020-10-25
        • 1970-01-01
        • 1970-01-01
        • 2012-01-11
        • 1970-01-01
        • 1970-01-01
        • 2014-09-05
        相关资源
        最近更新 更多