我想做一些基本的函数。我正在命令行中运行/构建它。我在看用户指南。还有,做一些简单的任务。
当我开始运行简单的任务时,它被成功构建。但是,在一段时间后,它会显示“它目前正在被另一个Gradle实例使用”,并变成BUILD FAILED。我正在使用终端运行任务。那时候我什么都没做。
如果我关闭产生错误的终端,这个问题就解决了。但是,我知道这不是解决办法。
为什么这个错误经常出现?
如何解决?
并且,请参考任何链接来提高我对Android中Gradle Build系统的知识。
我想做一些基本的函数。我正在命令行中运行/构建它。我在看用户指南。还有,做一些简单的任务。
当我开始运行简单的任务时,它被成功构建。但是,在一段时间后,它会显示“它目前正在被另一个Gradle实例使用”,并变成BUILD FAILED。我正在使用终端运行任务。那时候我什么都没做。
如果我关闭产生错误的终端,这个问题就解决了。但是,我知道这不是解决办法。
为什么这个错误经常出现?
如何解决?
并且,请参考任何链接来提高我对Android中Gradle Build系统的知识。
当前回答
当终止进程和/或删除锁文件工作时,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课程,如果你有时间的话。
其他回答
非常简单的解决方案:
不需要杀死Android Studio,只需杀死OpenJdkPlatform进程, 然后删除下面的.lock文件:
rootProject/.gradle/<version>/taskHistory
Windows用户:
Gradle失败消息后面通常跟着相关的进程id,所以应该是这样 Gradle同步失败:超时等待锁定守护进程地址注册表[…] 它目前正在被另一个Gradle实例使用。
Owner PID: 8080
Our PID: 89765
Owner Operation: ...
In order to unlock, just kill the owner process:
taskkill /PID 8080 /F
taskkill /PID 89765 /F
这些答案我都试过了,包括杀死java进程,在HOME_DIR和project dir中删除.gradle,重启Android Studio,甚至重启OS。
它开始正常工作后,我启动gradle同步。
打开终端,移动到项目路径,然后根据操作系统运行: Gradlew clean或。/ Gradlew clean
我在mac上也遇到了同样的问题:
注意,你的项目不是在一个外部硬盘上。项目的位置必须在带有操作系统的硬盘上。
(构建Ionic应用程序)