调试Android源码

6

我刚接触Android,正在尝试使用Eclipse和Android SDK调试一个Android应用程序问题。我想进入Android平台代码(具体来说是Activity.class中的代码,更具体地说是startActivityForResult()方法中出现问题的代码),但似乎无法让Eclipse正确找到Activity.class的代码,以便我可以进去查看源代码。它给了我“源代码未找到”的错误提示,我已经尝试使用“更改附加的源代码”按钮或通过项目属性将android.jar从几个位置附加到项目上,但这些都不起作用。(从adt-bundle/sdk/platforms/android-7文件夹中获取的android.jar以及从repo的prebuilts/sdk/7文件夹中获取的版本)。

我正在使用Google APIs 7 (Android 2.1)构建/调试。该项目设置为目标Google APIs 7,Android虚拟设备也设置为该目标。

我已尝试将源代码附件指向包含从最新repo(frameworks/base/core/java/android)下载的Activity.java的本地目录。

我需要尝试从repo中获取用于Android 2.1的该源代码目录的版本吗?还是我正在使用Google APIs 7(而不是Android开源2.1)是问题所在?还是我应该指向其他的android.jar


我建议你探索另一个API源代码,比如API 15之类的,因为据我所知,Android API 7没有可以从Android SDK Manager下载的源代码。 - Simon Zettervall
我实际上找到了一个解决方案(虽然不确定它是否是最佳或理想的方法),但它似乎可以工作(在类似问题的答案中找到)。 http://www.mkyong.com/android/attach-android-source-code-to-eclipse-ide/ - ggprod
太棒了!如果可以的话,请回答你自己的问题,这样来到这里的人就可以做同样的事情。 - Simon Zettervall
我尝试了,但它告诉我需要等待7个小时(因为我的声望很低)... 如果没有其他人更快地回答,那么我会回答的。 - ggprod
2
可能是如何将Android源代码附加到Eclipse?的重复问题。 - Mogsdad
2个回答

10

谢谢。是的,这就可以了。由于我的声望不高,无法为您的答案点赞。 - ggprod

0

还有另一种简单的方法(尽管此方法不能用于API v7)

该方法可用于提供源代码的所有API。

  1. 下载与API对应的android SDK源代码。

  2. 进入android SDK的源文件夹并复制已下载的源代码。 例如:如果您已经为API 15下载了源代码,则在sdk中将会有一个名为“sources”的文件夹,其中列出了所有已下载的源代码。因此,请复制相应的源文件夹(在本例中将被命名为android-15)。

  3. 现在进入platforms文件夹 -> 进入相应的API(android-15)文件夹 -> 然后创建一个名为“sources”的文件夹 -> 进入该文件夹并粘贴之前复制的文件夹。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接