针对Eclipse的ADT r17插件新增了自动设置JAR依赖项的功能。现在,/libs文件夹中的任何.jar文件都将添加到构建配置中。不幸的是,Android Dependencies类路径容器是不可修改的。
我该如何将Java文档和源文件附加到自动插入的.jar(来自/libs文件夹)上?
针对Eclipse的ADT r17插件新增了自动设置JAR依赖项的功能。现在,/libs文件夹中的任何.jar文件都将添加到构建配置中。不幸的是,Android Dependencies类路径容器是不可修改的。
我该如何将Java文档和源文件附加到自动插入的.jar(来自/libs文件夹)上?
最好的回答方式是总结Xavier, plastiv, VinceFR和Christopher的答案。
为了将源代码和Javadoc链接到由Eclipse自动链接的.jar库,您需要执行以下操作:
请将库的 .jar 文件放置在 libs 文件夹中,并将相关的源代码 .jar 和文档 .jar 文件分别放置在子文件夹(例如 libs/src 和 libs/docs)中。您可以使用名称不同于 src 和 docs 的其他名称,但重要的是 .jar 文件不直接放在 libs 文件夹中。.properties
文件(参见示例)。确保保留 .jar 部分。.properties
文件中指定源代码和 javadoc .jar 的相对路径。
关闭并重新打开 Eclipse 项目!可选地,按下 F5 刷新项目。该示例使用Gson库。
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
src=src/gson-2.2.2-sources.jar
doc=docs/gson-2.2.2-javadoc.jar
当然,您可以将javadoc和源jar移动到其他文件夹并指定相对路径。这取决于您。直接将源和javadoc jar放置在lib文件夹中是可能的,但不建议这样做,因为这会导致文档和源代码包含在应用程序中。
Eclipse JavaDoc面板的屏幕截图:
Android 4.2.2下使用Gson的Eclipse项目截图:
如果您想引用未打包为.jar
文件而是仅作为文件和文件夹提供的Javadoc,如Android开发者在评论中提出的那样,请按照以下步骤进行:
.jar
in the libs/
folderCreate a yourlibraryname.jar.properties
file (don't forget the .jar
) with the following content:
doc=docs
Add the javadocs folders to the libs/
folder.
├── 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
在Windows上,您需要转义反斜杠以引用属性文件中的文档和源路径。例如,对于android-support-v4.jar,属性文件内容如下:
在 Windows 系统中,如果要在属性文件中引用文档或源路径,需要使用反斜线进行转义。例如,针对 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
也许你需要刷新项目、清理它、关闭并重新打开它。
对我来说是有效的!
我尝试了以上所有方法,但都无法解决我的问题。我找到了一种永远有效的方法。基本上,罪魁祸首是ADT处理“libs”文件夹的方式,因此我不再使用“libs”文件夹。相反,我创建了一个“libraries”文件夹并使用它。
您可以执行以下操作,它将始终起作用 - 即使ADT将来更改了它处理“libs”文件夹的方式:
按照上述程序,您的项目将具有以下文件夹:
您的Java Build Path将如下所示:
在“Order and Export”中,库已被选中:
目前,将您想要Javadoc的库移动到lib
。 然后将该库添加到 Build Path
并添加Javadoc。
请参阅android问题中的此评论。
lib
文件夹中,为您想要关联javadoc的每个库添加一个xxx.jar.properties
文件。doc=d:\\Android\\javadoc\\libGoogleAnalyticsServices
未能遵守任何这些步骤(未解压缩javadoc,引用文件而不是文件夹等)似乎会破坏它。
之前的classpath条目:
<classpathentry kind="lib" path="[PATH_TO_MY_JAR]"/>
<classpathentry kind="lib" path="[PATH_TO_MY_JAR]" sourcepath="[PATH_TO_MY_SOURCE_JAR]"/>