我是Android新手。我在使用Eclipse IDE的Windows操作系统中工作。我的简单应用程序有一个微调器,用于填充数据库列中的列表。当我点击微调器类时,文件编辑器说未找到源,并且android.jar没有源附件。
我下载了源代码并将其放在此位置:
android-sdk-windows\platforms\android-8
然后,我通过以下步骤附加了这个来源:
右键单击项目=> build path => configure build path => libraries =>来源附件=>给出下载源代码的路径。
但是,我的调试没有得到任何解决方案。同样,当点击微调器时,它会打开android.jar没有源附件的调试。
答案 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版本提供源代码,并且对我来说非常有效。 这里有更多文档
查找标题 Android来源
答案 2 :(得分:14)
如果添加文件夹android-sdks/sources/android-17
作为外部源不起作用(如我的情况),您可以尝试创建文件夹android-sdks/platforms/android-17/sources/android-17
复制源并重启eclipse(我有eclipse Juno Service Release 1) )。只有这种方式适合我。
为android-17执行此操作的步骤:
adroid-sdk
安装文件夹,对我来说是d:\ws\android-sdks\
android-17
来源文件夹从android-sdks\sources\android-17\
复制到android-sdks\platforms\android-17\sources\
(您必须手动创建文件夹sources
)文件夹,以便源的最终路径必须是: android-sdks\platforms\android-17\sources\android-17\
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 ...完成!