被这个问题折磨了好久,依稀记得去年(2016)遇到这个问题的时候也搜索了好久,记得当初貌似是重建了项目,然后把代码拷贝过去就好了,但是这次不好使了。在我网上搜了文章,大部分博主都在告诉你原因:JVM 找不到这个类或者class loader之类 bla bla bla... 然后呢,可是然后怎么解决呢?戛然而止了,留下我一个人在各大博主的文后凌乱。。。
项目运行好好的,突然有一天各种Crash,编译没有任何问题,一运行就各种crash,报 java.lang.NoClassDefFoundError 或者 某某module找不到,但是你在IDE明明是能找到的。心中一万头草泥马呼啸而过。
遇到这个问题,结合StackOverflow给的解决方法,大多分为以下几种,大家可以根据自己的情况依次实验,能解决就不要继续下一步了。
- 先清理再Rebuild: Clean Project - Rebuild Project
-
关闭Studio,到项目文件下把build文件夹都删了,再把Studio打开编译运行看看是否解决了。
-
清理缓存重启Studio: File- Invalidate Cahces / Restart...
- 大招:在Android Studio中引入MultiDex
在build.gradle中按照下面配置
defaultConfig {
applicationId "com.threshold.learningdriving"
minSdkVersion 16
targetSdkVersion 26
versionCode 3
versionName "2.3.0"
multiDexEnabled true //Support more than 65535 functions
}
dependencies {
//........
compile "com.android.support:multidex:1.0.1"
//........
}
新建一个 App 类继承 Application
public class App extends android.app.Application {
//.....
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
//.....
}
在AndroidManifest.xml中配置Application name
<application
android:name=".App"
//....省略其他配置
>
//.........
</application>
嗯,这样你的MultiDex应该就配置好了,再Run一下看看是否还会报错。
关注我的公众号.jpg
网友评论