如何将javadoc或源文件附加到libs文件夹中的jar文件中?
用于Eclipse的新版ADT r17插件添加了自动设置JAR依赖项的function。 / libs文件夹中的任何.jar文件现在都被添加到构buildconfiguration中。 不幸的是Android的依赖关系类path容器是不可修改的。
如何将javadoc和源文件附加到自动插入的.jar(从/ libs文件夹)?
回答你的问题的最好方法是总结Xavier , plastiv , VinceFR和Christopher的答案。
一步一步的指导
为了将源代码和javadoc链接到由Eclipse自动链接的.jar库,您必须执行以下操作:
- 将库.jar文件放在libs文件夹中,并将关联的源.jar和doc .jar文件放在不同的子文件夹(如libs / src和libs / docs)中 。 如果需要,可以使用src和docs以外的名称,但重要的是.jar文件不直接位于libs文件夹中。
- 在libs文件夹中创build一个
.properties
文件,其中包含实际库.jar的确切名称(请参阅示例)。 确保你保留.jar部分。 - 在
.properties
文件中指定相对于源和javadoc .jar的path。 - closures并重新打开Eclipse项目! 或者,按F5刷新项目。
- 在源代码中select链接库的一个对象。
- 在Eclipse中打开Javadoc视图来检查文档(请参阅截图)。
- 打开所选对象的源代码声明(默认快捷键: 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面板的屏幕截图:
使用Gson和Android 4.2.2的Eclipse项目的屏幕截图:
引用解压缩的javadocs
如果你想引用的javadocs不是作为一个压缩的.jar
提供的,而只是作为文件和文件夹按照android开发人员在注释中所要求做的:
- 将库
.jar
放在libs/
文件夹中 -
使用以下内容创build一个
.properties
文件: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
不要忘记closures并重新打开上面提到的Eclipse项目! 下面是一个引用GoogleAdMobAds Android库的示例工程的屏幕截图。
在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”文件夹的方式:
- 创build一个“库”文件夹。
- 为每个库创build一个子文件夹。
- 把每个库的所有文件放在适当的文件夹(java jar文件,源jar文件,javadoc jar文件等)。
- 在Java Build Path的“Libraries”选项卡中为每个项目添加java jar文件,方法是单击Add Jars ...button,从“libraries”文件夹中的library子文件夹添加jar。
- 通过打开“Libraries”选项卡中的项目,select所需的项目,然后单击Edit ...button,从“libraries”中的库子文件夹添加source / javadoc,将source / javadoc添加到每个项目中夹。
- 选中Java Build Path的“Order and Export”选项卡中的每个项目的checkbox。
- validation所有库已被移动后,删除“libs”文件夹。
按照上面的过程,您的项目将具有如下所示的文件夹:
您的Java构buildpath将如下所示:
在订单和导出库中打勾:
现在,将你想要Javadoc的库移到lib
。 他们将该库添加到Build Path
并添加Javadoc。
在android问题中检查这个评论 。
在ADT 22我无法访问Javadoc commons-io-2.4.jar和android-support-v4.jar
这是我固定它的方式:
-
先决条件:这两个库都列在“引用的库”下。
-
右键单击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插件。 这对我有效!
- 启动Eclipse,然后select“帮助”>“安装新软件”。
- 点击右上angular的添加。
- 在出现的Add Repository对话框中,为名称input“ADT Plugin”,然后input以下位置的URL: https : //dl-ssl.google.com/android/eclipse/注意:Android开发人员工具更新站点需要安全连接。 确保您input的更新站点URL以HTTPS开头。
- 点击OK。 在“可用软件”对话框中,选中“开发人员工具”旁边的checkbox并单击“下一步”
- 在下一个窗口中,您将看到要下载的工具列表。 点击下一步。
- 阅读并接受许可协议,然后单击完成。
- 如果您收到安全警告,指出无法build立软件的真实性或有效性,请单击确定。
- 安装完成后,重新启动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。
请享用