近期把项目里的Umeng推送SDK有2.8.1更新到3.0.4后,打包后安装到手机直接崩溃,用2.8.1打包就没有问题。
AndroidStudio的log直接报出2800多行红色error,花了一上午时间,从头读到尾,最后筛选出问题所在:java.lang.NoSuchMethodError: no static or non-static method "Lorg/android/spdy/SpdyAgent;.freeAgent(J)I"(如下图所示)。
BUG出现的流程如下:在Application执行onCreate的时候调用了Umeng的PushAgent.register(),然后报出了关于com.taobao.***的一系列问题,等等……如下图红色标记:
然后,然后想到了问题所在,Umeng新的SDK更新了新的东西,那么在混淆的时候也应该对新增的模块进行-keep,哎……多坑了!!!(意思是说每次SDK更新都得再次跟新混淆代码了)
更有意思的是:不是所有手机都会崩溃,只有部分机型。