我为我的项目构建了一个很好的Javadoc文档,这是开发人员的 JAR文件。
但在我运行proguard以便obfuscat我的代码后,所有Javadoc文档都消失了。
我想在jar中保留所有公共方法的javadoc。 有人知道在混淆之后如何保持Javadoc可见吗?
谢谢!
答案 0 :(得分:3)
Javadoc是从源文件中提取的。无法从类文件创建javadoc,既不干净也不模糊。 ProGuard对通过编译源文件创建的类文件进行操作,并从中生成模糊类文件。这与javadoc创建完全无关。
Javadoc处理器的输出通常转到目录结构。当然,您可以压缩它并为其提供.jar
扩展名以提供javadoc。我经常看到它(即在Apache Commons上)将你的库JAR命名为foo-bar-1.2.3.jar
和压缩的javadoc foo-bar-1.2.3-javadoc.jar
。
提供与二进制文件分离的javadoc是个好主意,因为二进制文件需要包含在依赖于它的程序分发中,而javadoc只对开发人员有用,并且只会增加它的大小。程序没有任何需要,如果它在同一个JAR中。
在IDE中,您需要将javadoc JAR分配给库JAR。在Eclipse中,可以通过 Properties → Java Build Path 对话框完成此操作。添加JAR文件后,展开您创建的条目旁边的白色箭头,选择 Javadoc location ,然后选择编辑... 。 Eclipse理解直接从存档读取 Javadoc,您无需解压缩。
答案 1 :(得分:1)
从Proguard的页面:
ProGuard已集成到Android构建系统中,因此您无需手动调用它。只有在发布模式下构建应用程序时,ProGuard才会运行,因此在调试模式下构建应用程序时,不必处理混淆代码。运行ProGuard是完全可选的,但强烈建议。
所以我不确定你为什么正在运行 Proguard。只需在项目中配置它,让构建系统在发布版本时进行模糊处理。您的源代码保持不变。