首页 文章

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

提问于
浏览
251

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

Non modifiable android dependencies classpath

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

12 回答

  • 17

    我的解决方案:

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

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

    当你有源代码时,你自动拥有javadoc .

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

    请享用

  • 1

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

    分步指南

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

    • 将库.jar文件放在libs文件夹中,将相关的源.jar和doc .jar文件放在单独的子文件夹中,例如libs / src和libs / docs . 如果需要,可以使用src和docs以外的名称,但直接在libs文件夹中使用's important that the .jar files aren't .

    • 在libs文件夹中创建一个 .properties 文件,其中包含实际库.jar的确切名称(参见示例) . 确保你保留.jar部分 .

    • 指定 .properties 文件中源和javadoc .jar的相对路径 .

    • Close 并重新打开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文件夹,但是 not recommended ,因为这会导致文档和源代码为 included in your application .

    Eclipse JavaDoc面板的屏幕截图:

    JavaDoc view in Eclipse

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

    Eclipse test project screenshot


    引用解压缩的javadoc

    如果你想引用javadocs,这些javadocs不是作为打包 .jar 提供的,而是根据android developer in the comments的要求 as files and folders 执行以下操作:

    • 将库 .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
    

    不要忘记 close and re-open 如上所述的Eclipse项目!以下是引用GoogleAdMobAds Android library的工作示例项目的屏幕截图 .

    GoogleAdMobAds Android library Eclipse project

  • 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
    
  • 400

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

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

    这个对我有用!

  • 1

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

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

    • 创建"libraries"文件夹 .

    • 为每个库在其下创建一个子文件夹 .

    • 将每个库的所有文件放在相应的文件夹中(java jar文件,源jar文件,javadoc jar文件等) .

    • 通过单击Add Jars ...按钮从"libraries"文件夹中的库子文件夹添加jar,为Java Build Path的"Libraries"选项卡中的每个项目添加java jar文件 .

    • 通过在"Libraries"选项卡中打开项目,选择所需项目,然后单击编辑...按钮从"libraries"文件夹中的库子文件夹添加源/ javadoc,将源/ javadoc附加到每个项目 .

    • 在"Order and Export"选项卡中选中Java Build Path的每个项目的复选框 .

    • 验证所有库已被移动后,删除"libs"文件夹 .

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

    enter image description here

    您的Java Build Path将如下所示:

    enter image description here

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

    enter image description here

  • 0

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

    在android问题中检查这个comment .

  • 4

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

    这是我修复它的方式:

    • 前提条件:两个库都列在“引用的库”下 .

    • 右键单击commons-io-2.4.jar并选择Properties . 出现此窗口:

    enter image description here

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

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

    enter image description here

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

  • 0

    当我升级到SDK Tools和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位置 .

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

  • 0

    似乎是一个移动的目标,但是,在收集了许多地方的点点滴滴之后(包括这个问题的答案有助于但未能描述所有必要的细节,或者系统在此期间稍微改变了),这似乎是解决方案,至少截至目前(2013年8月28日) .

    • 在项目内的某处 not 打开javadocs的文件夹 .

    • 将您的javadocs unzipped, 放入其自己的文件夹中 .

    • lib 文件夹中,为要与javadoc关联的每个lib添加 xxx.jar.properties 文件 .

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

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

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

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

  • 10

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

    classpath入口之前:

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

    将源路径添加到源之后

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

    希望这可以帮助

  • 5

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

    • 启动Eclipse,然后选择“帮助”>“安装新软件” .

    • 单击右上角的“添加” .

    • 在显示的“添加存储库”对话框中,为“名称”输入"ADT Plugin",为位置输入以下URL:https://dl-ssl.google.com/android/eclipse/注意:Android Developer Tools更新站点需要安全连接 . 确保您输入的更新站点URL以HTTPS开头 .

    • 单击“确定” . 在Available Software对话框中,选中Developer Tools旁边的复选框,然后单击Next .

    • 在下一个窗口中,您将看到要下载的工具列表 . 点击下一步 .

    • 阅读并接受许可协议,然后单击“完成” .

    • 如果您收到安全警告,指出无法 Build 软件的真实性或有效性,请单击“确定” .

    • 安装完成后,重新启动Eclipse

    希望有所帮助!

  • 3

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

    Source attachment 应该指向实际jar的位置(可能在你的java文件夹中) .

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

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

相关问题