解决方案 »

  1.   

    这个接口不能混淆,-keep class com.xx.xx.MyCallBack {
        public <fields>;
        public <methods>;
    }
      

  2.   


    为什么要这样呢?
    那也就是说,任何我从第三方继承的类都不能混淆吗?
    还有,如果是一个内部类的话,脚本应该怎么写呢?
    好像我写成这种集成的方式是没有用的啊-keep class * implements retrofit.Callback<T>
    还是会被混淆。
      

  3.   

    对于人家提供的jar包
    直接
    -keep public class xxx.** { *; }
    -dontwarn xxx.**
    -keep class xxx.** { *; } 
      

  4.   

    抱歉,刚才没看清就回复了。
    改成直接keep对应的实现的那个类呢?
      

  5.   

    问题解决,结贴
    -keep class com.mingmu.youqu.controller.StringServerController$*{
    *;
    }-keep class com.mingmu.youqu.controller.GsonServerController$*{
    *;
    }
    添加了这么两句,因为我这两个类中具有继承自第三方的内部类和匿名内部类,在混淆的时候把他们都忽略了就可以了。
    上述脚本,可以忽略混淆一个类中的内部类和匿名内部类。