运行 我的第一个 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。
我要确切地说出我是如何克服这个问题的。有些步骤可能不是必需的,但我做了所有这些:
- unistall flutter 和 android studio
- 安装最新版本的(android studio 和 flutter)
- 然后添加
maven {
url 'http://download.flutter.io'
}
在您的 build.gradle 文件中
然后将编译和目标 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
当我尝试 运行 在 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。
我要确切地说出我是如何克服这个问题的。有些步骤可能不是必需的,但我做了所有这些:
- unistall flutter 和 android studio
- 安装最新版本的(android studio 和 flutter)
- 然后添加
maven { url 'http://download.flutter.io' }
在您的 build.gradle 文件中
然后将编译和目标 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