AndroidX 方法数限制 Error:Cannot fit requested classes in a single dex file 64K问题

AndroidX 方法数限制 Error:Cannot fit requested classes in a single dex file 64K问题_第1张图片

我使用的最新的AndroidX库报错了,方法数超过65536,

在AndroidX库中的MultiDex解决办法非常简单,只需要一步就可以解决。

在app的gradle里面的defaultConfig节点里面添加 multiDexEnabled = true 即可,不需要在自定义Application中初始化

不要要额外的配置

AndroidX 方法数限制 Error:Cannot fit requested classes in a single dex file 64K问题_第2张图片

AndroidX中不需要依赖multidex库

AndroidX 方法数限制 Error:Cannot fit requested classes in a single dex file 64K问题_第3张图片

但是我发现AS自动引用了这个库

AndroidX 方法数限制 Error:Cannot fit requested classes in a single dex file 64K问题_第4张图片

 

注意:如果你在defaultConfig节点里面怎么都无法提示出来multiDexEnabled字段可以参考下面的图文教程(Android Studio 3.5.3)

AndroidX 方法数限制 Error:Cannot fit requested classes in a single dex file 64K问题_第5张图片

 

 

 

AndroidX 方法数限制 Error:Cannot fit requested classes in a single dex file 64K问题_第6张图片

下面是非AndroidX库中的解决办法

Android5.0(Api>=21)解决方法:

只需要在defaultConfig根节点下面开启MultiDex即可:

multiDexEnabled true即可

Android5.0(Api<21)解决方法:

第一步:先在defaultConfig根节点里面增加:multiDexEnabled true
第二步:依赖multiDex包:implementation 'com.android.support:multidex:1.0.3'
第三步:让自定义的application继承MultitDexApplication即可

注意:
如果项目中是用到的第三方的OtherApplication解决方法:
第一步:现在defaultConfig根节点里面增加:multiDexEnabled true
第二步:依赖multiDex包:implementation 'com.android.support:multidex:1.0.3'
第三步:在OtherApplication的初始化方法中初始化MultiDex即可
@override
protected void attachBaseContext(Context context){
    super.attachBaseContext(context);
    MultiDex.install(this);
}

 

Google官方文档64K解决方法:进入官方文档

你可能感兴趣的:(Android开发错误记录)