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

Ser*_*kyi 253 eclipse android javadoc adt

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

不可修改的android依赖类classpath

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

JJD*_*JJD 401

回答你的问题的最好方法是总结Xavier,plastiv,VinceFRChristopher的答案.

一步一步指导

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

  1. 将库.jar文件放在libs文件夹中,将相关的源.jar和doc .jar文件放在单独的子文件夹中,例如libs/srclibs/docs.如果需要,可以使用srcdocs以外的名称,但重要的是.jar文件不直接在libs文件夹中.
  2. .propertieslibs文件夹中创建一个文件,其中包含实际库.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
Run Code Online (Sandbox Code Playgroud)

gson-2.2.2.jar.properties的内容

src=src/gson-2.2.2-sources.jar
doc=docs/gson-2.2.2-javadoc.jar
Run Code Online (Sandbox Code Playgroud)


附加信息

您当然可以将javadoc和源.jar移动到其他文件夹中并指定相对路径.随你(由你决定.可以将源和javadoc jar直接放入lib文件夹,但不建议这样做,因为这会导致文档和源代码包含在您的应用程序中.


Eclipse JavaDoc面板的屏幕截图:

Eclipse中的JavaDoc视图

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

Eclipse测试项目截图


引用解压缩的javadoc

如果你想引用javadocs,这些javadocs不是作为打包提供的,.jar而是简单地作为android开发人员在评论中提出的文件和文件夹,请执行以下操作:

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

     doc=docs
    
    Run Code Online (Sandbox Code Playgroud)
  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
Run Code Online (Sandbox Code Playgroud)

不要忘记关闭并重新打开上面提到的Eclipse项目!以下是引用GoogleAdMobAds Android库的工作示例项目的屏幕截图.

GoogleAdMobAds Android库Eclipse项目

  • **注意:**你*真的***应该**将Javadoc和源JAR放入一个子目录,例如"./libs/docs",否则这些JAR将捆绑到你的APK中!此外,您将无法为多个库包含Javadoc,因为构建APK将在找到重复的HTML文件时失败. (26认同)
  • 显然,如果你只是链接Javadoc而不是源代码,这不起作用,我必须将7zip的Javadoc jar解压缩到My Documents中的文件夹,然后让属性文件指向带有Javadoc索引的文件夹.html直接像doc = C:\\ Users \\ johny \\ workspacenewfb \\ robotium-solo-4.0-javadoc (9认同)
  • 啊,这是Eclipse项目的关闭和重新开放,这对我来说是必需的.(在此之前,我已经多次刷新和清洗过.) (7认同)
  • 是否可以从.properties文件中引用远程javadoc?像这样:doc = http://community.versant.com/documentation/reference/db4o-8.0/java/api/ (5认同)
  • 谢谢@JJD工作得很好.我必须在它开始工作之前重启Eclipse. (4认同)
  • 注意:如果你使用文件名gson-2.2.2.properties而不是gson-2.2.2.**jar**.属性它(显然)不起作用. (3认同)
  • 刷新项目对我没有帮助.但是重启Eclipse了. (2认同)
  • @JJD,精彩总结.非常感激.但是,这似乎不适用于Javadoc Web URL.例如,我不能在我的`joda-time-2.3.jar.properties`文件中执行`doc = http:// www.joda.org/joda-time/apidocs /`.我对此是正确的,还是有什么我想念的?简单地链接到在线托管的公共Javadoc肯定会很好,而不是为每个库维护单独的`-sources.jar`和`-javadoc.jar` JAR.我已经尝试在有问题的JAR的"Java Build Path> Libraries> Javadoc location"下设置Javadoc位置路径URL,但它不起作用.谢谢! (2认同)
  • 如果你没有默认的源代码,我发现如果R22的ADT仍然不能用于库,我觉得很糟糕.必须跳过这些篮球是绝对荒谬的. (2认同)
  • 单独添加javadoc对我来说不起作用(特别是对于GSON库).我不得不添加sources.jar! (2认同)

far*_*d_z 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
Run Code Online (Sandbox Code Playgroud)


Vin*_*eFR 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
Run Code Online (Sandbox Code Playgroud)

在你的foo.jar.properties,只是把doc=./doc/foo_doc

也许你必须刷新你的项目,清理它,关闭它并重新打开它.

这个对我有用!


Dan*_*OMS 10

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

您可以执行以下操作,它始终有效 - 即使ADT应该更改它将来如何更改处理"libs"文件夹的方式:

  1. 创建"libraries"文件夹.
  2. 在其下为每个库创建一个子文件夹.
  3. 将每个库的所有文件放在适当的文件夹中(java jar文件,源jar文件,javadoc jar文件等).
  4. 通过单击Add Jars...按钮从"库"文件夹中的库子文件夹添加jar,为Java Build Path的"Libraries"选项卡中的每个项目添加java jar文件.
  5. 通过在"库"选项卡中打开项目,选择所需的项目,然后单击Edit...按钮,从"库"文件夹的库子文件夹中添加源/ javadoc,将源/ javadoc附加到每个项目.
  6. 检查Java Build Path的"Order and Export"选项卡中每个项目的复选框.
  7. 验证所有库已被移动后,删除"libs"文件夹.

按照上述步骤,您的项目将具有如下所示的文件夹:

在此输入图像描述

您的Java Build Path将如下所示:

在此输入图像描述

在订单和导出中,库被勾选:

在此输入图像描述


Car*_*nho 5

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

在android问题中查看此评论.