java - 如何在 Proguard 中混淆依赖 .jar?

标签 java android proguard

我有一个名为 BizLogic.jar 的 Jar 库,我在我的 UI 项目中引用了它。因此,当我混淆时,我想先混淆 BizLogic.jar,然后再混淆 UI,而不破坏它们之间的任何引用?

Proguard 可以吗?如果没有,是否有任何其他产品可以支持此功能?

谢谢

最佳答案

最可靠的解决方案是同时处理两个 jar,但将输出保存在不同的 jar 中:

-injars  UI.jar
-outjars UI_processed.jar
-injars  BizLogic.jar
-outjars BizLogic_out.jar

或带有输出目录

-injars  UI.jar
-injars  BizLogic.jar
-outjars out

UI代码和业务代码将保持一致。

或者,您可以应用增量混淆:

1) 首先使用这些附加选项处理 BizLogic.jar:

-printmapping BizJar.map
-dontoptimize
-useuniqueclassmembernames

2) 然后使用这个附加选项处理 UI.jar:

-applymapping BizJar.map

增量混淆更复杂,有时很难做到正确。

所有这一切以及更多内容都在 ProGuard manual 中进行了解释.

关于java - 如何在 Proguard 中混淆依赖 .jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4991443/

相关文章:

java - 如果我在非 EDT 的单个线程上处理 GUI,它仍然是线程安全的吗?

java - 无法通过 Phantom 连接到 Cassandra (NoHostAvailableException)

android - 如何为相机 View 绘制图像框并将图像框重叠在捕获的图像上

android - 格式化带参数的字符串数组

android - Proguard:已删除列表

android - Kotlin 反射的 ProGuard 规则

java - Java字节码是否包含 "processor instruction information"?

java - 如何通过 solrTemplate 获取建议

android - 如何禁用可扩展 ListView 中的元素?

java - 在 pom.xml 中包含 proguard 配置文件