jar工程如下创建,网上一搜一大把。这里就不多说了。

打开jar包工程的 build.gradle。修改或添加如下

android代码混淆恢复(详解代码混淆技术)(1)

修改工程的progvard-ruled.pro 规则文件如下

android代码混淆恢复(详解代码混淆技术)(2)

如果要混淆 A类,B类等。可以把需要用到的A类,B类等接口的函数,全部写到C类中,由C类统一向用户开放。所以规则文件中我把C类保持不混淆。而A,B类构造器不混淆(eg中我们使用了A,B类的构造函数)。

如下图

android代码混淆恢复(详解代码混淆技术)(3)

如何在其他工程中使用混淆函数

在工程下的build.gradle文件中,如下修改(红框部分)

android代码混淆恢复(详解代码混淆技术)(4)

修改完,同步sync 就会在External Labratries中看到

android代码混淆恢复(详解代码混淆技术)(5)

打开Compress文件,发现内容已发生了混淆

android代码混淆恢复(详解代码混淆技术)(6)

在工程调用的地方

头部引用,路径在External Labratries可以看到。

android代码混淆恢复(详解代码混淆技术)(7)

在调用的地方直接调用即可

android代码混淆恢复(详解代码混淆技术)(8)

关于混淆的规则,大家可以在网上搜索一下。很多说明的。关注我,后续更新更多问题解决方法