运行 我的第一个 Flutter 应用遇到了麻烦

having trouble to run my first flutter app

当我尝试 运行 在 android studio 或命令行中 flutter 运行[=36= 的 flutter 项目时,我遇到了一个错误] 它给了我这个错误

  Exception in thread "main" java.net.SocketException: Unexpected end of file from server
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:851)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678)
at sun.net.www.protocol.http.HttpURLConnection.doTunneling(HttpURLConnection.java:2055)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:183)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1564)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:263)
at org.gradle.wrapper.Download.downloadInternal(Download.java:58)
at org.gradle.wrapper.Download.download(Download.java:44)
at org.gradle.wrapper.Install.call(Install.java:61)
at org.gradle.wrapper.Install.call(Install.java:48)
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
at org.gradle.wrapper.Install.createDist(Install.java:48)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:128)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)

已完成,出现错误:Gradle 任务 assembleDebug 失败,退出代码为 1

flutter doctor -v的输出

[√] Flutter(频道稳定,v1.12.13+hotfix.9,在 Microsoft Windows [版本 10.0.17134.1425],语言环境 en-US) • Flutter 版本 1.12.13+hotfix.9 在 C:\src\flutter • 框架修订版 f139b11009(5 周前),2020-03-30 13:57:30 -0700 • 引擎版本af51afceb8 • Dart 版本 2.7.2

[√] Android 工具链 - 为 Android 设备开发(Android SDK 版本 29.0.3) • Android SDK 在 C:\Users\win10\AppData\Local\Android\android-sdk • Android NDK 位置未配置(可选;对本机分析支持很有用) • 平台 android-29,构建工具 29.0.3 • ANDROID_HOME = C:\Users\win10\AppData\Local\Android\android-sdk • Java 二进制文件位于:C:\Program Files\Android\Android Studio\jre\bin\java • Java 版本 OpenJDK 运行时环境(build 1.8.0_212-release-1586-b04) • 已接受所有 Android 个许可。

[√] Android 工作室(3.6 版) • Android Studio 位于 C:\Program Files\Android\Android Studio • Flutter 插件版本 45.1.1 • Dart 插件版本 192.7761 • Java 版本 OpenJDK 运行时环境(build 1.8.0_212-release-1586-b04)

[√] VS Code,64位版(1.34.0版本) • VS Code 位于 C:\Program Files\Microsoft VS Code • Flutter 扩展版本 3.2.0

[√] 连接设备(可用1个) • Android 为 x86 构建的 SDK • emulator-5554 • android-x86 • Android 8.1.0 (API 27)(模拟器)

• 未发现问题!

PS: 不久前我遇到了另一个问题,所以我像这样更改了 flutter.gradle 文件

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

您的 Gradle 文件似乎已损坏。

这是您需要做的:

open $HOME/.gradle/wrapper/dists and delete gralde-xxx-all . then execute command: flutter run again.

更多信息here

我要确切地说出我是如何克服这个问题的。有些步骤可能不是必需的,但我做了所有这些:

  1. unistall flutter 和 android studio
  2. 安装最新版本的(android studio 和 flutter)
  3. 然后添加

maven { url 'http://download.flutter.io' }

在您的 build.gradle 文件中

  1. 然后将编译和目标 sdk 版本更改为 29(只需找到它们并将 29 替换为 28) C:\用户\$USER\AndroidStudioProjects\$projectname\android\app\build.gradle 像这样

    compileSdkVersion 29 targetSdkVersion 29

我就是这样解决的。我希望它也适用于你们。

进入您的项目文件夹并在

gradle wrapper gradle-wrapper

更改号码: distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip