Flutter构建报错‘无法将类放入单个Dex文件’的解决求助
解决Flutter中「Cannot fit requested classes in a single dex file」方法数超限问题
下面是针对你遇到的问题的具体解决方案,按步骤尝试:
完善MultiDex配置(不止开个开关)
打开android/app/build.gradle:- 在
dependencies块里添加MultiDex依赖:implementation 'androidx.multidex:multidex:2.0.1' - 确认
defaultConfig里已经开启:defaultConfig { // 其他配置... multiDexEnabled true } - 如果项目有自定义Application类,要么让它继承
MultiDexApplication,要么在attachBaseContext方法里加入:@Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); }
- 在
彻底清理缓存(比单纯clean更有效)
依次执行以下命令:flutter clean cd android gradlew clean cd ..手动删除项目根目录下的
.android和.gradle隐藏文件夹(需先显示隐藏文件),重启IDE后再执行flutter run。排查依赖冗余
执行flutter pub deps查看完整依赖树,找出重复引入的库或可替换的重依赖项。比如某些第三方SDK自带大量不必要模块,可通过exclude移除:implementation('com.example:some-sdk:1.0.0') { exclude group: 'com.unnecessary.dep', module: 'unnecessary-module' }检查版本兼容性
Flutter 3.19.6建议搭配Android Gradle插件7.4.2+和Gradle 7.5+:- 打开
android/build.gradle,修改classpath:dependencies { classpath 'com.android.tools.build:gradle:7.4.2' // 其他classpath... } - 打开
android/gradle/wrapper/gradle-wrapper.properties,修改distributionUrl:distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
- 打开
Windows环境专属检查
- 打开Android Studio的SDK Manager,确认Build Tools版本为33.0.2或与compileSdkVersion兼容的版本;
- 检查系统环境变量
ANDROID_HOME是否正确指向Android SDK安装路径,避免路径问题导致缓存异常。
内容的提问来源于stack exchange,提问作者LghDuong
相关产品推荐
相关产品推荐

