如何将源附加到android.jar

时间:2011-04-22 06:54:59

标签: android eclipse

我是Android新手。我在使用Eclipse IDE的Windows操作系统中工作。我的简单应用程序有一个微调器,用于填充数据库列中的列表。当我点击微调器类时,文件编辑器说未找到源,并且android.jar没有源附件。

我下载了源代码并将其放在此位置:

android-sdk-windows\platforms\android-8

然后,我通过以下步骤附加了这个来源:

右键单击项目=> build path => configure build path => libraries =>来源附件=>给出下载源代码的路径。

但是,我的调试没有得到任何解决方案。同样,当点击微调器时,它会打开android.jar没有源附件的调试。

7 个答案:

答案 0 :(得分:89)

现在这很容易!

转到Window-> Android SDK Manager并安装“Android SDK的源代码”。

现在尝试控制点击一些Android识别码,您将获得通常的“无源附加”页面。单击“附加源”并选择选择外部文件夹。

现在浏览到/home/me/android-sdks/sources/android-16(或安装SDK的地方;这是默认设置),然后点击确定。

它应该考虑一下,然后显示来源! Yeay!

答案 1 :(得分:85)

除非您需要较旧的API源代码,否则Timmmm的回答可能会更好。如果您确实需要14岁以上的资源,请继续阅读......

在Eclipse中只需转到

  

帮助 - >安装新软件

然后添加更新站点

  

http://adt-addons.googlecode.com/svn/trunk/source/com.android.ide.eclipse.source.update/

并通过动议进行安装。

这将很乐意为所有已安装的API版本提供源代码,并且对我来说非常有效。 这里有更多文档

  

http://code.google.com/p/adt-addons/

查找标题 Android来源

答案 2 :(得分:14)

如果添加文件夹android-sdks/sources/android-17作为外部源不起作用(如我的情况),您可以尝试创建文件夹android-sdks/platforms/android-17/sources/android-17复制源并重启eclipse(我有eclipse Juno Service Release 1) )。只有这种方式适合我。

为android-17执行此操作的步骤:

  1. 转到adroid-sdk安装文件夹,对我来说是d:\ws\android-sdks\
  2. android-17来源文件夹从android-sdks\sources\android-17\复制到android-sdks\platforms\android-17\sources\(您必须手动创建文件夹sources)文件夹,以便源的最终路径必须是: android-sdks\platforms\android-17\sources\android-17\
  3. 重新启动eclipse,它必须自动附加android-17
  4. 的源代码

    UPD:与symlinks相同的解决方案:

    Windows Vista + (感谢@ saleemrashid1在评论中提及mklink):

    1. cd platforms\android-17
    2. mklink /D "sources\android-17" "..\..\..\sources\android-17"
    

    对于基于Unix的操作系统(@Joe评论):

    它可以正常创建目录和符号链接“sources / android-XX” 到“../../../sources/android-XX”:

    mkdir platforms/android-19/sources && 
    ln -s ../../../sources/android-19 platforms/android-19/sources/android-19. 
    

答案 3 :(得分:13)

要附加android.jar的源代码,您可以按照以下链接中的教程: http://android.opensourceror.org/2010/01/18/android-source/ 确保选择正确的平台版本。

如果您使用微调器进行difficutly,请尝试获取示例代码并查看其工作原理: http://developer.android.com/resources/samples/get.html

祝你好运。 :)

更新

这个答案已经过时了,请考虑其他答案。

答案 4 :(得分:1)

对我有用的是Murach的Android编程中的答案。我试图调试并试图解决它大约3个小时,然后转到下一页(字面意思),它说“有时候Eclipse会显示一个源未找到的消息,因为......”(-headdesk - )< / p>

我的解决方案是打开步骤过滤并添加我想在调试时跳过的包。显然,Eclipse有时会遍历所有源代码库,只需要它就可以逐步执行代码。您可以通过将要跳过的包添加到过滤器来绕过此操作。根据Murach的说法,你只需要通过反复试验来做,从选择所有包并添加它们开始。在继续调试时,您可能会发现需要向过滤器添加更多包。

具体步骤: 1.打开步骤过滤;点击顶部工具栏中的按钮,如下所示:http://i57.tinypic.com/x3iccp.png 2.转到Window - &gt; Preferences,然后在Preferences对话框中,选择Java - &gt; Debug - &gt; Step Filtering 3.选择所有包。 4.要添加其他过滤器,请单击“添加过滤器”,在末尾键入带有。*的包名称,然后单击“确定”。 Murach建议开始添加这些常见的包: --android。* --com.android。* --com.google。* --dalvik。* --libcore。* --org.apache。* 因此,要添加其中一个软件包,请单击“添加过滤器”,键入“android。*”,然后单击“确定”。我最终在Step Filter Preferences上获得了以下所有软件包。

android。,android.app。,com.android。,com.google。,com.ibm。,com.sun。,dalvik。,java。,javax。,jrockit。,libcore。,org.apache。,org.omg。 ,sun。,sunw。*,((最后一个是类,不是包))java.lang.ClassLoader

我在对话框顶部选中了“使用步骤过滤器”,并在底部选中了“逐步过滤”。单击“应用”,然后单击“确定”关闭对话框。它应该工作。

祝你好运!

答案 5 :(得分:0)

我添加了appengine sdk和其他一些来源,这破坏了我的ADT: - (

我看到对于android-16和android-17,SDK Manager下载的平台库开始转到./sdk/sources,而在我添加appenginge sdk之前,SDK Manager将平台发送到./sdk/platforms。

看起来这个变化是由appengine sdk引起​​的,但是对于ADT,平台API应该去./sdk/platforms

路径./sdk/sources似乎是一个更通用的Java位置,可能是“正确的”路径。因此Android就像往常一样。从这一点开始我非常肯定,我需要./sdk/sources和./sdk/platforms,这取决于我编写的内容。

所以,我将所有内容从./sdk/sources移动到./sdk/platform,删除了./sdk/sources,然后创建了一个链接'cd sdk&amp;&amp; ln -s平台来源'

现在一切正常; - )

答案 6 :(得分:0)

对我而言,唯一有效的解决方案是fsbmain的答案。感谢他。由于我的低声誉反击,我无法对他的解决方案发表评论。但我想分享我的知识;)

我正在使用Windows,并且不希望将整个源树复制到另一个位置。并且在更新等上再次复制。因此我使用了插入符号链接的可能性,该链接在Windows Vista之后就像魅力(或类似Linux)一样有效。对于Linux,你必须在fsbmain的答案下查看Joe的评论。

假设您拥有 D:\ sdk \ platforms \ android-19 中的平台。现在你必须创建一个子目录 sources ,之后创建一个指向真实源文件夹的相对链接。

D:\sdk\platforms\android-19>mkdir sources
D:\sdk\platforms\android-19>cd sources
D:\sdk\platforms\android-19\sources>mklink /D android-19 ..\..\..\sources\android-19

现在重启Eclipse ...完成!