Android studio 开启debug、release混淆模式和混淆打包安装后报错NullPointerException int java.util.List.size()

新手日常踩雷区,留下此贴,希望下次不会再这样折腾,一开始报错,因为手机连不上电脑不好调试,所以发现在app gradle中配制以下代码可以开启debug安卓模拟机开启安装模式调试:

signingConfigs {
    release {

    }

    debug{

    }
}

buildTypes {
    release {
        // 不显示Log
        buildConfigField "boolean", "LOG_DEBUG", "false"
        //开启代码混淆
        minifyEnabled true

        //shrinkResources true // 移除无用的resource文件
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.release  //使用上述签名信息
    }
    debug {
        //开启代码混淆
        minifyEnabled true
        //shrinkResources fa// 移除无用的resource文件
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.debug
    }
}

然后发现报

java.lang.NullPointerException: Attempt to invoke interface method 

'int java.util.List.size()' on a null object reference

at com.*.*.a.b.getItemCount

(Unknown Source)

注意这个地方是List.size(),空。

解决:所有model类不要混淆。

解决方式:所有的gson解析实体类都不用混淆,否则数据没有,会报错误。

-keep class 你的自定义gson解析包或类路径.**{*;}

 

好了,愿自己不再踏坑。

参考地址:http://blog.csdn.net/tou_star/article/details/70256011

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值