昨天打包出现了个超级好玩的问题,正常测试包没问题,但是打出来的正式包进去就崩溃。报错为:java.lang.ExceptionInInitializerError
而MUI上抓到的错误log是java.lang.ExceptionInInitializerError和Caused by: android.view.InflateException: Binary XML file line #13: Error inflating class fragment
搜索后出现的原因可能是:
http://blog.youkuaiyun.com/h_o_w_e/article/details/78087537
https://stackoverflow.com/questions/8929521/exceptionininitializererror-in-android-app
http://blog.youkuaiyun.com/fykhlp/article/details/6236316
查看代码后发现确实有单例使用,api调用类,修改后打包还是有问题,而且为什么debug包没问题,只有release包有问题呢?继续定位问题,搜索到可能因为签名的v1 v2版本问题,单独打v1的包,打v2的包,全选v1,v2的包,还是报错。去个厕所换换脑子,回来发现,咦,怎么ExceptionInInitializerError底下还有一部分报错代码
Caused by: java.lang.IllegalArgumentException: Illegal URL:
他奶奶的,刚才咋没看到!
再看下代码
结果发现是因为正式包的接口服务器地址写错了。。!!!!