You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter构建报错‘无法将类放入单个Dex文件’的解决求助

解决Flutter中「Cannot fit requested classes in a single dex file」方法数超限问题

下面是针对你遇到的问题的具体解决方案,按步骤尝试:

  • 完善MultiDex配置(不止开个开关)
    打开android/app/build.gradle:

    1. 在dependencies块里添加MultiDex依赖:
      implementation 'androidx.multidex:multidex:2.0.1'
      
    2. 确认defaultConfig里已经开启:
      defaultConfig {
          // 其他配置...
          multiDexEnabled true
      }
      
    3. 如果项目有自定义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+:

    1. 打开android/build.gradle,修改classpath:
      dependencies {
          classpath 'com.android.tools.build:gradle:7.4.2'
          // 其他classpath...
      }
      
    2. 打开android/gradle/wrapper/gradle-wrapper.properties,修改distributionUrl:
      distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
      
  • Windows环境专属检查

    1. 打开Android Studio的SDK Manager,确认Build Tools版本为33.0.2或与compileSdkVersion兼容的版本;
    2. 检查系统环境变量ANDROID_HOME是否正确指向Android SDK安装路径,避免路径问题导致缓存异常。

内容的提问来源于stack exchange,提问作者LghDuong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 13:27:34