全网首发:ProGuard如何混淆多个包

Posted 柳鲲鹏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全网首发:ProGuard如何混淆多个包相关的知识,希望对你有一定的参考价值。

  已知Proguard可以做到:

  • 多个输入包。使用injars可以做到。
  • 只产生一个输出包。

  有时我们需要,多个包混淆后依然是多个包。怎么办?

  • 解析mapping文件,建立源文件名与混淆名的对应关系。
  • 解压输出包到目录A。
  • 解压一个输入包到目录B。
  • 根据对应关系:把输出目录A中的文件复制到B中(同时要建立目录);删除源文件名;清理空目录。
  • 重新打包目录B。
  • 复制所有输入包。

  有人会问,为什么要解压输入包呢?因为输入包中有很多非class文件,这些文件的目录是不会调整的,这样最省事。

以上是关于全网首发:ProGuard如何混淆多个包的主要内容,如果未能解决你的问题,请参考以下文章

Spring boot使用ProGuard实现代码混淆

全网首发:ProGuard保持一个类名函数名需要加public

全网首发:Proguard加密后的getResource()问题

如何阻止proguard混淆整个包?

Proguard:如何避免缩小(和混淆)整个包以避免删除(和混淆)“未使用的方法”?

全网首发:ScrollBarUI混淆后效果错误的分析