如何将javadoc或源文件附加到libs文件夹中的jar文件中?

用于Eclipse的新版ADT r17插件添加了自动设置JAR依赖项的function。 / libs文件夹中的任何.jar文件现在都被添加到构buildconfiguration中。 不幸的是Android的依赖关系类path容器是不可修改的。

不可修改的Android依赖类路径

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

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

一步一步的指导

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

  1. 将库.jar文件放在libs文件夹中,并将关联的源.jar和doc .jar文件放在不同的子文件夹(如libs / srclibs / docs)中 。 如果需要,可以使用srcdocs以外的名称,但重要的是.jar文件不直接位于libs文件夹中。
  2. libs文件夹中创build一个.properties文件,其中包含实际库.jar的确切名称(请参阅示例)。 确保你保留.jar部分。
  3. .properties文件中指定相对于源和javadoc .jar的path。
  4. closures并重新打开Eclipse项目! 或者,按F5刷新项目。
  5. 在源代码中select链接库的一个对象。
  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移动到其他文件夹并指定相对path。 这取决于你。 将源代码和javadoc jar直接放到lib文件夹中是可能的,但不build议这样做 ,因为这会导致应用程序中包含文档和源代码。

Eclipse JavaDoc面板的屏幕截图:

Eclipse中的JavaDoc视图

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

Eclipse测试项目截图


引用解压缩的javadocs

如果你想引用的javadocs不是作为一个压缩的.jar提供的,而只是作为文件和文件夹按照android开发人员在注释中所要求做的:

  1. 将库.jar放在libs/文件夹中
  2. 使用以下内容创build一个.properties文件:

      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 

不要忘记closures并重新打开上面提到的Eclipse项目! 下面是一个引用GoogleAdMobAds Android库的示例工程的屏幕截图。

GoogleAdMobAds Android库Eclipse项目

在Windows上,您必须转义反斜杠以引用属性文件中的doc和srcpath。 例如,对于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 

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

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

它适合我!

我尝试了上述所有的方法,但都没有为我工作。 我想出了一个永远有效的方法。 基本上,罪魁祸首是ADT对待“libs”文件夹的方式,所以我退出使用“libs”文件夹。 相反,我创build了一个“库”文件夹,并使用它。

您可以执行以下操作,并且始终能够正常工作 – 即使ADT应该改变未来处理“libs”文件夹的方式:

  1. 创build一个“库”文件夹。
  2. 为每个库创build一个子文件夹。
  3. 把每个库的所有文件放在适当的文件夹(java jar文件,源jar文件,javadoc jar文件等)。
  4. 在Java Build Path的“Libraries”选项卡中为每个项目添加java jar文件,方法是单击Add Jars ...button,从“libraries”文件夹中的library子文件夹添加jar。
  5. 通过打开“Libraries”选项卡中的项目,select所需的项目,然后单击Edit ...button,从“libraries”中的库子文件夹添加source / javadoc,将source / javadoc添加到每个项目中夹。
  6. 选中Java Build Path的“Order and Export”选项卡中的每个项目的checkbox。
  7. validation所有库已被移动后,删除“libs”文件夹。

按照上面的过程,您的项目将具有如下所示的文件夹:

在这里输入图像描述

您的Java构buildpath将如下所示:

在这里输入图像描述

在订单和导出库中打勾:

在这里输入图像描述

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

在android问题中检查这个评论 。

在ADT 22我无法访问Javadoc commons-io-2.4.jar和android-support-v4.jar

这是我固定它的方式:

  1. 先决条件:这两个库都列在“引用的库”下。

  2. 右键单击commons-io-2.4.jar并select属性。 此窗口出现:

在这里输入图像描述

commons-io-2.4.jar与commons-io-2.4-javadoc.jar捆绑在一起,所以我在归档文件的外部path中指定了Javadoc。

我为支持库做了同样的事情:右键单击android-support-v4.jar并select属性。 出现此屏幕:

在这里输入图像描述

这次我指定了源目录的path。

我升级到SDK Tools和ADT revision 17时,对commons-io-2.0.1.jar的库引用被破坏。

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

对不起,我无法发布图片,因为我没有足够的代表(请…)。

似乎是一个移动的目标,但是,在收集了许多地方的零碎(包括对这个有帮助的问题的答案,但没有描述所有必要的细节,或者系统在此期间稍微改变了)之后,这似乎是至less从现在(2013年8月28日)开始。

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

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

  • 在Eclipse中closures并重新打开项目(刷新是不够的)。 您将鼠标hover在适当的类上时,您应该看到提示。

没有遵守任何这些步骤(不解压缩javadoc,引用文件而不是文件夹等)似乎打破了它。

我知道这个问题是相当老,但是当我昨天面对同样的问题,上面的解决scheme对我来说太烦人了,我发现可以很容易地将源path定义添加到项目的.classpath文件。 然后Eclipse会调整它,并且可以浏览源代码。

类path条目之前:

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

将path添加到源之后

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

希望这可以帮助

只需更新ADT插件。 这对我有效!

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

希望有所帮助!

对于任何给定的jar,如果你想在编码时在工具提示上看到Javadoc的帮助,请执行以下操作:右键单击项目>属性> Java Build Path> Libraries选项卡。 点击你的jar旁边的箭头展开。

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

Javadoc位置 :您有两个select:URL和档案。 如果这个jar包的javadoc文件是在第一级包含index.html文件的文件夹,请select“Javadoc URL”并指向该文件夹。 如果你的javadocs在jar里,select'Javadoc in archive'并指向jar。 不要忘记重新启动工作区/closures,然后重新打开项目以使用Javadoc信息更新工具提示。

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

我的解决scheme:

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

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

当你有源代码的时候,你会自动使用javadoc。

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

请享用