ChatGPT解决这个技术问题 Extra ChatGPT

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

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

https://i.stack.imgur.com/gXsaM.png

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

我不认为你的问题得到了回答。马克接受的答案正是您要求的不是解决方案。我们如何通过自动库(而不是通过手动 jars)附加 javadoc 和源?
此错误 code.google.com/p/android/issues/detail?id=27490#c21 存在问题。评论 21 说在 ADT r20 中可以使用标准 java .properties 文件(foo.jar -> foo.jar.properties)附加源/javadoc,该文件允许您编辑源文件夹(或存档)的相对或绝对路径和/或 javadoc 的相对或绝对路径。

t
tir38

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

分步指南

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

将库 .jar 文件放在 libs 文件夹中,并将关联的源 .jar 和 doc .jar 文件放在单独的子文件夹中,例如 libs/src 和 libs/docs。如果需要,您可以使用 src 和 docs 以外的名称,但重要的是 .jar 文件不直接位于 libs 文件夹中。在 libs 文件夹中使用实际库 .jar 的确切名称创建一个 .properties 文件(参见示例)。确保保留 .jar 部分。在 .properties 文件中指定源和 javadoc .jar 的相对路径。关闭并重新打开 Eclipse 项目!或者,按 F5 刷新项目。在源代码中选择链接库的对象。在 Eclipse 中打开 Javadoc 视图以检查文档(参见屏幕截图)。打开所选对象的源代码声明(默认快捷键:F3)。

例子

该示例使用 Gson library

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 移动到其他文件夹并指定相对路径。这取决于你。将源和 javadoc jar 直接放入 lib 文件夹是可能的,但不建议这样做,因为这会导致文档和源代码包含在您的应用程序中。

Eclipse JavaDoc 面板的屏幕截图:

https://i.stack.imgur.com/9MGSw.png

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

https://i.stack.imgur.com/HEQ8w.jpg

引用未打包的 javadocs

如果您想引用未作为打包 .jar 提供的 javadocs,而只是按照 android developer in the comments 的要求作为文件和文件夹 提供,请执行以下操作:

将库 .jar 放在 libs/ 文件夹中 创建一个 yourlibraryname.jar.properties 文件(不要忘记 .jar),其中包含以下内容: doc=docs 将 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 library 的工作示例项目的屏幕截图。

https://i.stack.imgur.com/SHaxx.jpg


啊,这是我需要的 Eclipse 项目的关闭和重新打开。 (在那之前我已经刷新和清洁了几次,但没有运气。)
感谢@JJD,效果很好。我只需要在 Eclipse 开始工作之前重新启动它。
注意:您确实应该将 Javadoc 和源 JAR 放到一个子目录中,例如“./libs/docs”,否则这些 JAR 将被捆绑到您的 APK 中!此外,您将无法为多个库包含 Javadoc,因为当发现重复的 HTML 文件时,构建 APK 将失败。
是否可以从 .properties 文件中引用远程 javadoc?像这样:doc=community.versant.com/documentation/reference/db4o-8.0/java/api
显然,如果您只想链接 Javadoc 而不是源代码,这将不起作用,我必须使用 7zip 将 Javadoc jar 提取到“我的文档”中的文件夹中,然后让属性文件指向带有 Javadoc 索引的文件夹.html 直接像这样 doc=C:\\Users\\johny\\workspacenewfb\\robotium-solo-4.0-javadoc
f
farid_z

在 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

哇,你的回答解决了我的问题,我放了一个 \ 但我们必须放 \\ .thanks so muchh
V
VinceFR

来自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 文件中的文档,这是要走的路,非常感谢!!竖起大拇指
J
JJD

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

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

创建一个“库”文件夹。在其下为每个库创建一个子文件夹。将每个库的所有文件放在适当的文件夹中(java jar 文件、源 jar 文件、javadoc jar 文件等)。在 Java 构建路径的“库”选项卡中为每个项目添加 java jar 文件,方法是单击“添加 Jars...”按钮以从“库”文件夹中的库子文件夹添加 jar。通过在“库”选项卡中打开项目,选择所需的项目,然后单击“编辑...”按钮从“库”中的库子文件夹中添加源/javadocs,将源/javadocs 附加到每个项目文件夹。选中 Java Build Path 的“Order and Export”选项卡中每个项目的复选框。验证所有库已被移动后,删除“libs”文件夹。

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

https://i.stack.imgur.com/hLi0d.png

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

https://i.stack.imgur.com/oIdmU.png

在 Order and Export 中,库被勾选:

https://i.stack.imgur.com/JUJG3.png


C
Carlos Sobrinho

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

在 android 问题中检查此 comment


不要忘记(像我一样)检查顺序并将库设置为在 Build Path 中导出。
J
Javide

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

这是我修复它的方式:

前提条件:两个库都列在“引用库”下。右键单击 commons-io-2.4.jar 并选择属性。出现此窗口:

https://i.stack.imgur.com/dh7Tn.png

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

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

https://i.stack.imgur.com/4bGOp.png

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


这是迄今为止将 javadoc 和/或 src 附加到库的最简单和最直接的方法。谢谢!作为补充说明,javadoc 和 src 都不需要在引用的库中。
M
Mark Gittoes

当我升级到 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 文件夹中有我的。
终于有人给出了一个真正有效的指令!非常感谢你。包括“.properties”文件在内的上述方法都没有对我有任何好处,但是在对话框屏幕中将库添加为外部 JAR 就可以了。
G
Gábor

似乎是一个移动的目标,但是,在从许多地方收集了一些零碎的东西之后(包括对这个问题的答案,它有助于但未能描述所有必要的细节,或者系统可能在此期间略有变化),这似乎是解决方案,至少截至目前(2013 年 8 月 28 日)。

在项目内部的某个地方为您的 javadocs 打开一个文件夹。

将您的 javadocs 解压缩到那里,每个都放入自己的文件夹中。

在您的 lib 文件夹中,为您要关联 javadoc 的每个 lib 添加一个 xxx.jar.properties 文件。

在该属性文件中,参考您将相应的 javadoc 解压缩到的文件夹(在 Windows 上,转义反斜杠):

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

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

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


k
krinklesaurus

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

之前的类路径条目:

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

添加源路径后

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

希望这可以帮助


E
EWit

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

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

希望有帮助!


C
Casey Murray

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

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

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

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


G
Gama11

我的解决方案:

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

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

当您拥有源代码时,您将自动获得 javadoc。

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

享受