开发SDK,使用ProGuard混淆jar包(下篇)

回顾

上篇说了,jar包混淆的过程,以及需要注意的地方。但是对面与做SDK开发的,这些远远不够的。我们还需要根据自己的业务场景,去做一些混淆的调整。为啥?请看往下看,我会慢慢去解释?

为什么调整规则?

我们开发SDK的,是需要给接入我们SDK的第三方开发提供可阅读接口的。但是我们混淆sdk后,我们的代码都会变成了a b c之类。这就变成不可阅读的代码,这就能实现了混淆的效果。接下来我们通过几张图去分析,就更直观明白为什么要调整混淆规则

  • 没混淆前




  • 混淆后

可以看到混淆过去的sdk,目录结构和没混淆完全不一样了。如果我们就这样把sdk提供出去,肯定是有问题的。不信,我们把这个jar包放到调用sdk例子里去。



开始调整

既然我们sdk是提供给第三方接入的,所以我们要保证提供给第三方的接口是可以正常使用的,也就是HWSDK.java这个文件不能被混淆掉,所以我们可以在混淆工具ProGuard的Obfuscation界面上,加入HWSDK文件不能被混淆的规则。


然后点击到 Process 按钮,跳到这个界面,执行process开始混淆,看看结果。


这样就可以完美得保证了该文件的可读性,可以让第三方接入的文件接口。这样sdk就可以完全可以提供出去给第三方了,也不用害怕泄露了系统的逻辑。

我分享的内容就这么多啦,如果想做好一套sdk其实不容易,混淆更是需要耐心去不断做调整。我是一名Android工程师,我为自己加油!

猜你喜欢

转载自blog.csdn.net/ruan_number3/article/details/81019581