一个问题发生在配置根项目'android'的Flutter过程中。

11

我遇到了这个错误,请问有什么解决方法吗?

在调试模式下启动sdk gphone x86上的lib\main.dart...

失败:出现异常。

BUILD FAILED in 21m 37s Gradle任务assembleDebug退出代码为1 已退出(sigterm)

6个回答

10

无论是第一次还是不是第一次运行应用程序,当您点击“运行”时,您会收到一个X gradle构建错误。如果您的错误中有以下任何一行甚至一行,则请尝试此解决方案。

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


解决方案

前往此位置:.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 更改为以下内容(不用担心代码与此不完全相同,只需在指定位置添加指定行即可)。

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


我在这篇文章中解释了所有的内容:[链接]https://dev59.com/Q7roa4cB1Zd3GeqPbgAP - Hossein Seifi
1
我直接尝试了第二个选项,对我来说很有效。谢谢 :) - Gulnaz Ghanchi

4

只需在Android Studio或VScode中执行Flutter clean


3
如果您已经在build.gradle文件的buildscripts{...}allprojects{...}中添加了mavenCentral(),那么请在每个mavenCentral()之后添加jcenter()
或者相反地,也可以先添加jcenter(),再添加mavenCentral()

0

我通过删除C:user/目录下的.gradle文件夹解决了这个问题。


目前你的回答不够清晰,请编辑并添加更多细节,以帮助其他人理解它如何回答问题。你可以在帮助中心找到有关如何撰写好答案的更多信息。 - Community

0

如果你在插件中也遇到了AndroidX的不兼容问题,那么请关注以下版本:

  1. 将app\build.gradle中的compileSdkVersion 30更改为相应的版本

  2. 尝试相应更改下列依赖关系

    dependencies { classpath 'com.android.tools.build:gradle:4.1.0'

    }

  3. 尝试在gradle->wrapper->gradle-wrapper.properties中更改gradle版本

distributionUrl=https://services.gradle.org/distributions/gradle-6.6.1-all.zip


0

我通过在 androidManifest.xml 中添加 <uses-permission android:name="android.permission.INTERNET" /> 解决了这个问题。


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