我想做一些基本的函数。我正在命令行中运行/构建它。我在看用户指南。还有,做一些简单的任务。
当我开始运行简单的任务时,它被成功构建。但是,在一段时间后,它会显示“它目前正在被另一个Gradle实例使用”,并变成BUILD FAILED。我正在使用终端运行任务。那时候我什么都没做。
如果我关闭产生错误的终端,这个问题就解决了。但是,我知道这不是解决办法。
为什么这个错误经常出现?
如何解决?
并且,请参考任何链接来提高我对Android中Gradle Build系统的知识。
我想做一些基本的函数。我正在命令行中运行/构建它。我在看用户指南。还有,做一些简单的任务。
当我开始运行简单的任务时,它被成功构建。但是,在一段时间后,它会显示“它目前正在被另一个Gradle实例使用”,并变成BUILD FAILED。我正在使用终端运行任务。那时候我什么都没做。
如果我关闭产生错误的终端,这个问题就解决了。但是,我知道这不是解决办法。
为什么这个错误经常出现?
如何解决?
并且,请参考任何链接来提高我对Android中Gradle Build系统的知识。
当前回答
只是杀死java.exe进程修复我的问题。
——编辑——
如果没有修复,则:
关闭OpenJdkPlatform进程。
如果没有修复,则:
删除所有”。(windows: c:\ users \用户名\.gradle)。
如果没有修复,则:
重命名或删除.gradle目录后重试。
其他回答
对于MAC电脑
请打开“Activity Monitor”,选择“memory”选项,强制静音Android studio和其他正在运行的java进程,就可以解决这个问题。
我被这个错误所困扰,不得不删除用户的.gradle/caches/文件夹的内容和项目的.gradle/文件夹的内容才能继续运行。
不知道是什么引起的,可能是一个失败的构建,使这些文件处于锁定状态?
当终止进程和/或删除锁文件工作时,Gradle应该能够自己处理这个问题,永久地解决这个问题。这个问题报告暗示了解决方案:Gradle无法与Gradle服务通信。
检查一下您本地的网络防火墙。就我而言,
允许从127.0.0.1到127.0.0.1的出站流量, sudo iptables -A OUTPUT -p udp -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT 允许来自127.0.0.1的传入流量 sudo iptables -A INPUT -s 127.0.0.1 -p udp -j ACCEPT
解决了这个问题。github上关于类似问题的讨论。
并且,请参考任何链接来提高我对Android中Gradle Build系统的知识。
udacity gradle课程,如果你有时间的话。
Windows操作系统:
我认为它与一个锁文件有关,所以我只是去了项目文件夹中的.gradle\buildOutputCleanup,删除了cache.properties.lock文件并重新构建了项目。它工作得很完美。
除了上面的答案,你还需要弄清楚为什么gradle进程退出而不释放锁来永久修复它。
在我的情况下,我做了所有*。锁定文件删除和Android Studio的无效缓存选项。但问题不断出现。
在终端中手动运行gradlew显示,当JVM堆空间耗尽时,gradle进程会过早退出。这个回答帮助解决了这个问题。
./gradlew build #to detect what crashes gradle processes
./gradlew --stop #to stop any running gradle processes
在解决问题后(例如:堆耗尽)
find .gradle/ -type f -name "*.lock" -delete #delete lock files
./gradlew build #Try building the project