Cannot fit requested classes in a single dex file. Try supplying a main-dex list. # methods: 66657 > 65536
不能将请求的类装入单个dex文件中。试着提供一份主抄本清单。
#方法:66657 > 65536。
这个报错是因为你的项目里单个dex文件的函数超过了65536个,随着应用功能越来越复杂,代码量不断地增大,引入的库也越来越多,可能会报这个异常
Cannot fit requested classes in a single dex file. Try supplying a main-dex list. # methods: 66657 > 65536
这说明应用中引用的方法数超过了最大数65536个。产生这一问题的原因就是系统的65536限制,65536限制的主要原因是DVM Bytecode的限制,DVM指令集的方法调用指令invoke-kind索引为16bits,最多能引用 65535个方法。
可以尝试着用一下方法解决这个问题
在你的app.gradle下写如下方法
defaultConfig {
multiDexEnabled true
}
buildTypes {
debug{
lintOptions {
checkReleaseBuilds false
abortOnError false
}
}
release {
lintOptions {
checkReleaseBuilds false
abortOnError false
}
}
}
implementation 'com.android.support:multidex:1.0.3'
#方法:66657 > 65536。
导入上面的依赖
把你原来的继承的Application类,换成MultiDexApplication
这样应该就可以解决这个问题了,这种解决方式,我是在国外网站的一篇帖子上看到的,在此记录一下