如何将源代码附加到 android.jar

我是 Android 的新手。我使用的是 WindowsOS 和 EclipseIDE。我的简单应用程序有一个 spinner,用于从数据库列填充列表。当我单击 spinner Class 时,文件 Editor 显示未找到源代码,android.jar 没有源代码附件。

我下载了源代码,放在了这个位置:

android-sdk-windows\platforms\android-8

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

右键单击 project = > build path = > configure build path = > library = > source attance = > give the path of the source code download。

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

67201 次浏览

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

如果您遇到了 spinner 的困难,请尝试获取示例代码并查看它是如何工作的: Http://developer.android.com/resources/samples/get.html

祝你好运

更新

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

除非您需要更老的 API 源,否则 Timmm 的答案可能更适合您。如果你需要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 资源

现在真的很简单!

进入 Window-> Android SDK Manager 并安装“ SourceforAndroid SDK”。

现在尝试控制-点击一些 Android 标识,你会得到通常的“没有来源附加”页面。单击“附加源”并获取选项来选择一个外部文件夹。

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

它应该思考片刻,然后显示源! 耶!

如果添加文件夹 android-sdks/sources/android-17作为外部源不工作(在我的情况下) ,你可以尝试创建文件夹 android-sdks/platforms/android-17/sources/android-17复制源到它,并重新启动 Eclipse (我有 eclipseJuno 服务发布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的源代码

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

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

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

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

它可以很好地创建目录和符号链接“ source/android-XX” 到“ . ./. ./. ./source/android-XX”:

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

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

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

看起来更改是由 appengine sdk 引起的,但是对于 ADT,平台 API 应该定义为。/sdk/平台

那条路。/sdk/source 似乎是一个更通用的 java 位置,可能是“正确”路径。因此,像往常一样,Android 是个问题。我很确定从现在开始,我两样都需要。/sdk/来源和。/sdk/平台,这取决于我编译的内容。

所以我把所有东西都从。/sdk/来源。/sdk/Platform,删除。/sdk/source,然后创建一个链接‘ cd sdk & & ln-s Platform source’

现在一切都正常了; -)

对我来说,唯一有效的解决方案是 Fsbmain的答案。他真厉害。我不能评论他的解决方案,因为我的低声誉柜台。但我想分享我的知识;)

我正在处理 windows,不想把整个源代码树复制到另一个位置。并且在更新时再次复制等等。所以我利用这种可能性插入了一个符号链接,这个链接在 WindowsVista 上运行起来非常有魅力(或者像 Linux 一样)。对于 Linux,您必须在 fsbmain 的回答下查看 Joe 的评论。

假设你有 D: sdk 平台 android-19的平台。现在您必须创建一个子目录 消息来源,然后创建一个到实际源文件夹的相对链接。

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... 完成!

对我有效的方法就是在 Murach 的 Android 编程中找到的答案。我被困在调试中,花了大约3个小时来解决这个问题,然后翻到下一页(字面意思) ,上面写着“有时 Eclipse 会显示一条源代码未找到的消息,因为... ...”(- headdesk -)

我的解决方案是打开“步骤筛选”,并添加在调试时想要跳过的包。显然,Eclipse 有时会遍历所有源代码库,而您所需要的只是让它遍历您的代码。您可以通过将要跳过的包添加到筛选器中来绕过这一步。根据 Murach 的说法,你可以通过反复试验来做到这一点,首先选择所有的软件包,然后添加它们。随着调试的继续,您可能会发现需要向筛选器添加更多的包。

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

Android.安卓应用。,com.android.谷歌。,com.ibm.Com Sun.,dalvik.爪哇。,javax.Jrockit.,libcore.呃,阿帕奇。,org.omg.Sun.,sunw. * ,(最后一个是类,不是包)) java.lang. ClassLoader

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

祝你好运!