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

Flutter项目切换Firestore/Supabase后仍遇:app:mergeDexDebug错误求助

解决Flutter项目:app:mergeDexDebug编译错误

问题背景

从Cloud Firestore切换到Supabase服务后,项目仍触发:app:mergeDexDebug编译错误,核心报错为path_provider_android和url_launcher_android的classes.jar在dexing阶段出现空指针异常。

pubspec.yaml 依赖配置

dependencies:
  flutter:
    sdk: flutter

  cupertino_icons: ^1.0.2
  supabase_flutter: ^2.3.1

android/app/build.gradle 配置

defaultConfig {
    applicationId "com.example.aumigos_da_vizinhanca"
    minSdkVersion flutter.minSdkVersion
    targetSdkVersion flutter.targetSdkVersion
    versionCode flutterVersionCode.toInteger()
    versionName flutterVersionName
    multiDexEnabled true
}

完整错误日志

ERROR:C:\MINHAS COISAS SSD\FLUTTER\aumigos_da_vizinhanca\build\path_provider_android\intermediates\runtime_library_classes_jar\debug\classes.jar: D8: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null
ERROR:C:\MINHAS COISAS SSD\FLUTTER\aumigos_da_vizinhanca\build\url_launcher_android\intermediates\runtime_library_classes_jar\debug\classes.jar: D8: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeDexDebug'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
   > Failed to transform classes.jar (project :url_launcher_android) to match attributes {artifactType=android-dex, asm-transformed-variant=NONE, com.android.build.api.attributes.AgpVersionAttr=7.3.0, com.android.build.api.attributes.BuildTypeAttr=debug, com.android.build.gradle.internal.attributes.VariantAttr=debug, dexing-enable-desugaring=true, dexing-enable-jacoco-instrumentation=false, dexing-is-debuggable=true, dexing-min-sdk=19, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
      > Execution failed for DexingWithClasspathTransform: C:\MINHAS COISAS SSD\FLUTTER\aumigos_da_vizinhanca\build\url_launcher_android\intermediates\runtime_library_classes_jar\debug\classes.jar.
         > Error while dexing.

> Failed to transform classes.jar (project :path_provider_android) to match attributes {artifactType=android-dex, asm-transformed-variant=NONE, com.android.build.api.attributes.AgpVersionAttr=7.3.0, com.android.build.api.attributes.BuildTypeAttr=debug, com.android.build.gradle.internal.attributes.VariantAttr=debug, dexing-enable-desugaring=true, dexing-enable-jacoco-instrumentation=false, dexing-is-debuggable=true, dexing-min-sdk=19, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
      > Execution failed for DexingWithClasspathTransform: C:\MINHAS COISAS SSD\FLUTTER\aumigos_da_vizinhanca\build\path_provider_android\intermediates\runtime_library_classes_jar\debug\classes.jar.
         > Error while dexing.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

BUILD FAILED in 17s
Exception: Gradle task assembleDebug failed with exit code 1

已尝试无效操作

在android/app/build.gradle中添加旧版multidex依赖,未解决问题:

dependencies {
    implementation 'com.android.support:multidex:2.0.1'
}

解决方案

按以下步骤逐一排查修复:

  1. 清理构建缓存并重建
    执行命令彻底清理项目缓存后重新构建:

    flutter clean
    flutter pub get
    cd android && ./gradlew clean
    cd .. && flutter run
    
  2. 更新Flutter及依赖包
    升级Flutter到稳定版,同步更新所有依赖:

    flutter upgrade
    flutter pub upgrade
    

    可通过flutter pub outdated查看依赖包更新状态,确保path_provider_android和url_launcher_android使用最新兼容版本。

  3. 调整Android构建配置

    • 若项目允许,将minSdkVersion提升至21及以上:
      minSdkVersion 21
      
    • 替换旧版multidex依赖为AndroidX版本:
      dependencies {
          implementation 'androidx.multidex:multidex:2.0.1'
      }
      
    • 检查android/build.gradle中gradle插件版本,确保与当前Flutter版本兼容(可参考Flutter官方文档推荐版本)。
  4. 禁用调试模式下的代码混淆
    在android/app/build.gradle的buildTypes块中添加配置:

    buildTypes {
        debug {
            minifyEnabled false
            shrinkResources false
        }
    }
    
  5. 检查本地构建环境
    通过Android Studio的SDK Manager确认Android SDK Build Tools、NDK等组件为最新兼容版本。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 04:50:20