java.lang.NoClassDefFoundError
在使用不同版本手机进行测试时,往往出现手机类型兼容性问题与手机系统版本兼容性问题,此问题主要为后者,描述如下:
1. 开发中使用5.0+android系统(coolpad); 2. 编译运行无误; 3. 使用5.0-android系统(HUAWEI-4.4)调试时出现初始化出错; 4. logcat 输出错误为java.lang.NoClassDefFoundError 5. 出问题的类文件保证存在切能通过编译由Error导致应用崩溃或闪退
在开发中,所做项目的量级与应用兼容android版本是一个非常严重的问题,而在此问题上,大致分析为两种:
应用的使用版本最低要求是 API 16 通过查阅 Android 5.0以下出现 java.lang.NoClassDefFoundError: 得出可能是版本问题;而在应用中,由于需求不断变更导致文件越来越多,有可能引发Dex超出方法数问题, 参照 Android 使用android-support-multidex解决Dex超出方法数的限制问题,让你的应用不再爆棚 ;例如:
//继承MultiDexApplication使用 public class App extends MultiDexApplication { ... }此问题属于个人开发中所遇问题,并不代表此类问题都能通过这种方式解决,若有更好解决方式或相似问题,欢迎各位留言探讨,不胜感激!