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

Flutter构建APK报错:app:mergeReleaseJavaResource任务执行失败

问题描述

Windows环境下使用beta渠道3.1.0版本Flutter执行flutter build apk命令构建Android release安装包时构建失败,flutter doctor -v检测无异常。

具体报错信息

  • 失败任务::app:mergeReleaseJavaResource执行失败

执行com.android.build.gradle.internal.tasks.Workers$ActionFacade时发生故障,错误提示:invalid stream header: 00000000

现有项目Gradle配置

项目根目录android/build.gradle配置

buildscript {
    ext.kotlin_version = '1.6.21'
    repositories {
        google()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:4.1.0'
        classpath 'com.google.gms:google-services:4.3.10'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

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

task clean(type: Delete) {
    delete rootProject.buildDir
}

android/app/build.gradle配置

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

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
    throw new FileNotFoundException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}

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

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

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
    compileSdkVersion 32

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }

    lintOptions {
        disable 'InvalidPackage'
        disable "Instantiatable"
        checkReleaseBuilds false
        abortOnError false
    }

    defaultConfig {
        applicationId "com.mobilemaster.foodbazarapp"
        minSdkVersion 21
        targetSdkVersion 32
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }

    buildTypes {
        release {
            signingConfig signingConfigs.debug
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation platform('com.google.firebase:firebase-bom:29.3.1')
    implementation 'com.google.firebase:firebase-analytics'
    implementation 'com.google.firebase:firebase-firestore'
    implementation 'com.google.firebase:firebase-storage'
    implementation 'com.google.firebase:firebase-auth'
}

环境检测结果(flutter doctor -v输出)

  • Flutter:Channel beta, 3.1.0-9.0.pre,运行于Microsoft Windows [Version 10.0.19043.1586],区域设置en-US
    • 安装路径C:\src\flutter
    • Framework版本revision f28e570c8c(2022-06-14 13:39:33 -0500)
    • Engine版本revision 74ee6b5afd
    • Dart版本2.18.0 (build 2.18.0-165.1.beta)
    • DevTools版本2.14.0
  • Android工具链:Android SDK版本33.0.0-rc2
    • SDK路径C:\Users\OSAMA\AppData\Local\Android\sdk
    • 已安装平台android-32,build-tools版本33.0.0-rc2
    • Java路径C:\Program Files\Android\Android Studio\jre\bin\java
    • Java版本OpenJDK Runtime Environment (build 11.0.11+9-b60-7590822)
    • 所有Android许可证已接受
  • Chrome:安装路径C:\Program Files (x86)\Google\Chrome\Application\chrome.exe,支持Web开发
  • Visual Studio:Visual Studio Community 2022 17.0.6,支持Windows开发
    • 安装路径C:\Program Files\Microsoft Visual Studio\2022\Community
    • 内置Windows 10 SDK版本10.0.19041.0
  • Android Studio:版本2021.1,安装路径C:\Program Files\Android\Android Studio,已安装Flutter、Dart插件,内置JDK版本11.0.11
  • IntelliJ IDEA Community Edition:版本2020.3,安装路径C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.2,已安装Flutter 65.2.1、Dart 203.8452插件
  • VS Code:共检测到两个安装
    • 1.54.3版本,路径C:\Users\OSAMA\AppData\Local\Programs\Microsoft VS Code,安装Flutter扩展3.42.0
    • 1.68.1 64位版本,路径C:\Program Files\Microsoft VS Code,安装Flutter扩展3.42.0
  • 已连接设备共4台:Android 12(API32)模拟器、Windows桌面端、Chrome、Edge
  • 网络检测:所有必需HTTP主机均可正常访问,无网络问题
解决方案

这个报错是Gradle构建缓存损坏、工具链版本不匹配共同导致的,按以下步骤操作即可解决:

  1. 彻底清理损坏的构建缓存
    先关闭所有Android Studio、模拟器、正在运行的Flutter进程,在项目根目录依次执行以下命令:
    flutter clean
    cd android
    gradlew clean
    cd ..
    
    手动删除项目根目录下的build文件夹、android/.gradle文件夹、android/app/build文件夹,完全清除旧的损坏缓存。
  2. 修复版本兼容性问题
    当前使用的Flutter 3.1.0 beta版本、Android SDK Build-Tools 33.0.0-rc2(预览版)和Gradle插件4.1.0版本存在已知兼容问题,做以下修改:
    • 打开Android SDK Manager,卸载33.0.0-rc2版本的Build-Tools,安装稳定版32.0.0的Build-Tools,和当前compileSdkVersion 32匹配
    • 修改android/build.gradle中的Gradle插件版本,把com.android.tools.build:gradle:4.1.0替换为com.android.tools.build:gradle:7.0.4
    • 打开android/gradle/wrapper/gradle-wrapper.properties文件,把distributionUrl对应的Gradle版本改成gradle-7.2-all.zip,匹配7.0.x版本的Android Gradle插件
    • 把两个repositories块中的jcenter()全部替换为mavenCentral(),jcenter已经停止服务,容易拉取到损坏的依赖包
  3. 刷新依赖
    执行flutter pub get重新拉取Dart依赖,再进入android目录执行gradlew build --refresh-dependencies强制刷新所有Gradle依赖,避免本地缓存的依赖包损坏。
  4. 重新构建
    回到项目根目录执行flutter build apk --release即可正常构建。
    注意:当前release包使用的是debug签名,正式发布前需要替换为自己的release签名配置,否则无法上架应用商店。

内容的提问来源于stack exchange,提问作者Osama A. Abdelnasser

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 22:06:26