如何将源码附加到android.jar

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

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

android-sdk-windows\platforms\android-8

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

右键单击项目=>构buildpath=>configuration构buildpath=>库=>源附件=>给下载的源代码的path。

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

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

如果您遇到微调,请尝试获取示例代码,看看它是如何工作的: http : //developer.android.com/resources/samples/get.html

祝你好运。 🙂

更新

这个答案是相当过时的,请考虑其他答案。

这现在真的很简单!

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

现在尝试按住Ctrl键点击一些Android标识,您将看到通常的“无源附件”页面。 点击“附加源”,并获得select一个外部文件夹。

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

它应该想一会,然后显示源! Yeay!

除非你需要更老的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 Sources的标题

如果添加文件夹android-sdks/sources/android-17作为外部源不起作用(在我的情况下),你可以尝试创build文件夹android-sdks/platforms/android-17/sources/android-17复制源并重新启动Eclipse(我有日食朱诺服务版本1)。 只有这种方式对我有用。

步骤为android-17做这个:

  1. 转到adroid-sdk安装文件夹,对我来说是d:\ws\android-sdks\
  2. android-17源文件夹从android-sdks\sources\android-17\拷贝到android-sdks\platforms\android-17\sources\ (你必须手动在这里创build文件夹sources文件夹),这样source的最后path必须成为: android-sdks\platforms\android-17\sources\android-17\
  3. 重启eclipse,它必须自动附加android-17的源码

UPD:与symlinks相同的解决scheme:

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

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

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

创build目录和符号链接“sources / android-XX”到“../../../sources/android-XX”工作正常:

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

Murach的Android编程中find的答案符合我的要求。 我被困在试图debugging,并尝试工作了大约3小时,然后转到下一页(字面上),它说:“有时Eclipse将显示源找不到消息,因为….”(-headdesk-)

我的解决scheme是打开步骤过滤,并添加我想跳过debugging的包。 显然,Eclipse有时会遍历所有的源代码库,只要你想要它遍历你的代码。 您可以通过添加要跳过的程序包来绕过此filter。 根据Murach的说法,你只需要通过反复试验来完成,首先select所有软件包并添加它们。 继续debugging时,您可能会发现需要将更多的软件包添加到filter中。

具体步骤:1.打开步骤过滤; 单击顶部工具栏中的button,如下所示: http : 160wpb4.png 2.转到Window – > Preferences,然后在Preferences对话框中selectJava – > Debug- – >步骤筛选3.select所有包。 4.要添加其他filter,请单击“添加filter”,在末尾键入包装的名称,然后单击“确定”。 Murachbuild议添加这些常用软件包以开始:–android。* –com.android。* –com.google。* –dalvik。* –libcore。 – –org.apache。*因此,添加一个这些包,点击“添加filter”,input“android。*”,然后点击确定。 我的“步骤筛选器首选项”中包含以下所有软件包。

机器人。 ,android.app。 ,com.android。 ,com.google。 ,com.ibm。 ,com.sun。 ,达尔维克。 ,java。 ,javax。 ,jrockit。 ,libcore。 ,org.apache。 ,org.omg。 ,太阳。 ,sunw。*,((最后一个是类,而不是包))java.lang.ClassLoader

我在对话框顶部选中“使用步骤filter”,在底部选中“逐步filter”。 点击“应用”,然后点击“确定”closures对话框。 它应该工作。

祝你好运!

我添加了appengine sdk和其他一些来源,并且销毁了我的ADT 🙁

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

看起来这个更改是由于appengine sdk的结果,但是对于ADT,平台API应该定义为./sdk/platforms

path./sdk/sources看起来像是一个更通用的java位置,可能是“正确的”path。 因此Android像往常一样,是问题所在。 从这一点来看,我非常确定,我将需要./sdk/sources和./sdk/platforms,这取决于我正在编译的内容。

所以,我把所有从./sdk/sources移动到./sdk/platform,删除./sdk/sources,然后创build一个链接'cd sdk && ln -s platform sources'

一切正常现在;-)

对我来说唯一的解决办法就是fsbmain的答案。 荣誉给他。 我不能评论他的解决scheme,因为我的信誉低。 但是我想分享我的知识;)

我正在研究Windows,并不想将整个源代码树复制到另一个位置。 再次复制更新等。所以我使用的可能性插入一个符号链接,从Windows Vista像魅力(或类似的Linux)的作品。 对于Linux,你必须在fsbmain的回答下看看Joe的评论。

假设你在D:\ sdk \ platforms \ android-19有这个平台。 现在,您必须创build一个子目录 ,然后创build一个相对链接到真正的源文件夹。

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