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

Flutter打包Android Release版本时R8Task执行失败求助

Flutter打包Android Release版本时R8Task执行失败求助

我现在卡在Flutter打包Android Release版本的环节了,遇到了R8相关的执行错误,试遍了网上能找到的方法都没解决,求各位帮忙看看!

下面是我遇到的完整错误信息:

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

> 'com.android.tools.r8.R8Command$Builder com.android.tools.r8.R8Command$Builder.setEnableExperimentalMissingLibraryApiModeling(boolean)'

* 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 23s

Running Gradle task 'assembleRelease'...                           24,3s

┌─ Flutter Fix ──────────────────────────────────────────────────────────────┐

│ [!] The shrinker may have failed to optimize the Java bytecode.            │

│ To disable the shrinker, pass the `--no-shrink` flag to this command.      │

│ To learn more, see: https://developer.android.com/studio/build/shrink-code │

└────────────────────────────────────────────────────────────────────────────┘

Exception: Gradle task assembleRelease failed with exit code 1

#0      throwToolExit (package:flutter_tools/src/base/common.dart:10:3)

#1      AndroidGradleBuilder.buildGradleApp (package:flutter_tools/src/android/gradle.dart:552:7)

<asynchronous suspension>

#2      AndroidGradleBuilder.buildApk (package:flutter_tools/src/android/gradle.dart:243:5)

<asynchronous suspension>

#3      AndroidDevice.startApp (package:flutter_tools/src/android/android_device.dart:578:7)

<asynchronous suspension>

#4      FlutterDevice.runCold (package:flutter_tools/src/resident_runner.dart:534:33)

<asynchronous suspension>

#5      ColdRunner.run (package:flutter_tools/src/run_cold.dart:57:28)

<asynchronous suspension>

#6      RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:753:27)

<asynchronous suspension>

#7      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1323:27)

<asynchronous suspension>

#8      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)

<asynchronous suspension>

#9      CommandRunner.runCommand (package:args/command_runner.dart:212:13)

<asynchronous suspension>

#10     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:339:9)

<asynchronous suspension>

#11     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)

<asynchronous suspension>

#12     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:285:5)

<asynchronous suspension>

#13     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:115:9)

<asynchronous suspension>

#14     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)

<asynchronous suspension>

#15     main (package:flutter_tools/executable.dart:90:3)

<asynchronous suspension>

这是我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 GradleException("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'
// START: FlutterFire Configuration
apply plugin: 'com.google.gms.google-services'
// END: FlutterFire Configuration
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
    namespace "com.example.soliveri_app"
    compileSdk 34

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }

    kotlinOptions {
        jvmTarget = '17'
    }

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

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.example.soliveri_app"
        // You can update the following values to match your application needs.
        // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
        minSdkVersion 21
        targetSdkVersion 31
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.debug
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}

接着是根目录下的模块级build.gradle文件:

buildscript {
    ext {
        agp_version = '8.1.1'
    }
    ext.kotlin_version = '1.9.10'
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        // START: FlutterFire Configuration
        classpath 'com.google.gms:google-services:4.3.15'
        // END: FlutterFire Configuration
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "com.android.tools.build:gradle:$agp_version"
    }
}

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

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

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

我已经尝试了网上能找到的各种方法:调整Kotlin、Gradle、SDK的版本,添加ProGuard文件,但都没能解决这个问题。现在我急需生成应用的Release版本,却被这个错误卡住了,有没有大佬能指点一下?

备注:内容来源于stack exchange,提问作者Davide Resigotti

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 12:48:15