当前位置: 代码迷 >> Android >> 搅混之后,调用第三方jar包运行出错
  详细解决方案

搅混之后,调用第三方jar包运行出错

热度:76   发布时间:2016-04-28 03:26:56.0
混淆之后,调用第三方jar包运行出错
情况是这样的:
在混淆了之后(没有混淆第三方包)运行,出现调用第三方jar包方法,参数出错的问题

因为我使用了retrofit这个网络库,在使用的时候需要最后一个参数一定要是retrofit.Callback类型的,因为我要在callback里面再做一些操作,所以,我就实现了这个接口,然后使用的时候,传递我实现的这个类,当然,在混淆了代码之后,这个类也被混淆了,这个时候,调用第三方方法的时候,就说我传递的参数是错误的。

我看了一下混淆之后的代码,虽然那个类,被混淆了,但是它还是继承自retrofit.Callback的啊。

大家有没有遇到过类似的问题?求解。
------解决思路----------------------
这个接口不能混淆,

-keep class com.xx.xx.MyCallBack {
    public <fields>;
    public <methods>;
}
------解决思路----------------------
对于人家提供的jar包
直接
-keep public class xxx.** { *; }
-dontwarn xxx.**
-keep class xxx.** { *; } 

------解决思路----------------------
keep住出错的类。
  相关解决方案