我想做一些基本的函数。我正在命令行中运行/构建它。我在看用户指南。还有,做一些简单的任务。
当我开始运行简单的任务时,它被成功构建。但是,在一段时间后,它会显示“它目前正在被另一个Gradle实例使用”,并变成BUILD FAILED。我正在使用终端运行任务。那时候我什么都没做。
如果我关闭产生错误的终端,这个问题就解决了。但是,我知道这不是解决办法。
为什么这个错误经常出现?
如何解决?
并且,请参考任何链接来提高我对Android中Gradle Build系统的知识。
我想做一些基本的函数。我正在命令行中运行/构建它。我在看用户指南。还有,做一些简单的任务。
当我开始运行简单的任务时,它被成功构建。但是,在一段时间后,它会显示“它目前正在被另一个Gradle实例使用”,并变成BUILD FAILED。我正在使用终端运行任务。那时候我什么都没做。
如果我关闭产生错误的终端,这个问题就解决了。但是,我知道这不是解决办法。
为什么这个错误经常出现?
如何解决?
并且,请参考任何链接来提高我对Android中Gradle Build系统的知识。
当前回答
Mac用户在第一次Gradle同步
我在使用IntelliJ从GitLab克隆时也遇到了同样的问题。 事实上,正如这里提到的:https://stackoverflow.com/a/53269914/2231299 需要指定内部硬盘。
在我的例子中,步骤如下:
•本地克隆
•等待1st gradle同步执行
•移动目录到外部硬盘
•在新位置重新打开项目,然后gradle应该工作正常,即使是在外部硬盘上。
评论: 如果文件看起来有一些变化,不要害怕重新提交。这可能只是缩进或换行的问题,因为你的外部磁盘可能与你原来的mac磁盘有不同的格式。
其他回答
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
我在我的项目中也面临着同样的问题,但我通过使项目无效来解决这个问题,所以在android studio中遵循以下步骤
File -> Invalidate cache / Restart…
Android工作室将重新启动,您的问题应该得到解决。
有时候快速的方式会带来不优雅的交易,就是这样:
首先找到所有正在运行的gradle进程的#
ps -A | grep gradle
然后,拿到身份证,一个一个杀了他们
sudo kill -9 <process ID>
现在你很好了;-)
有时,您需要在每次构建错误后运行此代码几次
对我来说,它需要两次,首先我得到锁定错误,我运行这段代码,然后我再次得到另一个文件的锁定错误,所以我再次运行代码,在结束时它正常工作。
find ~/.gradle -type f -name "*.lock" -delete
我没有必要删除任何文件来修复这个错误。
我遇到的问题是Gradle实例挂起了,并且在我的任务列表中有6个命令提示项,这些命令提示项是由Java生成的。
强制关闭命令提示符实例允许我像往常一样继续工作。