android - 如何在混淆后保持 javadoc 可见

标签 android proguard javadoc

我为我的项目构建了一个很好的 Javadoc 文档,它是一个供开发人员使用的 JAR 文件

但是在我运行 proguard 来混淆我的代码之后,所有 Javadoc 文档都消失了。

我想在 jar 中保留所有公共(public)方法的 javadoc。 有谁知道如何在混淆后保持Javadoc可见?

谢谢!

最佳答案

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 中,这可以通过“属性”→“Java 构建路径”对话框来完成。添加 JAR 文件后,展开您创建的条目旁边的白色箭头,选择Javadoc 位置,然后编辑...。 Eclipse 可以直接从存档中读取 Javadoc,而无需解压它。

关于android - 如何在混淆后保持 javadoc 可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29216211/

相关文章:

android - 如何在 Web View 或 JavaScript 中向 Camera Intent 或 Gallery Intent 添加裁剪功能

java - 无法通过启用 proguard+using parse sdk 1.8.2 导出 Android 应用程序

java - 如何只生成一个包的javadoc

java - 为什么默认构造函数总是出现在 javadoc 文档中,即使它不存在于代码中?

android - 如果我发布的库使用 AndroidX 但使用它的应用程序不是,会出现什么问题吗?

android - 共享 ViewModel 中的 hasActiveObservers 和 hasObservers false

java - 要求用户切换到新包的最愉快方式(删除实际应用程序并安装新应用程序)

android - 签名的 apk 在 proguard 启用时崩溃

android - Proguard 和 getSimpleName()

java - 带有 javadocs 的 Maven 多模块项目站点