Flutter 构建失败。

3

我无法构建一个应用程序,因为构建失败。当构建失败时,观察到以下内容并退出代码 1:

[        ] FAILURE: Build failed with an exception.
[   +5 ms] * Where:
[        ] Script 'E:\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 1156
[        ] * What went wrong:
[        ] Execution failed for task ':app:compileFlutterBuildDebug'.
[        ] > Process 'command 'E:\flutter\bin\flutter.bat'' finished with non-zero exit value 1
[        ] * Try:
[        ] > Run with --stacktrace option to get the stack trace.
[   +1 ms] > Run with --info or --debug option to get more log output.
[   +1 ms] > Run with --scan to get full insights.
[   +1 ms] * Get more help at https://help.gradle.org
[        ] BUILD FAILED in 23s
[ +569 ms] Running Gradle task 'assembleDebug'... (completed in 24.0s)
[   +3 ms] Exception: Gradle task assembleDebug failed with exit code 1
[   +1 ms] "flutter run" took 25,982ms.
[   +5 ms]
           #0      throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
           #1      RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:699:9)
           <asynchronous suspension>
           #2      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1183:27)
           <asynchronous suspension>
           #3      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #4      CommandRunner.runCommand (package:args/command_runner.dart:209:13)
           <asynchronous suspension>
           #5      FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:281:9)
           <asynchronous suspension>
           #6      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #7      FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:229:5)
           <asynchronous suspension>
           #8      run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)
           <asynchronous suspension>
           #9      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #10     main (package:flutter_tools/executable.dart:94:3)
           <asynchronous suspension>

这是我的 build.gradle 代码:

buildscript {
    repositories {
        google()
        mavenCentral()
    }

    dependencies {gradle
        classpath 'com.android.tools.build:gradle:7.2.0'
    }
}

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

rootProject.buildDir = '../build'
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}

ext {
    flutterFFmpegPackage = "full-gpl-lts"
}

subprojects {
    project.evaluationDependsOn(':app')
}

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

subprojects {
    project.configurations.all {
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.android.support'
                    && !details.requested.name.contains('multidex')) {
                details.useVersion "26.1.0"
            }
        }
    }
}

我的Gradle包装程序:

#Fri Jun 23 08:50:38 CEST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip

Flutter doctor 显示以下内容:

[√] Flutter (Channel stable, 3.0.2, on Microsoft Windows [Version 10.0.22000.708], locale en-IN)
    • Flutter version 3.0.2 at E:\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision cd41fdd495 (4 days ago), 2022-06-08 09:52:13 -0700
    • Engine revision f15f824b57
    • Dart version 2.17.3
    • DevTools version 2.12.2

[√] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at C:\Users\earthling\AppData\Local\Android\Sdk
    • Platform android-32, build-tools 32.1.0-rc1
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)
    • All Android licenses accepted.

[X] Chrome - develop for the web (Cannot find Chrome executable at .\Google\Chrome\Application\chrome.exe)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[X] Visual Studio - develop for Windows
    X Visual Studio not installed; this is necessary for Windows development.
      Download at https://visualstudio.microsoft.com/downloads/.
      Please install the "Desktop development with C++" workload, including all of its default components

[√] Android Studio (version 2021.2)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)

[√] VS Code, 64-bit edition (version 1.68.0)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 3.42.0

[√] Connected device (3 available)
    • sdk gphone64 x86 64 (mobile) • emulator-5554 • android-x64    • Android 12 (API 32) (emulator)
    • Windows (desktop)            • windows       • windows-x64    • Microsoft Windows [Version 10.0.22000.708]
    • Edge (web)                   • edge          • web-javascript • Microsoft Edge 102.0.1245.39

应用级别的 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 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'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
    compileSdkVersion flutter.compileSdkVersion
    ndkVersion flutter.ndkVersion

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    kotlinOptions {
        jvmTarget = '1.8'
    }

    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.earthling_app_final"
        // You can update the following values to match your application needs.
        // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration.
        minSdkVersion flutter.minSdkVersion
        targetSdkVersion flutter.targetSdkVersion
        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"
}

以下已完成:
  • 通过下载flutter稳定版本3.0.2并运行flutter pub get,完全替换了flutter文件夹。
  • 删除了build文件夹。
  • 删除了pubspec.lock文件。
  • 重新运行了./gradlew :app:assembleDebug --stacktrace --warning-mode all命令。

错误仍然存在。


Gradle通常适用于其他项目或能够模拟吗?请检查您的防火墙! - Prabhakaran
Flutter运行成功了吗? - Prabhakaran
尝试将您的Gradle版本降级到低于7的版本。 - Prabhakaran
我将其更改为6.0-all并运行了flutter run -v。没有变化。 - Earthling
嗨。使用详细信息(verbose)更新了Flutter Doctor。 - Earthling
显示剩余15条评论
1个回答

0
请备份您的项目。运行 flutter create .。这将创建所有缺失的文件。作为替代,创建一个新的3.0.2项目,并将文件复制到新项目中,然后尝试构建它。

做了这件事。使用“全部替换”选项将旧备份恢复到新创建的Flutter文件夹中。希望这是正确的操作方式? - Earthling
创建一个空项目并构建它。构建结果是否符合预期? - Kaushik Chandru
这是错误信息:“在分析 'e:\App Development\my_app_final' 时,在 'e:\App Development\my_app_final\analysis_options.yaml' 中包含的文件 'package:flutter_lints/flutter.yaml' 找不到”。 - Earthling
我将flutter_lint的include语句注释掉了,但原始错误仍然存在。 - Earthling
请运行 flutter run -v 并在此处发布结果。 - Kaushik Chandru
显示剩余10条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接