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

Flutter打包APK时:app:minifyReleaseWithR8任务执行失败怎么解决?

Flutter R8编译错误解决方案:minifyReleaseWithR8任务失败

问题场景

执行flutter build apk --release时触发minifyReleaseWithR8任务失败,错误指向kotlin-reflect-1.6.21.jar中的BuiltInsResourceLoader.class文件。

关键配置信息

gradle.properties

org.gradle.jvmargs=-Xmx2048M
android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true

项目根目录build.gradle

buildscript {
    ext.kotlin_version = '1.6.10'
    repositories {
        google()
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:7.1.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

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

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

解决方案

1. 统一Kotlin版本(优先推荐)

报错中kotlin-reflect-1.6.21与配置指定的kotlin_version=1.6.10版本不一致,这是核心冲突点:

  • 修改项目根目录build.gradle中的ext.kotlin_version为1.6.21
  • 执行以下命令清理并重新编译:
flutter clean
flutter pub get
flutter build apk --release

2. 添加R8混淆规则排除kotlin-reflect类

在android/app/proguard-rules.pro文件中添加规则,避免R8混淆kotlin-reflect核心类:

-keep class kotlin.reflect.jvm.internal.impl.serialization.deserialization.builtins.** { *; }
-keep class kotlin.reflect.** { *; }

添加后重新执行编译命令。

3. 临时禁用R8(仅用于排查)

若以上方法无效,可临时关闭R8验证,修改gradle.properties:

android.enableR8=false

注意:此方法仅用于排查问题,不建议长期使用。

4. 清理Gradle缓存

缓存损坏也可能导致此类问题,执行以下命令清理缓存:

flutter clean
rm -rf ~/.gradle/caches/
flutter pub get
flutter build apk --release

内容的提问来源于stack exchange,提问作者İsmail Berkay Kara

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 00:40:28