如何附加javadoc或源jar在libs文件夹?

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

Non modifiable android dependencies classpath

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

79454 次浏览

当我升级到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位置。

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

现在,将你想要Javadoc的库移动到lib。它们将该库添加到Build Path并添加Javadoc。

检查android问题中的评论

答案来自http://code.google.com/p/android/issues/detail?id=27490#c21

在你的libs文件夹中,你必须有:

doc(folder)
foo_doc(folder)
index.html
...
...
foo.jar
foo.jar.properties

在你的foo.jar.properties中,只需放入doc=./doc/foo_doc

也许你将不得不刷新你的项目,清理它,关闭它并重新打开它。

这对我很管用!

回答你的问题的最好方法是总结泽维尔plastivVinceFR克里斯多夫的答案。

循序渐进指南

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

  1. 将库的.jar文件放在填词文件夹中,将相关的源文件.jar和doc .jar文件放在单独的子文件夹中,如libs / src库/文档。如果你愿意,你可以使用src文档以外的名称,但重要的是.jar文件不能直接在填词文件夹中。
  2. 填词文件夹中创建一个.properties文件,使用实际库的确切名称。jar(参见示例)。确保你保留了. jar部分。
  3. .properties文件中指定源文件和javadoc .jar的相对路径。
  4. 关闭并重新打开Eclipse项目!可选地,按F5刷新项目。
  5. 在源代码中选择链接库的对象。
  6. 在Eclipse中打开Javadoc视图以检查文档(参见屏幕截图)。
  7. 打开所选对象的源代码声明(默认快捷方式:F3)。


例子

本例使用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直接放在自由文件夹中是可以的,但必须是不推荐,因为这会导致文档和源代码是包括在你的申请中

< p >
Eclipse JavaDoc面板的截图:

JavaDoc view in Eclipse

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

Eclipse测试项目截图


引用未打包的javadocs

如果你想引用javadocs,它不是作为打包的.jar提供的,而是根据安卓开发者的评论的要求简单地提供作为文件和文件夹,请执行以下操作:

  1. 将库.jar放在libs/文件夹中
  2. 创建一个包含以下内容的yourlibraryname.jar.properties文件(不要忘记.jar):

     doc=docs
    
  3. Add the javadocs folders to the libs/ folder.

You should come up with the following folder structure:

├── 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库.

GoogleAdMobAds Android library Eclipse project

在windows中,你必须转义属性文件中doc和src路径的反斜杠。的例子, Android-support-v4.jar的属性文件内容如下
doc=C:\\Program Files (x86)\\Android\\android-sdk\\extras\\android\\support\\v4\\docs
src=C:\\Program Files (x86)\\Android\\android-sdk\\extras\\android\\support\\v4\\src

我尝试了以上所有的方法,但没有一个对我有效。我想出了一个永远有效的方法。基本上,罪魁祸首是ADT处理“libs”文件夹的方式,所以我放弃使用“libs”文件夹。相反,我创建了一个“libraries”文件夹并使用它。

你可以这样做,它总是工作-即使ADT应该改变它如何改变它处理“libs”文件夹在未来:

  1. 创建“libraries”文件夹。
  2. 为每个库创建一个子文件夹。
  3. 将每个库的所有文件放在适当的文件夹中(java jar文件、源jar文件、javadoc jar文件等)。
  4. 在java Build Path的“Libraries”选项卡中为每个项目添加java jar文件,单击添加jar…按钮,从“Libraries”文件夹中的library子文件夹中添加jar文件。
  5. 将source/javadocs附加到每个项目,方法是在“Libraries”选项卡中打开项目,选择所需的项目,然后单击编辑……按钮,从“Libraries”文件夹中的library子文件夹中添加source/javadocs。
  6. 选中Java Build Path的“Order and Export”选项卡中每个项目的复选框。
  7. 在确认所有库都已移动后,删除“libs”文件夹。

按照上面的步骤,你的项目会有这样的文件夹:

enter image description here

你的Java构建路径看起来像这样:

enter image description here

在Order和Export中,库被勾选:

enter image description here

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

  • 为你的javadocs打开一个文件夹在你的项目。
  • 将你的javadocs 解压缩,放入自己的文件夹中。
  • lib文件夹中,为你想要关联javadoc的每个库添加一个xxx.jar.properties文件。
  • 在该属性文件中,引用您将适当的javadoc解压缩到的文件夹(在Windows上,转义反斜杠):

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

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

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

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

这是我解决它的方法:

  1. 前提条件:这两个库都列在“参考库”下。

  2. 右键单击commons-io-2.4.jar并选择Properties。此窗口显示:

enter image description here

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

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

enter image description here

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

只需更新ADT插件。这对我很管用!!

  1. 启动Eclipse,然后选择帮助>安装新软件。
  2. 单击右上角的Add。
  3. 在出现的Add Repository对话框中,输入“ADT Plugin”作为名称,输入以下URL作为位置: https://dl-ssl.google.com/android/eclipse/ 注意:Android开发人员工具更新站点需要安全连接。确保您输入的更新站点URL以HTTPS开头 <李>单击OK。 2 .在“可用软件”对话框中,选中“开发人员工具”后的复选框,单击“下一步”
  4. 在下一个窗口中,您将看到要下载的工具列表。单击Next。
  5. 阅读并接受许可协议,然后单击Finish。
  6. 如果您得到一个安全警告,说软件的真实性或有效性无法建立,单击OK。
  7. 安装完成后,重新启动Eclipse

希望有帮助!

我知道这个问题已经很老了,但是当我昨天遇到同样的问题时,上面发布的解决方案对我来说太烦人了,我发现可以很容易地在项目的.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构建路径>库选项卡。单击罐子旁边的箭头展开。< / p >

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

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

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

我的解决方案:

下载一个名为“Java Source Attacher Feature”的eclipse插件。

稍后,选择一个jar并使用这个插件附加源代码。点击jar文件来选择它,鼠标右键,然后选择“附加java源代码”。

有了源代码,就自动有了javadoc。

现在可以在类上使用F2来查看相关的javadoc。

享受