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

Flutter中Gradle构建与appcompat相关的mergeExtDexDebug错误解决求助

解决Flutter项目Gradle构建中appcompat相关的dex错误

报错信息

Execution failed for task ':app:mergeExtDexDebug'.

Could not resolve all files for configuration ':app:debugRuntimeClasspath'.raryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}.raryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}.

Execution failed for DexingNoClasspathTransform: C:\Users\Ganesh Waje.gradle\caches\transforms-3\eca9a3155755829de657c56dd5ec41a3\transformed\jetified-appcompat-resources-1.7.0-runtime.jar.
Error while dexing.
Failed to transform appcompat-1.7.0.aar (androidx.appcompat:appcompat:1.7.0) to match attributes {artifactType=android-dex, asm-transformed-variant=NONE, dexing-enable-desugaring=true, dexing-enable-jacoco-instrumentation=false, dexing-is-debuggable=true, dexing-min-sdk=25, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}.
Execution failed for DexingNoClasspathTransform: C:\Users\Ganesh Waje.gradle\caches\transforms-3\560616332cdd3e7f4155e4c3061ec9e8\transformed\appcompat-1.7.0-runtime.jar.
Error while dexing.

现有配置文件

Android层级build.gradle

buildscript {
    ext.kotlin_version = '2.0.0'
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:8.0.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "com.google.gms:google-services:4.4.2" // Corrected versioning
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
    }
    configurations.all {
        resolutionStrategy {
            force("androidx.core:core-ktx:1.9.0")
        }
    }
}

rootProject.buildDir = '../build'
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(':app')
}

tasks.register("clean", Delete) {
    delete rootProject.buildDir
}

App层级build.gradle

plugins {
    id "com.android.application"
    id "kotlin-android"
    id "dev.flutter.flutter-gradle-plugin"
    id "com.google.gms.google-services"
}

def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader('UTF-8') { reader ->
        localProperties.load(reader)
    }
}

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
    flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
    flutterVersionName = '1.0'
}

android {
    namespace "com.example.main_app"
    compileSdkVersion flutter.compileSdkVersion
    ndkVersion flutter.ndkVersion

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    defaultConfig {
        applicationId "com.example.main_app"
        minSdkVersion 25
        targetSdkVersion flutter.targetSdkVersion
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }

    buildTypes {
        release {
            signingConfig signingConfigs.debug
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    implementation platform('com.google.firebase:firebase-bom:33.1.1')
    implementation 'com.google.firebase:firebase-analytics'
    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    implementation 'androidx.appcompat:appcompat:1.7.0'
}

解决方案

1. 清理Gradle缓存与项目构建文件

执行以下命令彻底清理缓存和旧构建文件:

flutter clean
# Windows用户执行:rmdir /s /q %USERPROFILE%\.gradle\caches
# Mac/Linux用户执行:rm -rf ~/.gradle/caches
flutter pub get

之后重新运行项目:flutter run

2. 统一AppCompat依赖版本

在Android层级build.gradle的resolutionStrategy中添加appcompat的强制版本,确保与app层级依赖一致:

configurations.all {
    resolutionStrategy {
        force("androidx.core:core-ktx:1.9.0")
        force("androidx.appcompat:appcompat:1.7.0")
    }
}

若版本仍存在兼容问题,可降级为稳定版如1.6.1,同步修改两处配置。

3. 升级Java版本并调整编译配置

Gradle 8.0.2推荐使用Java 11或更高版本,修改app层级build.gradle:

android {
    // ... 其他配置
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_11
        targetCompatibility JavaVersion.VERSION_11
        coreLibraryDesugaringEnabled true
    }
    kotlinOptions {
        jvmTarget = '11'
    }
}

dependencies {
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4'
    // ... 其他依赖
}

同时在local.properties中指定Java 11路径:

# Windows示例
org.gradle.java.home=C:\\Program Files\\Java\\jdk-11.x.x
# Mac示例
org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-11.x.x.jdk/Contents/Home

4. 调整Kotlin版本兼容性

Kotlin 2.0.0与Gradle 8.0.2存在兼容性风险,降级为稳定版如1.9.23:
修改Android层级build.gradle中的ext.kotlin_version = '1.9.23',然后同步Gradle。

5. 增加Dex编译堆内存

在app层级build.gradle的android块中添加:

android {
    // ... 其他配置
    dexOptions {
        javaMaxHeapSize "4g"
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 19:14:52