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

Flutter构建APK失败:Gradle报错(升级Kotlin插件仍未解决)

问题:Flutter项目构建APK失败(iOS运行正常)

我的项目在iOS模拟器中运行完全正常,但构建APK时失败,错误信息如下:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:minifyReleaseWithR8'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.R8Task$R8Runnable
   > Compilation failed to complete, origin: /Users/mac/Documents/flutter/myvidcall/build/record_android/intermediates/runtime_library_classes_jar/release/classes.jar:com/llfbandit/record/record/format/Format.class

* 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 4m 45s
Running Gradle task 'assembleRelease'...                          286.5s

┌─ Flutter Fix ──────────────────────────────────────────────────────────┐
│ [!] Your project requires a newer version of the Kotlin Gradle plugin. │
│ Find the latest version on                                             │
│ https://kotlinlang.org/docs/releases.html#release-details, then update │
│ /Users/mac/Documents/flutter/myvidcall/android/build.gradle:           │
│ ext.kotlin_version = '<latest-version>'                                │
└────────────────────────────────────────────────────────────────────────┘
Gradle task assembleRelease failed with exit code 1

我已多次将Gradle升级到最新版本,也尝试过2.0.0及稍低版本,但问题依然存在。以下是我的Gradle配置片段:

...
    buildTypes {
        release {
            signingConfig signingConfigs.debug
             // Enable shrinking, obfuscation, and code optimization for the release build
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            // Add this block to exclude problematic classes from minification
            proguardFiles 'proguard-rules.pro'
        }
    }
    ...

解决方案
  • 更新Kotlin Gradle插件版本:修改android/build.gradle中的ext.kotlin_version为与当前Gradle版本匹配的最新稳定版(例如Gradle 7.x对应Kotlin 1.7+,Gradle 8.x对应Kotlin 1.8+)。

  • 修复重复的ProGuard配置:你的release构建配置中重复声明了proguardFiles,会覆盖默认配置,需合并为一行:

    proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    
  • 添加针对record_android库的混淆规则:在proguard-rules.pro文件中加入以下规则,防止R8混淆该库的关键类:

    -keep class com.llfbandit.record.record.format.Format { *; }
    -keep class com.llfbandit.record.** { *; }
    
  • 临时排查方案:如果以上方法无效,可先关闭代码混淆和资源压缩,确认是否是混淆导致的问题:

    minifyEnabled false
    shrinkResources false
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 19:42:44