【问题标题】:Flutter: Task 'assembleStageDebug' not found in root project 'android'Flutter:在根项目“android”中找不到任务“assembleStageDebug”
【发布时间】:2020-11-10 15:34:06
【问题描述】:

我正在尝试在 Android 设备上使用颤振制作的应用程序,当我尝试在手机上运行该应用程序时,我收到以下错误 “在根项目 'android' 中找不到任务 'assembleStageDebug'。”

我的应用在 iOS 上运行良好,但在 android 上运行时,它会导致问题。颤振医生没有发现任何问题,似乎没有人和我有同样的问题。我首先面临“不支持的Android插件版本:4.0.1”的问题。我被告知通过运行 -> 编辑配置 -> 风味添加风味并将名称添加到风味并使用 flutter run --flavor "flavor_name" 运行应用程序,这导致了此错误。提前致谢!

错误信息

FAILURE: Build failed with an exception.                                
                                                                        
* What went wrong:                                                      
Task 'assembleStageDebug' not found in root project 'android'.          
                                                                        
* Try:                                                                  
Run gradlew tasks to get a list of available tasks. 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 1s                                                      
Running Gradle task 'assembleStageDebug'...                             
Running Gradle task 'assembleStageDebug'... Done                    2.4s

[!]  Gradle project does not define a task suitable for the requested build.
The android/app/build.gradle file does not define any custom product flavors. You cannot use the --flavor option.
Gradle task assembleStageDebug failed with exit code 1

颤振医生

[✓] Flutter (Channel stable, v1.12.13+hotfix.5, on Mac OS X 10.15.5 19F101, locale en-IN)
    • Flutter version 1.12.13+hotfix.5 at /Users/apple/Documents/flutter
    • Framework revision 27321ebbad (7 months ago), 2019-12-10 18:15:01 -0800
    • Engine revision 2994f7e1e6
    • Dart version 2.7.0

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/apple/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.3.1, Build version 11C504
    • CocoaPods version 1.9.1

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] Connected device (2 available)
    • A1601             • HMG6NJZPTCWWNRJJ                     • android-arm64 • Android 5.1 (API 22)
    • iPhone 11 Pro Max • BC0BB924-53E6-4FEB-98BD-7873F1B272A3 • ios           • com.apple.CoreSimulator.SimRuntime.iOS-13-3 (simulator)

• No issues found!
Process finished with exit code 0

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'
apply plugin: 'com.google.gms.google-services'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"


android {
    compileSdkVersion 29

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

    lintOptions {
        disable 'InvalidPackage'
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.enigma.vibing"
        minSdkVersion 16
        targetSdkVersion 29
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        ndkVersion '21.3.6528147'
        ndk {
            abiFilters 'x86', 'armeabi-v7a'
        }
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }

    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
            minifyEnabled true
            useProguard true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    splits {
        abi {
            enable true
            reset()
            include 'x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'mips', 'mips64', 'arm64-v8a'
            universalApk true
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.google.firebase:firebase-analytics:17.4.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.2.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    implementation 'com.android.support:multidex:1.0.3'
}

Android/build.gradle

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

    dependencies {
        classpath 'com.android.tools.build:gradle:4.0.1'
        classpath 'com.google.gms:google-services:4.3.3'
    }
}

allprojects {
    repositories {
        google()
        jcenter()

    }
}


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

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

【问题讨论】:

  • 我以前也遇到过同样的问题。我做了颤振升级,它解决了问题。

标签: android flutter gradle android-gradle-plugin


【解决方案1】:

我的问题是我在根项目下没有 settings.gradle 所以,在根项目下添加该文件并在其中添加这一行

include ':app'

希望它有效。

【讨论】:

    【解决方案2】:

    问题是因为你在android/app/build.gradle/中没有提到flavorDimensions

    我希望您已经为您的项目正确创建了flavor。如果没有,请阅读这篇文章和set up your flavor

    设置您的flavor 后,您需要将此代码添加到android/app/build.gradle/android 部分。

    flavorDimensions "default"
        productFlavors {
            dev {
                dimension "default"
                versionNameSuffix "--dev"
            }
            stage {
                dimension "default"
                versionNameSuffix "--stage"
            }
            prod {
                dimension "default"
            }
        }
    

    将此作为您的代码

    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'
    apply plugin: 'com.google.gms.google-services'
    apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
    
    
    android {
        compileSdkVersion 29
    
        sourceSets {
            main.java.srcDirs += 'src/main/kotlin'
        }
    
        lintOptions {
            disable 'InvalidPackage'
        }
    
        defaultConfig {
            // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
            applicationId "com.enigma.vibing"
            minSdkVersion 16
            targetSdkVersion 29
            versionCode flutterVersionCode.toInteger()
            versionName flutterVersionName
            ndkVersion '21.3.6528147'
            ndk {
                abiFilters 'x86', 'armeabi-v7a'
            }
            testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
            multiDexEnabled true
        }
    
        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
                minifyEnabled true
                useProguard true
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
        //Add this code for flavor
        flavorDimensions "default"
        productFlavors {
            dev {
                dimension "default"
                versionNameSuffix "--dev"
            }
            stage {
                dimension "default"
                versionNameSuffix "--stage"
            }
            prod {
                dimension "default"
            }
        }
        splits {
            abi {
                enable true
                reset()
                include 'x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'mips', 'mips64', 'arm64-v8a'
                universalApk true
            }
        }
    }
    
    flutter {
        source '../..'
    }
    
    dependencies {
        implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
        implementation 'com.google.firebase:firebase-analytics:17.4.3'
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'androidx.test:runner:1.2.0'
        androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
        implementation 'com.android.support:multidex:1.0.3'
    }
    

    运行flutter clean 并重新运行应用程序,它将被修复。

    【讨论】:

      【解决方案3】:

      使用 android studio 运行 flutter 尝试进入你的项目结构并将项目 SDK 更改为 Android API 27 平台然后应用并重新运行应用程序

      【讨论】:

        【解决方案4】:

        试试:

        flutter upgrade

        然后

        flutter run -v

        这对你有帮助

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-10-05
          • 2017-08-17
          • 2020-08-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-01-26
          相关资源
          最近更新 更多