MVPPlugin 混淆 踩坑

项目中采用了MVPPlugin 插件,正常开发的时候是正常的,然后混淆打包时,凉凉!

根据日志定位到了 

    在build.gradle 中 添加

buildTypes {
    debug{
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }

    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

   可方便定位问题

    MVPBaseActivity  中的   

public <T> T getInstance(Object o, int i) {
    try {
        return ((Class<T>) ((ParameterizedType) (o.getClass()
                .getGenericSuperclass())).getActualTypeArguments()[i])
                .newInstance();
    } catch (InstantiationException e) {
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        e.printStackTrace();
    } catch (ClassCastException e) {
        e.printStackTrace();
    }
    return null;
}

这个方法,因为返回的是泛型,而且是在baseActivity中,如果继承该类的 类 没有调用    mPresenter 中的方法,则泛型就会出错

解决:

       在那些不需要调用mPresenter方法的类中,写个空方法调用一下就可以了。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值