A problem occurred configuring root project 'a

2020-07-30 14:39发布

问题:

Today I started learning Flutter and successfully downloaded everything. But when I run my app the Debugger (Both VSCode and Android Studio) give me this error.

Launching lib\main.dart on sdk gphone x86 in debug mode...

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'android'.
> Could not resolve all artifacts for configuration ':classpath'.
   > Could not download builder.jar (com.android.tools.build:builder:3.5.0)
      > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/3.5.0/builder-3.5.0.jar'.
         > Premature end of Content-Length delimited message body (expected: 8174407; received: 4456416
   > Could not download bundletool.jar (com.android.tools.build:bundletool:0.9.0)
      > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/bundletool/0.9.0/bundletool-0.9.0.jar'.
         > Premature end of Content-Length delimited message body (expected: 5248142; received: 4456416

* 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 21m 37s
Gradle task assembleDebug failed with exit code 1
Exited (sigterm)

And this is build.gradle

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

    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

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
}


Any help would be much appreciated since I'm trying to solve this issue for 6 hours!

Note:- This is my first app ever in Flutter and in Android Studio, VSCode

回答1:

So to answer my own question after finding the answer I came here to help others

Whether the first time or not. When you click run on your application you get an X gradle build error If you have any of the following lines in your error even a single line then try this solution

Launching lib\main.dart on sdk gphone x86 in debug mode...

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'android'.
> Could not resolve all artifacts for configuration ':classpath'.
   > Could not download builder.jar (com.android.tools.build:builder:3.5.0)
      > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/3.5.0/builder-3.5.0.jar'.
         > Premature end of Content-Length delimited message body (expected: 8174407; received: 4456416
   > Could not download bundletool.jar (com.android.tools.build:bundletool:0.9.0)
      > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/bundletool/0.9.0/bundletool-0.9.0.jar'.
         > Premature end of Content-Length delimited message body (expected: 5248142; received: 4456416


SOLUTION

Go this location:- .flutter/packages/flutter_tools/gradle/flutter.gradle **

  1. Backup the file in another place before making edits to it
  2. Search for something called buildscript;
  3. It should come up like that (or similar, don't worry you have a backup file)

and overwrite this code

 buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
    }
}

With this

 buildscript {
    repositories {
        maven {
            url 'https://dl.google.com/dl/android/maven2'
        }
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
    }
}

Still, your problem is not solved? If it was solved DON'T try the next one if not then try it. (And even if this didn't work then put the backup file in its place and see if it's working)

Then in your android folder go to build.gradle (in your project files go to android/build.gradle) and change the buildscript to this (Don't worry about the code not being 100% like this. Just add the specified line in the shown location and that's it)

buildscript {
    repositories {
        google()
        mavenCentral()  //add this line
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1' // Doesn't matter what you have here
    }
}



回答2:

In android Studio: Modify android\build.gradle in this way to solve this issue.

buildscript {

        repositories {
            google()
            mavenCentral()   //Add.
            jcenter()

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

    allprojects {
        repositories {
            google()
            mavenCentral()  //Add
            jcenter()
        }
    }

I had same issue and resolved it by updating this file. This issue is solved at https://github.com/flutter/flutter/issues/51604