Android Studio Project的Gradle守护程序无法启动

Android Studio Project的Gradle守护程序无法启动

问题描述:

好的,Android的新手.全新安装,Windows 10基本模板项目,活动为空.当我启动项目时,它将开始gradle同步并开始在gradle主页中生成日志,并显示以下错误

Okay, new to Android. Fresh install, Windows 10, basic template project with an empty activity. When I start the project it starts gradle sync and starts generating logs in my gradle home with the following error

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.server.DaemonTcpServerConnector$1.execute(DaemonTcpServerConnector.java:73)
    at org.gradle.launcher.daemon.server.DaemonTcpServerConnector$1.execute(DaemonTcpServerConnector.java:69)
    at org.gradle.internal.remote.internal.inet.TcpIncomingConnector$Receiver.run(TcpIncomingConnector.java:112)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
    at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: Unable to establish loopback connection
    at sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.java:101)
    at sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.java:68)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.nio.ch.PipeImpl.<init>(PipeImpl.java:170)
    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)
    ... 9 more
Caused by: java.net.SocketException: Permission denied: connect
    at sun.nio.ch.Net.connect0(Native Method)
    at sun.nio.ch.Net.connect(Net.java:454)
    at sun.nio.ch.Net.connect(Net.java:446)
    at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
    at java.nio.channels.SocketChannel.open(SocketChannel.java:189)
    at sun.nio.ch.PipeImpl$Initializer$LoopbackConnector.run(PipeImpl.java:130)
    at sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.java:83)
    ... 19 more

当我对gradlew.bat文件运行基本gradle命令时,会遇到相同的错误,但是当我先运行set _JAVA_OPTIONS=-Djava.net.preferIPv4Stack=true时,它将成功启动守护程序.问题是,我如何使用该信息来使gradle在项目上同步.我尝试将-Djava.net.preferIPv4Stack = true添加到gradle.properties文件中,尝试将set _JAVA_OPTIONS=-Djava.net.preferIPv4Stack=true添加到项目gradle批处理文件中,现在我没有选择了.

I get the same error when I run the basic gradle command against the gradlew.bat file, but when I run set _JAVA_OPTIONS=-Djava.net.preferIPv4Stack=true first then it starts the daemon successfully. Question is, how do I use that information to make the gradle sync on the project work. I've tried adding -Djava.net.preferIPv4Stack=true to the gradle.properties file, tried adding set _JAVA_OPTIONS=-Djava.net.preferIPv4Stack=true to the projects gradle batch file, and now I'm out of options.

好的,终于明白了.我去了环境变量,并用-Djava.net.preferIPv4Stack = true作为值设置了_JAVA_OPTS用户变量.

Okay, finally figured it out. I went to environment variables and set a _JAVA_OPTS user variable with -Djava.net.preferIPv4Stack=true as the value.