网站编辑的工作内容,网站平台专题如何制作,wordpress3.8.3,运城建设厅官方网站上周五项目测试时发现一个奇怪的Bug#xff0c;项目中依赖了一个第三方框架#xff0c;但是在android4.0-4.4.4之间的系统中运行会直接闪退#xff0c;抛出错误异常为java.lang.NoClassDefFoundError。第一次遇到这样的问题#xff0c;google了好久找到了以下几个原因…上周五项目测试时发现一个奇怪的Bug项目中依赖了一个第三方框架但是在android4.0-4.4.4之间的系统中运行会直接闪退抛出错误异常为java.lang.NoClassDefFoundError。第一次遇到这样的问题google了好久找到了以下几个原因该异常表示找不到类定义当JVM或者ClassLoader实例尝试装载该类的定义(这通常是一个方法调用或者new表达式创建一个实例过程的一部分)而这个类定义并没有找时所抛出的错误。[解决方案]NoClassDefFoundError异常一般出现在编译环境和运行环境不一致的情况下就是说有可能在编译过后更改了Classpath或者jar包所以导致在运行的过程中JVM或者ClassLoader无法找到这个类的定义。1.分dex包编程如果依赖的dex包删除了指定的类执行初始化方法时将会报错2.使用第三方SDK或插件化编程时动态加载或实例化类失败将会报错3.系统资源紧张时当大量class需要加载到内存的时候处于竞争关系部分calss竞争失败导致加载不成功4.装载并初始化一个类时失败(比如静态块抛 java.lang.ExceptionInInitializerError 异常)然后再次引用此类也会提示NoClassDefFoundErr 错误5.手机系统版本或硬件设备不匹配(如ble设备只支持18以上SDK)程序引用的class在低版本中不存在导致NoClassDefFoundErr 错误。6.so文件找不到,设备平台armeabi-v7a,但是我的so库是放在armeabi中的,解决方法新建一个armeabi-v7a包,并且把armeabi的文件拷贝过来.但是在实际的定位问题的过程中发现并不是总的方法数超出65535也并不是class竞争失败最后的问题出在解决方案5引用的class在低版本中不存在或者说实现可能不同了。在这个第三方框架的webView里我调用了webView1.png但是发现它的最终实现是webView2.png我猜测找不到类应该是在4.4 -4.4.4运行过程中没有链接到View的实现从而导致类加载失败所以解决方案如下webView3.png