Gradle报错:java.io.IOException: Unable to establish loopback connection

先说下问题原因:
总结起来就是jvm无法访问127.0.0.1
有可能出现的情况:

  • 1.java被禁网了。。。。我就是这样浪费了三天时间
  • 2.防火墙问题
  • 3.ipv6的问题
    • …其他的反正跟网络有关的问题
错误信息大概如下
Starting a Gradle Daemon, 1 incompatible and 1 stopped Daemons could not be reused, use --status for details

FAILURE: Build failed with an exception.

* What went wrong:
java.io.IOException: Unable to establish loopback connection

* Try:
Run with --info or --debug option to get more log output.

* Exception is:
org.gradle.api.UncheckedIOException: java.io.IOException: Unable to establish loopback connection
        at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:43)
        at org.gradle.internal.remote.internal.inet.SocketConnection.<init>(SocketConnection.java:60)
        at org.gradle.internal.remote.internal.inet.SocketConnectCompletion.create(SocketConnectCompletion.java:39)
        at org.gradle.launcher.daemon.client.DefaultDaemonConnector.connectToDaemon(DefaultDaemonConnector.java:255)
        at org.gradle.launcher.daemon.client.DefaultDaemonConnector.connectToDaemonWithId(DefaultDaemonConnector.java:24
1)
        at org.gradle.launcher.daemon.client.DefaultDaemonConnector.startDaemon(DefaultDaemonConnector.java:213)
        at org.gradle.launcher.daemon.client.DefaultDaemonConnector.connect(DefaultDaemonConnector.java:130)
        at org.gradle.launcher.daemon.client.DaemonClient.execute(DaemonClient.java:127)
        at org.gradle.launcher.daemon.client.DaemonClient.execute(DaemonClient.java:81)
        at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:51)
        at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:173)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:24
4)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:21
7)
        at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:33)
        at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:210)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:174)
        at org.gradle.launcher.Main.doAction(Main.java:33)
        at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:60)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:37)
        at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
Caused by: java.io.IOException: Unable to establish loopback connection
        at sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.java:94)
        at sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.java:61)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.nio.ch.PipeImpl.<init>(PipeImpl.java:171)
        at sun.nio.ch.SelectorProviderImpl.openPipe(SelectorProviderImpl.java:50)
        at java.nio.channels.Pipe.open(Pipe.java:155)
        at sun.nio.ch.WindowsSelectorImpl.<init>(WindowsSelectorImpl.java:127)
        at sun.nio.ch.WindowsSelectorProvider.openSelector(WindowsSelectorProvider.java:44)
        at java.nio.channels.Selector.open(Selector.java:227)
        at org.gradle.internal.remote.internal.inet.SocketConnection$SocketInputStream.<init>(SocketConnection.java:142)

        at org.gradle.internal.remote.internal.inet.SocketConnection.<init>(SocketConnection.java:58)
        ... 26 more
Caused by: java.io.IOException: 远程主机强迫关闭了一个现有的连接。
        at sun.nio.ch.SocketDispatcher.read0(Native Method)
        at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
        at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
        at sun.nio.ch.IOUtil.read(IOUtil.java:197)
        at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
        at sun.nio.ch.PipeImpl$Initializer$LoopbackConnector.run(PipeImpl.java:137)
        at sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.java:76)
        ... 36 more

总结:有时候过得太仔细不一定是什么好事~
好了 要去补上三天的工作了
~

Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this source! Launching lib\main.dart on AOSP on IA Emulator in debug mode... Support for Android x86 targets will be removed in the next stable release after 3.27. See https://github.com/flutter/flutter/issues/157543 for details. Running Gradle task 'assembleDebug'... ????: ?????????????????? worker.org.gradle.process.internal.worker.GradleWorkerMain ???: java.lang.ClassNotFoundException: worker.org.gradle.process.internal.worker.GradleWorkerMain Could not write standard input to Gradle Worker Daemon 3. java.io.IOException: �ܵ����ڱ��رա� at java.base/java.io.FileOutputStream.writeBytes(Native Method) at java.base/java.io.FileOutputStream.write(Unknown Source) at java.base/java.io.BufferedOutputStream.flushBuffer(Unknown Source) at java.base/java.io.BufferedOutputStream.implFlush(Unknown Source) at java.base/java.io.BufferedOutputStream.flush(Unknown Source) at org.gradle.process.internal.streams.ExecOutputHandleRunner.forwardContent(ExecOutputHandleRunner.java:68) at org.gradle.process.internal.streams.ExecOutputHandleRunner.run(ExecOutputHandleRunner.java:53) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:61) at java.base/java.lang.Thread.run(Unknown Source) FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':gradle:compileGroovy'. > Failed to run Gradle Worker Daemon > Process 'Gradle Worker Daemon 3' finished with non-zero exit value 1 * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug
03-18
### 解决 Flutter 项目中 Gradle 构建失败的问题 Gradle 构建失败通常由多种原因引起,例如不兼容的 JDK 版本、Gradle 配置错误或其他环境设置问题。以下是针对此问题的具体分析和解决方案。 #### 可能的原因及解决方法 1. **JDK 版本不匹配** 错误消息提到 `Unsupported class file major version 65` 表明当前使用的 JDK 版本可能过高或过低[^1]。Java 的 `class file major version 65` 对应于 Java 17 或更高版本。如果您的项目配置仍依赖较旧的 JDK(如 JDK 8),则可能会发生此类冲突。 调整 JDK 版本至与项目需求一致: - 如果您正在使用 Android Studio,请通过以下路径更改 JDK 设置: `File -> Project Structure -> SDK Location -> JDK location` 并选择合适的 JDK 版本。 - 推荐使用 JDK 11,因为它是目前大多数 Android 和 Flutter 工具链支持的最佳版本。 2. **Gradle 插件版本不匹配** 某些情况下,项目的 `build.gradle` 文件中的 Gradle 插件版本可能已过时或无法适配最新的工具链。建议更新到最新稳定版的 Gradle 插件并验证其兼容性。 修改根目录下的 `build.gradle` 文件以指定插件版本: ```groovy buildscript { dependencies { classpath 'com.android.tools.build:gradle:7.4.0' // 使用最新稳定的 Gradle 插件版本 } } ``` 3. **清理缓存和重新构建** 缓存文件损坏也可能引发类似的构建错误。尝试清除 Gradle 缓存并通过命令行强制重建项目: ```bash flutter clean ./gradlew --stop rm -rf ~/.gradle/caches/ flutter pub get flutter run ``` 上述操作会停止所有运行中的 Gradle 守护进程,并删除本地缓存数据以便重新下载必要的依赖项。 4. **检查 Groovy 支持** 报错涉及 `/app_plugin_loader.groovy` 文件,这表明可能存在 Groovy 脚本解析异常的情况。确认所用的 Groovy 版本是否满足最低要求,并确保该脚本语法无误。 5. **升级 Flutter 和 Dart SDK** 过期的 Flutter/Dart SDK 可能存在未修复的 Bug 导致上述问题。执行如下命令来获取最新版本: ```bash flutter upgrade dart --version ``` #### 总结 综合以上措施可以有效缓解因 Gradle 执行失败而导致的构建问题。务必逐一排查潜在因素直至恢复正常工作流。 ```python print("If the issue persists after applying these fixes, consider consulting official documentation or community forums.") ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值