如何将Javadoc或源附加到libs文件夹中的jars?


254

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

不可修改的android依赖类路径

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


我认为您的问题没有得到回答。Mark接受的答案正是您所要解决的问题。我们如何通过自动库(而不是通过手动jar)附加javadoc和源?
pjv 2012年

2
此错误code.google.com/p/android/issues/detail?id=27490#c21有一个问题。注释21表示,在ADT r20中,可以使用标准java .properties文件(foo.jar-> foo.jar.properties)附加源代码/ javadoc,该文件允许您编辑到源文件夹(或归档文件)的相对或绝对路径,并且/或javadoc的相对或绝对路径。
Sergii Pechenizkyi 2012年

Answers:


401

回答问题的最佳方法是总结XavierplastivVinceFRChristopher的答案。

逐步指南

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

  1. 将库.jar文件放置在libs文件夹中,并将关联的源.jar和doc .jar文件放置在单独的子文件夹中,例如libs / srclibs / docs。如果需要,可以使用srcdocs以外的名称,但是.jar文件不要直接位于libs文件夹中,这一点很重要。
  2. 使用实际库.jar的确切名称.propertieslibs文件夹中创建一个文件(请参见示例)。确保保留.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和源.jar移到其他文件夹中并指定相对路径。随你(由你决定。可以将源jar和javadoc jar直接放置在lib文件夹中,但不建议这样做,因为这会使文档和源代码包含在您的应用程序中


Eclipse JavaDoc面板的屏幕截图:

Eclipse中的JavaDoc视图

使用Gson和Android 4.2.2的Eclipse项目的屏幕截图:

Eclipse测试项目屏幕截图


引用解压缩的Javadocs

如果您要引用的Javadocs不是打包提供的,.jar而只是作为Android开发人员在注释中要求的文件和文件夹提供的,请执行以下操作:

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

     doc=docs
  3. 将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库的工作示例项目的屏幕截图。

GoogleAdMobAds Android库Eclipse项目


7
嗯,这是我需要的Eclipse项目的关闭和重新打开。(在那之前,我已经几次擦洗干净,没有运气。)
史蒂夫·海利

4
谢谢@JJD,效果很好。我只需要重新启动Eclipse即可开始工作。
javajavajavajavajava 2012年

26
注意:确实 应该将Javadoc和源JAR放在一个子目录中,例如“ ./libs/docs”,否则这些JAR将被捆绑到您的APK中!此外,您将无法为多个库包含Javadoc,因为在APK找到重复的HTML文件时,构建APK将会失败。
Christopher Orr 2012年

5
是否可以从.properties文件引用远程javadoc?像这样:doc = community.versant.com/documentation/reference/db4o-8.0/java/api
Matthias

9
显然,如果您仅要链接Javadoc而不是源代码,则此方法不起作用,我不得不将7zip的Javadoc jar提取到“我的文档”中的文件夹中,然后将属性文件指向带有Javadoc索引的文件夹.html就像这样doc = C:\\ Users \\ johny \\ workspacenewfb \\ robotium-solo-4.0-javadoc
mbwasi 2013年

25

在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

1
哇,您的答案解决了我的问题,我放了一个\,但是我们必须放了\\。非常感谢
Arash

17

答案来自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

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

这个对我有用!


如果您有zip文件中的文档,这就是要走的路,非常感谢!竖起大拇指
Akhil Jain

10

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

您可以执行以下操作,并且该操作将始终有效-即使ADT将来应更改其更改“ libs”文件夹处理方式的方式也是如此:

  1. 创建一个“库”文件夹。
  2. 在每个库的下面创建一个子文件夹。
  3. 将每个库的所有文件放入相应的文件夹(java jar文件,源jar文件,javadoc jar文件等)中。
  4. 通过单击Add Jars...按钮从Java库路径的“库”子文件夹中添加jar ,在Java Build Path的“库”选项卡中为每个项目添加Java jar文件。
  5. 通过在“库”选项卡中打开项目,选择所需的项目,然后单击Edit...按钮以从“库”文件夹中的库子文件夹添加源/ javadocs,将源/ javadocs附加到每个项目。
  6. 选中Java构建路径的“订购和导出”选项卡中每个项目的复选框。
  7. 确认所有库均已移动后,删除“ libs”文件夹。

通过执行上述过程,您的项目将具有如下所示的文件夹:

在此处输入图片说明

您的Java构建路径如下所示:

在此处输入图片说明

在订购和出口中,库被打勾:

在此处输入图片说明



4

在ADT 22上,我无法同时访问commons-io-2.4.jar和android-support-v4.jar的Javadoc

这是我修复它的方法:

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

  2. 右键单击commons-io-2.4.jar,然后选择“属性”。出现此窗口:

在此处输入图片说明

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

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

在此处输入图片说明

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


到目前为止,这是将javadoc和/或src附加到库的最简单,最直接的方法。谢谢!另外请注意,javadoc和src都不需要位于引用库中。
银色

3

当我升级到SDK工具和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重新添加到项目中。然后,单击库名称旁边的“>”箭头以展开库引用,并使用编辑按钮设置“源”附件和Javadoc位置。

抱歉,我没有足够的代表,所以无法发布图片(请...)。


没为我工作。您的项目中将jar文件保存在哪里?我在libs文件夹中。
Daniel Ryan

最终有人给出了一条切实可行的指示!非常感谢。包括“ .properties”文件在内的上述方法都没有对我有任何好处,但是这将库添加为对话框屏幕中的外部JAR可以完成这项工作。
AlxDroidDev '16

1

似乎是一个移动的目标,但是,在从许多地方收集了点点滴滴之后(包括对这个问题的回答,该问题帮助但未能描述所有必要的细节,或者系统在此期间略有变化),这似乎是解决方案,至少到目前为止(2013年8月28日)。

  • 打开一个文件夹为您的javadoc地方不是你的项目中。
  • 将您的javadocs放到那里,解压缩后,每个放到自己的文件夹中。
  • lib文件夹内,xxx.jar.properties为每个要与Javadoc关联的库添加一个文件。
  • 在该属性文件中,请参考将相应的Javadoc解压缩到的文件夹(在Windows上,请转义反斜杠):

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

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

未能遵守上述任何步骤(未解压缩javadoc,引用文件而不是文件夹等)似乎会破坏它。


1

我知道这个问题比较老,但是当我昨天遇到相同的问题并且上面发布的解决方案对我来说太烦人了时,我发现可以轻松地将源路径定义添加到项目的.classpath文件中。然后,Eclipse将对其进行调整,您就可以浏览源代码。

之前的类路径条目:

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

将路径添加到源之后

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

希望这可以帮助


0

只需更新ADT插件即可。对我有用!

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

希望有帮助!


0

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

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

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

我希望这有助于对我认为应该非常简单的任务给出简单的答案。


0

我的解决方案:

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

稍后,选择一个jar并使用此插件附加源代码。在jar文件中单击以将其选中,在鼠标上单击右按钮,然后选择“附加java源代码”。

拥有源代码后,您将自动拥有javadoc。

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

请享用

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.