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

添加MultiDex后Flutter应用启动崩溃,求问题排查方案

问题分析与修复方案

你踩的关键坑

直接修改Flutter SDK目录里的flutter.gradle是错误操作——这属于全局配置,会影响所有你的Flutter项目,还容易和当前项目的本地配置冲突,这是启动崩溃的核心原因之一。另外你只开启了MultiDex开关,没补全对应的依赖和初始化操作,也会导致类加载失败引发崩溃。

正确的修复步骤

  • 先把SDK中修改过的flutter\packages\flutter_tools\gradle\flutter.gradle还原成原始状态,不要用全局配置影响单个项目。
  • 打开自己项目的android/app/build.gradle,在defaultConfig块内直接指定minSdkVersion为19,同时保留multiDexEnabled true:
    defaultConfig {
        applicationId "你的应用ID"
        minSdkVersion 19
        targetSdkVersion 33
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        multiDexEnabled true
    }
    
  • 同样在这个文件的dependencies块中添加MultiDex的依赖:
    dependencies {
        // 保留原有依赖,新增下面这行
        implementation 'androidx.multidex:multidex:2.0.1'
    }
    
  • 处理Application类:
    • 如果项目没有自定义Application,就修改AndroidManifest.xml的application标签,添加android:name="androidx.multidex.MultiDexApplication";
    • 如果有自定义Application,要么让它继承MultiDexApplication,要么在attachBaseContext方法中加入MultiDex.install(this)。
  • 最后清理缓存并重新构建项目:
    flutter clean
    flutter pub get
    flutter run
    

崩溃原因推测

你修改了全局的minSdk配置,导致项目依赖库与实际运行环境的类加载逻辑冲突,再加上MultiDex仅开启开关但未完成完整配置,启动时系统无法找到必要的类,因此直接无提示崩溃。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 23:57:48