如何在Eclipse中附加Android支持库源代码?


Answers:


66

从Android SDK Manager下载支持包后,您可以在文件夹<android-sdks> / extras / android / support / v4 / src中找到支持包的源代码。


12
就我而言,它存储在中C:\Program Files\Android\android-sdk\extras\android\compatibility\v4\src\java。然后,我使用以下命令将其内容(android文件夹)打包到* .jar中jar cf android-support-v4-sources.jar android/。我将此罐子附加到android-support-v4.jar(eclipse中的Java构建路径/库设置)。作品好:)
哈佛Geithus

5
这似乎现在不起作用。我该如何运作?帮助。我正在使用adt 21.1。android-support-v4.jar的doc源或java源不可修改。右键单击项目,属性> Java构建路径>库选项卡,Android私有库> android-support-v4.jar-源附件:(无)-不可修改。:(
Thupten

3
好的,让它工作。Android的支持,v4.jar需要在Referenced Libraries通过点击右键,Build Path..Add to Path。然后在中Referenced Libraries,在android-support-v4上的属性上单击鼠标右键,然后设置源。
Thupten

该答案确实完全回答了OP的问题。要将其附加到eclipse中的jar文件中,请参见@andr的回答
JRomero

@Thupten,难道您引用两次就足够了吗?
Pacerier,2014年

122

我只想添加另一种附加支持库资源的方法。它要求版本20或更高版本中的ADT。假设此方法适用于容器禁用了设置源/ javadoc位置的所有JAR。这是您需要做的:

  1. android-support-v4.jar库位于libs项目的目录中。在同一目录中,创建一个常规Java属性文件,其名称与所讨论的JAR完全相同,但具有.properties扩展名。因此,对于我们的支持库,它将为:
    android-support-v4.jar.properties

  2. 打开创建的属性文件,并将属性的值设置src为可以找到该库源的位置。您的文件应包含以下一行:

    src=c:/apps/adt-bundle-windows-64bit/sdk/extras/android/support/v4/src
    
  3. 保存文件。

  4. 关闭并重新打开您的android项目。

  5. 尝试浏览到支持类之一。源附件现在应该可以工作。

在我的情况下效果很好。

需要注意的一件事:如果src不是绝对路径,它将从JAR文件的父目录开始解析。以支持库为例-如果src=support/src,ADT将假定类源位于中libs/support/src

由其作者编写的此功能的简短说明可以在此处找到。

如果有人对如何正确.properties处理此文件感兴趣,我建议阅读补丁集#4,尤其是。eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/ internal/project/LibraryClasspathContainerInitializer.java:)中的变化

编辑

另请参阅WindRider关于在具有多个引用库的项目中正确添加源的很好的评论。


9
这是“官方”的推荐方法。
BoD

10
请注意,如果您有一个包含多个引用库的大型项目,这些库又引用了android support lib,则必须确保android-support-v4.jar的所有副本都是相同的二进制文件。否则,您会收到一个奇怪的错误“校验和不匹配bla bla”。同样,将仅导入这些支持的库副本之一,也许一个包含在库项目的lib \文件夹中。要查看使用哪一个,请打开Package Explorer-> Android Dependencies,然后查看从何处导入支持库。然后,对主项目而不是对库项目执行相同的过程。
WindRider 2013年

2
在尝试了其余部分之后,我可以说这是最好的答案-应该被接受为正确的答案。
阿米尔·乌瓦尔2013年

2
@Simulant-我不是ActionBar兼容库的专家,但快速浏览一下,我想要使用它,您必须将其作为单独的Android Lib项目导入,并在您的主项目中将其作为依赖项引用,对吗?如果是这样,您只需要按照此处描述的lib项目“ libs”目录中的步骤进行操作即可。该目录应该有两个.jar文件:android-support-v4.jarandroid-support-v7-appcompat.jar并且您应该能够为其创建提到的.properties文件。
Andr

5
如果您使用的是Windows,请确保src在行中使用正斜杠。
Scutterman

83

这里是在Eclipse Juno中附加支持库源代码的解决方案

我想您的项目已经android-support-v4.jar在“ Android Dependencies”下的“ Build Path”中,但是您无法将source目录附加到该项目。(“源附件”表示“不可修改”)。解:

  • 转到“配置构建路径”
  • 添加外部JAR> YourProject/libs/android-support-v4.jar (我知道您的项目已经引用了它,但是不用担心,只需再次添加它)。
  • 展开jar并将Source附加到外部Jar: android-sdk/extras/android/support/v4/src
  • 切换到“订单和导出”标签,在“ Android Dependencies”上方拉起外部jar

享受通过源导航支持库!

如果您附加了“ Android测试项目” YourProject,则YourProjectTest可能无法再编译。在这种情况下,您必须返回“订购并导出”,并在“ Android依赖关系”下方拉下外部jar,以使一切恢复正常。


2
对我来说,“ Java构建路径”而不是“配置构建路径”。
user123321

4
这具有所有必需的步骤,并为我工作!最后一步(排序)被排除在外,非常重要。
cottonBallPaws

3
我在Android Private Libraries(APL,在Android Dependencies上方列出)中列出了android-support-v4.jar,因此我不得不将新添加的.jar放在APL之上
Kuitsi

1
为了记录起见,它还可以与其他库一起使用,而不仅仅是支持库。/上尉船长
埃米尔·隆德伯格

2
您不必这样做。它违反了标准android应用程序的初始设置。我建议您使用@andr的“官方”解决方案。
JRomero

16

参考已接受的答案,也可以直接从目录附加源,而无需构建.jar文件。在Java构建路径/库选项卡中,展开android-support-v4.jar,突出显示“源附件”,单击“编辑...”,“外部文件夹...”,然后指向(android-sdk)\ extras \ android \ support \ v4。

这使用蚀靛蓝测试了。

从评论:

如果您的支持库位于项目的“ Android Dependencies”文件夹中,则似乎会出现无法向支持库添加源的问题。解决方法是从相同的“ Java构建路径/库”选项卡中,单击“添加外部JAR ...”,然后在(android-sdk)\ extras \ android \ support \ v4路径中找到.jar文件。然后,它将出现在项目设置中的新“参考库”文件夹下。


5
当然,如果您没有使您无法将源附加到jar的错误。
Ixx 2012年

1
这太棒了,但我的“编辑”按钮显示为灰色:/。您提到的臭虫是lxx吗?找到了解决方案?
跨度

3
这完全是灰色的,它说:“不可修改”
Smith先生

2
如果您的支持库位于项目的“ Android Dependencies”文件夹中,似乎会出现无法向支持库添加源的问题。解决方法是从相同的“ Java构建路径/库”选项卡中,单击“添加外部JAR ...”,然后在(android-sdk)\ extras \ android \ support \ v4路径中找到.jar文件。然后,它将出现在项目设置中的新“参考库”文件夹下。然后,您可以按照原始答案中的说明将源附加到此.jar文件。
happydude 2012年

2

对于那些喜欢该标准的人来说,具有源代码的jar文件,这使得源代码控制和共享项目更加方便。

例如:

../android-support-v4.jar
../android-support-v4-src.jar

创建源jar文件并附加它很简单:

  1. cd到path_to_android_sdk / extras / android / compatibility / v4 /
  2. 使用您喜欢的zip程序(例如7-zip)创建一个zip文件,并将其命名为android-support-v4-src.jar。jar中的第一个文件夹应该是/ scr。
  3. 将文件复制到您的项目中,在此示例中,该文件与代码罐位于同一文件夹中。
  4. 在Eclipse中,将源jar附加到项目属性中。

感谢您的回答。要创建jar归档文件,还可以使用JDK中包含的jar程序。
哈佛Geithus

1

我只是删除自动生成的一个,然后将其手动添加为参考库。

首先打开一个类,IDE会要求您更改附加的源。


0

从构建路径附加src和doc的过程适用于某些人,而不适用于某些人(如我)。一些重要的事情要记住

  1. 确保您在Package Explorer中,而不是Project Navigator中

  2. 如果您已将android-support-v4.jar放在项目下的libs文件夹中。大。

  3. 右键单击jar,构建路径。。添加到路径。(如果未显示“添加到路径”,则说明它已添加。您将看到“配置路径”。)

  4. 作为第3步的结果,一个名为Referenced Libraries的新文件夹将出现在包浏览器树中。打开那棵树,在那儿找到android-support-v4.jar。在“引用的库”的“属性”中右键单击此jar 。然后在此处设置Java Source Attachment和Javadoc位置。

  5. 大功告成

我的Java源附件的路径(其外部位置)

C:/用户/ thupten / adt-bundle-windows-x86_64-20130514 / sdk / extras / android / support / v4 / src

我将android网站doc用于java doc位置

http://developer.android.com/reference/android/support/v4/app/package-summary.html


0

我为我找到了这个:

对于主库:android.jar:

src:sdk / sources / android-19 doc:sdk / docs / reference /

对于支持库:android-support-v4.jar :(在此之前,我们应该像外部jar一样添加android-support-v4.jar(项目属性-> Java构建路径->库,然后在“定单和导出”选项卡中上拉Android私有库之前的库)):

src:sdk / extras / android / support / v4 / src / java doc:http : //developer.android.com/reference/android/support/v4/app/package-summary.html(不确定)


0

更新SDK并下载其中的文档后:

  • 将支持库项目导入包浏览器。
  • 在库中创建一个文件夹,并将其命名为ext-jars
  • 移动android-support-v4.jarext-jars文件夹。

    在此处输入图片说明

  • 右键单击项目,然后单击属性。
  • 单击左侧菜单中的Java Build Path,然后选择Libraries选项卡。
  • 单击,Add JARs...然后展开项目,然后选择您已经移至folder的jar文件ext-jars

在此处输入图片说明

  • 展开添加的jar,Source attachment然后选择,然后单击Edit
  • 选择External location然后单击External Folder...
  • 选择位于以下位置的Support v4的源文件夹 [sdk-path]/extras/android/support/v4/src

在此处输入图片说明

  • 选择Javadoc location单击,Edit然后选择Javadoc URL然后单击,Browse...然后选择位于以下位置的支持v4的javadoc位置[sdk-path]/docs/reference/

在此处输入图片说明 -选择Order and Export标签,然后检查android-support-v4.jar您刚刚添加的标签。

我建议您还清理项目并重新打开Eclipse。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.