新版本的ADT r17插件为Eclipse添加了自动设置JAR依赖项的功能。/libs文件夹中的任何.jar文件现在都被添加到构建配置中。不幸的是,Android依赖类路径容器是不可修改的。

如何将javadoc和源代码附加到自动插入的.jar(从/libs文件夹)?


当前回答

当我升级到SDK Tools和ADT修订版17时,commons-io-2.0.1.jar的库引用被破坏了。

为了解决这个问题,我使用了Project -> Properties -> Java Build Path,我选择了Libraries选项卡。我删除了对commons-io-2.0.1.jar的任何引用,然后使用Add Jar将commons-io-2.0.1.jar重新添加到项目中。然后单击库名称旁边的' > '箭头以展开库引用,并使用编辑按钮设置Source附件和Javadoc位置。

对不起,我不能张贴图像,因为我没有足够的代表(请…)。

其他回答

回答你的问题的最好方法是总结Xavier, plastiv, VinceFR和Christopher的答案。

循序渐进指南

为了将源代码和javadoc链接到由Eclipse自动链接的.jar库,您必须执行以下操作:

Place the library .jar file in the libs folder, and the associated source .jar and doc .jar files in separate subfolders such as libs/src and libs/docs. You can use a name other than src and docs if you want, but it's important that the .jar files aren't directly in the libs folder. Create a .properties file in the libs folder with the exact name of the actual library .jar (see example). Make sure you keep the .jar part. Specify the relative paths to the sources and javadoc .jar in the .properties file. Close and re-open the Eclipse project! Optionally, refresh the project by pressing F5. Select an object of the linked library in the source code. Open the Javadoc view in Eclipse to check the documentation (see screenshot). Open the source code declaration (default shortcut: F3) of the selected object.

例子

本例使用Gson库。

libs文件夹的目录结构:

libs
├── docs
│   └── gson-2.2.2-javadoc.jar
├── gson-2.2.2.jar
├── gson-2.2.2.jar.properties
└── src
    └── gson-2.2.2-sources.jar

gson-2.2.2.jar.properties的内容

src=src/gson-2.2.2-sources.jar
doc=docs/gson-2.2.2-javadoc.jar

额外的信息

当然,您可以将javadoc和sources .jar移到其他文件夹中并指定相对路径。这取决于你。可以将源代码和javadoc jar直接放在lib文件夹中,但不建议这样做,因为这会导致文档和源代码包含在应用程序中。

Eclipse JavaDoc面板的截图:

Android 4.2.2下使用Gson的Eclipse项目截图:


引用未打包的javadocs

如果你想引用javadocs,它不是作为一个打包的。jar文件提供的,而只是作为android开发者在评论中要求的文件和文件夹,请执行以下操作:

将库.jar放在libs/文件夹中 创建一个yourlibraryname.jar.properties文件(不要忘记.jar),包含以下内容: 医生=文档 将javadocs文件夹添加到libs/文件夹中。

你应该得到如下的文件夹结构:

├── docs
│   ├── allclasses-frame.html
│   ├── allclasses-noframe.html
│   ├── com
│   │   └── google
│   │       └── ads
│   │           ├── Ad.html
│   │           │   ....
│   │           └── package-tree.html
│   │   ...
│   └── stylesheet.css
├── GoogleAdMobAdsSdk-6.4.1.jar
└── GoogleAdMobAdsSdk-6.4.1.jar.properties

不要忘记如上所述关闭并重新打开Eclipse项目! 下面是一个引用GoogleAdMobAds Android库的工作示例项目的截图。

在ADT 22上,我无法访问common -io- 2.4.4 .jar和android-support-v4.jar的Javadoc

这是我解决它的方法:

前提条件:这两个库都列在“参考库”下。 右键单击commons-io-2.4.jar并选择Properties。此窗口显示:

commons-io-2.4.jar与commons-io-2.4-javadoc.jar捆绑在一起,因此我在归档外部文件路径中指定了Javadoc。

我对支持库做了同样的事情:右键单击android-support-v4.jar并选择Properties。此屏幕显示:

这一次,我指定了源目录的路径。

似乎是一个移动的目标,但在收集了许多地方的零碎信息(包括对这个问题的答案,但未能描述所有必要的细节,或者可能系统在此期间发生了轻微变化)后,这似乎是解决方案,至少到目前为止(2013年8月28日)。

为javadocs打开一个文件夹,不在项目内部。 把你的javadocs解压到它自己的文件夹中。 在lib文件夹中,为每个想要关联javadoc的lib添加一个xxx.jar.properties文件。 在那个属性文件中,引用你解压javadoc到的文件夹(在Windows上,转义反斜杠):

doc=d:\\Android\\javadoc\\libGoogleAnalyticsServices

在Eclipse中关闭并重新打开项目(刷新是不够的)。现在,当您将鼠标悬停在适当的类上时,应该会看到工具提示。

没有遵守这些步骤中的任何一个(不解压缩javadoc,引用文件而不是文件夹,等等)似乎会破坏它。

我知道这个问题已经很老了,但是当我昨天遇到同样的问题时,上面发布的解决方案对我来说太烦人了,我发现可以很容易地在项目的.classpath文件中添加源路径定义。然后Eclipse将对其进行改编,您就可以浏览源代码了。

之前的类路径条目:

<classpathentry kind="lib" path="[PATH_TO_MY_JAR]"/>

将路径添加到源后

<classpathentry kind="lib" path="[PATH_TO_MY_JAR]" sourcepath="[PATH_TO_MY_SOURCE_JAR]"/>

希望这能有所帮助

对于任何给定的jar,如果您希望在编码时在工具提示中看到Javadoc帮助,请执行以下操作: 右键单击项目>属性> Java构建路径>库选项卡。单击罐子旁边的箭头展开。

源附件应该指向实际jar的位置(可能就在java文件夹中)。

Javadoc位置:这里有两个选择:URL和存档。如果这个jar的javadocs是一个文件夹的形式,在第一层包含一个index.html文件,选择“Javadoc URL”并指向该文件夹。 如果你的Javadoc在一个jar中,选择“Javadoc in archive”并指向这个jar。 不要忘记重新启动工作区/关闭并重新打开项目,以使用Javadoc信息更新工具提示。

我希望这有助于为我认为应该是非常简单的任务提供一个简单的答案。