首页 > 解决方案 > 在构建 VSCode 和 Android Studio (Flutter) 的 gradle 时,配置根项目“android”时出现问题

问题描述

今天开始学习Flutter并成功下载了一切。但是当我运行我的应用程序时,调试器(两者VSCodeAndroid Studio)给了我这个错误。

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)

这是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
}


任何帮助将不胜感激,因为我试图解决这个问题 6 小时!

注意:- 这是我在 Flutter 和 Android Studio 中的第一个应用程序,VSCode

标签: androidandroid-studiofluttergradlevisual-studio-code

解决方案


所以在找到答案后回答我自己的问题,我来这里是为了帮助别人

不管是不是第一次。当您单击应用程序上的运行时,您会收到 X gradle build 错误如果您的错误中有以下任何行,即使是单行,请尝试此解决方案

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

去这个位置:- .flutter/packages/flutter_tools/gradle/flutter.gradle **

  1. 在对其进行编辑之前将文件备份到另一个位置
  2. 搜索一个叫做buildscript;
  3. 它应该像那样出现(或类似的,别担心你有备份文件)

并覆盖此代码

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

有了这个

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

还是你的问题没有解决?如果已解决,请不要尝试下一个,否则请尝试。(即使这不起作用,然后将备份文件放在它的位置,看看它是否工作)

然后在您的android文件夹中转到build.gradle(在您的项目文件中转到 android/build.gradle)并将其更改buildscript为这个(不要担心代码不是 100% 像这样。只需在显示的位置添加指定的行就可以了)

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


推荐阅读