如何将源码附加到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版本的来源,对我来说效果很好。 一些更多的文件在这里
寻找Android Sources的标题
如果添加文件夹android-sdks/sources/android-17
作为外部源不起作用(在我的情况下),你可以尝试创build文件夹android-sdks/platforms/android-17/sources/android-17
复制源并重新启动Eclipse(我有日食朱诺服务版本1)。 只有这种方式对我有用。
步骤为android-17做这个:
- 转到
adroid-sdk
安装文件夹,对我来说是d:\ws\android-sdks\
- 将
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\
- 重启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 …完成!
- Android中着色button与材质devise和AppCompat
- Android:为什么setVisibility(View.GONE); 或setVisibility(View.INVISIBLE); 不工作
- Android意图无法parsing构造函数
- Android – android.os.NetworkOnMainThreadException
- Android的java.lang.NoClassDefFoundError
- 如何制作Android自定义键盘?
- 第二次查看时,使用FragmentPagerAdapter的ViewPager中的片段为空白
- 有LLVM IR库如何从Ubuntu交叉编译到iOS,Android,Windows和Mac?
- ListView子对象可点击的confilct