Flutter: Task 'assembleStageDebug' not found in root project 'android'

5,272

The issue is because you have not mentioned the flavorDimensions in android/app/build.gradle/

I hope you have created the flavor properly for your project. If not, then read this article and set up your flavor.

After setting up your flavor, you need to add this code into your android/app/build.gradle/ in the android section.

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

Use this as your code

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'
}

Run flutter clean and re-run the app and it will be fixed.

Share:
5,272
Rohit Varma
Author by

Rohit Varma

Updated on December 22, 2022

Comments

  • Rohit Varma
    Rohit Varma over 1 year

    I was trying my app which is made on flutter on an android device and when I tried running the app on my mobile, I am getting the following error "Task 'assembleStageDebug' not found in root project 'android'. "

    my app works well on iOS but when running it on android, it is causing the problem. The flutter doctor detected no issues and no one seems to have the same problem as I do. I was first facing the problem of " Unsuported Android Plugin version: 4.0.1.". I was told to add a flavor by going to run -> edit config -> flavors and added the name to the flavor and ran the app using flutter run --flavor "flavor_name" which resulted in this error. Thanks in advance!

    Error Message

    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 Doctor

    [✓] 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
    }