Try supplying a main-dex list. # methods: 66657 >66657 > 65536

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zjc_null/article/details/80964881

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。

导入上面的依赖

扫描二维码关注公众号,回复: 4847875 查看本文章

把你原来的继承的Application类,换成MultiDexApplication

这样应该就可以解决这个问题了,这种解决方式,我是在国外网站的一篇帖子上看到的,在此记录一下

猜你喜欢

转载自blog.csdn.net/zjc_null/article/details/80964881
GT4