也是在某统计网站上看到了我们的APP爆出了这么一个bug:
java.lang.NoSuchFieldError: No instance field headerOut of type [Lorg/kxml2/kdom/Element; in class Lorg/ksoap2/serialization/SoapSerializationEnvelope; or its superclasses (declaration of 'org.ksoap2.serialization.SoapSerializationEnvelope' appears in /system/framework/wifi-service.jar)
at com.example.hitpool.common.CommonFun.KsoapOpen
....
一头雾水,一看机型 HTC ONE_M8
各种搜索、查找
终于在 http://stackoverflow.com/questions/28339539/app-crash-on-device-htc-m8-with-os-lollipop-for-web-service-call找到了线索与解决之道,
原来是HTC的某些 NC it looked obvious someone in HTC thought it would be a good idea to include ksoap2. Unfortunately they didn‘t think this through and made the same mistake as Google with Apache Commons and HttpClient ,所以.....
解决之道 暂时只有把 ksoap的jar包重新命名。。。
学到了用jarjar 重新打包命名 Jar包。好处可以参考这篇文章:
jarjar:方便的java打包工具 :http://blog.csdn.net/zzljlu/article/details/6907064
结果重新命名jar包,然后引用,是ok的,只是没在HTC上跑过,应该是ok的