参考文章:http://blog.csdn.net/mengweiqi33/article/details/25824295
大部分细节和问题这篇文章都将的很清楚了。
我这里补充一点,就是在按上面那样做完以后,虽然代码变成了字节码,但是如果就这样给第三方了,人家反编译出来还是可以看到你的源代码滴;我研究了很多做SDK的公司,比如支付宝提供给第三方的支付SDK,连他们也不能自己先混淆了然后再给第三方,所以至少第三是可以通过编译出来看到你的SDK的源码的,如果第三方自己的APP不进行混淆,那么我们的SDK源码那就大白于天下了。
这里我不得不赞叹QQ分享的SDK,他们做出来的SDK,是自己先加密混淆以后才提供给第三方,目前本人还没有搞清楚这是怎么做到的。
如果第三方对自己的项目进行的混淆,由于我们的项目是作为库供给第三引用的,因此,第三方项目混淆时,我们的项目源码也会被混淆,这样我们的源码就只有提供给第三的人可以看到。然而,问题又来了,如果我们的项目中有一些不能被混淆的代码,怎么办?
万能的方