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

Flutter项目构建APK失败:Manifest合并及编译兼容性问题求助

Flutter Android APK构建错误解决指南

环境信息

  • Flutter版本:3.24.3(稳定通道,运行于macOS 14.6.1)
  • Android SDK版本:35.0.0
  • Java版本:OpenJDK 17.0.11 + Oracle JDK 22.0.2

翻译后的错误列表

  1. 任务执行停滞,无法启动队列任务
  2. :open_filex:processDebugAndroidTestManifest 任务失败:Manifest合并失败,minSdkVersion 16 小于依赖库要求的19
  3. :geolocator_android:processDebugAndroidTestManifest 任务失败:同类型Manifest合并minSdk不兼容问题
  4. :flutter_svprogresshud:checkDebugAndroidTestAarMetadata 任务失败:依赖库要求compileSdk至少34,但当前为28,存在20项元数据问题
  5. :flutter_svprogresshud:processDebugAndroidTestManifest 任务失败:Manifest合并minSdk不兼容
  6. :app:checkDebugAarMetadata 任务失败:qr_code_scanner要求启用核心库脱糖
  7. :qr_code_scanner:compileDebugKotlin 任务失败:Java与Kotlin的JVM目标版本不一致(1.8 vs 17)

解决方法

一、统一项目Android核心配置

1. 同步compileSdk、minSdk、targetSdk版本

修改android/app/build.gradle:

android {
    compileSdk 35 // 匹配已安装的Android SDK 35.0.0
    defaultConfig {
        minSdkVersion 21 // 覆盖依赖库最低要求,至少高于19;正式环境建议设为21及以上
        targetSdkVersion 35
        // 保留原有其他配置
    }
}

2. 统一JVM目标版本

在android/app/build.gradle的android块内添加:

kotlinOptions {
    jvmTarget = '17' // 与Java版本统一,避免版本冲突
}

同时修改gradle.properties:

org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
kotlin.jvm.target=17

3. 更新Gradle版本

修改gradle-wrapper.properties的distributionUrl:

distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip // 适配Flutter 3.24.x的推荐版本

二、逐个解决特定错误

1. Manifest合并minSdk不兼容(错误2、3、5)

  • 优先方案:升级依赖库到最新兼容版本,修改pubspec.yaml:
dependencies:
  open_filex: ^最新版本
  geolocator_android: ^最新版本
  flutter_svprogresshud: ^最新版本
  • 临时方案:若无法升级依赖,在android/app/build.gradle中强制覆盖测试依赖的minSdk:
android {
    configurations.all {
        resolutionStrategy.eachDependency { details ->
            def depName = details.requested.name
            if (['open_filex', 'geolocator_android', 'flutter_svprogresshud'].contains(depName)) {
                details.useVersion(details.requested.version)
                // 强制设置minSdk
                details.because = "Force minSdk to match project's minSdk"
            }
        }
    }
}

2. compileSdk版本过低(错误4)

确保项目根目录build.gradle的版本配置统一:

buildscript {
    ext {
        compileSdkVersion = 35
        minSdkVersion = 21
        targetSdkVersion = 35
    }
}

3. 启用核心库脱糖(错误6)

修改android/app/build.gradle:

android {
    compileOptions {
        coreLibraryDesugaringEnabled true
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
}

dependencies {
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4'
}

4. JVM目标版本不一致(错误7)

在项目根目录build.gradle中全局统一Kotlin JVM目标:

subprojects {
    afterEvaluate { project ->
        if (project.hasProperty('android')) {
            android {
                kotlinOptions {
                    jvmTarget = '17'
                }
            }
        }
    }
}

5. 任务执行停滞(错误1)

  • 执行flutter clean,手动删除android/.gradle、android/app/build目录
  • 重启开发工具,关闭后台占用资源的程序
  • 调整gradle.properties内存分配:
org.gradle.jvmargs=-Xmx2048M -XX:MaxMetaspaceSize=512M

三、验证步骤

  1. 执行flutter pub get更新依赖
  2. 执行flutter build apk --debug测试构建
  3. 若仍有错误,排查pubspec.yaml中未更新的旧依赖,替换为兼容Flutter 3.24.x的版本

内容的提问来源于stack exchange,提问作者Ishaq Moutanabi Benaissa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 06:32:02