我想做一些基本的函数。我正在命令行中运行/构建它。我在看用户指南。还有,做一些简单的任务。
当我开始运行简单的任务时,它被成功构建。但是,在一段时间后,它会显示“它目前正在被另一个Gradle实例使用”,并变成BUILD FAILED。我正在使用终端运行任务。那时候我什么都没做。
如果我关闭产生错误的终端,这个问题就解决了。但是,我知道这不是解决办法。
为什么这个错误经常出现?
如何解决?
并且,请参考任何链接来提高我对Android中Gradle Build系统的知识。
我想做一些基本的函数。我正在命令行中运行/构建它。我在看用户指南。还有,做一些简单的任务。
当我开始运行简单的任务时,它被成功构建。但是,在一段时间后,它会显示“它目前正在被另一个Gradle实例使用”,并变成BUILD FAILED。我正在使用终端运行任务。那时候我什么都没做。
如果我关闭产生错误的终端,这个问题就解决了。但是,我知道这不是解决办法。
为什么这个错误经常出现?
如何解决?
并且,请参考任何链接来提高我对Android中Gradle Build系统的知识。
当前回答
我也遇到过同样的问题,我做了两步就解决了。
我的JDK没有安装在Mac上(我忘了安装),我安装了它。 我删除了位于这个路径/Users/icon_developer/的缓存文件夹中的所有项目。Gradle /和重建项目。 它工作!
其他回答
非常简单的解决方案:
不需要杀死Android Studio,只需杀死OpenJdkPlatform进程, 然后删除下面的.lock文件:
rootProject/.gradle/<version>/taskHistory
有时,您需要在每次构建错误后运行此代码几次
对我来说,它需要两次,首先我得到锁定错误,我运行这段代码,然后我再次得到另一个文件的锁定错误,所以我再次运行代码,在结束时它正常工作。
find ~/.gradle -type f -name "*.lock" -delete
在Mac上遇到同样的问题时,以上这些方法对我都不起作用。但是,有效的方法是打开活动监视器并关闭正在运行的java进程。我还注意到生成了一个.hprof文件,我删除了它。在那之后,我运行了我的项目,它成功了。
有时候快速的方式会带来不优雅的交易,就是这样:
首先找到所有正在运行的gradle进程的#
ps -A | grep gradle
然后,拿到身份证,一个一个杀了他们
sudo kill -9 <process ID>
现在你很好了;-)
按CTRL + SHIFT + ESC打开任务管理器,现在找到OpenJDK并杀死它到错误指向的地方
D:\.gradle\daemon\4.10.1\registry.bin.lock
删除文件并重新同步就可以了。