错误:在锁定文件中发现意外的锁定协议。期望值为3,但实际值为0。

96

在将Android Studio升级到1.3之后,我无法再编译我的项目了。我收到了lock file中发现了意外的锁定协议。期望3,但找到了0。。我已经尝试删除我的.gradle文件夹,但这并没有解决问题。还有其他什么我可以做吗?


如果你尝试了所有步骤和解决方案但仍然无法解决问题,可以尝试删除脚本文件夹中的所有文件(.gradle/caches/<gradle-version-like-6.5>/scripts/)。 - rivaldy
35个回答

86

我通过删除以下文件夹解决了问题:

c:\users\[myusername]\.gradle\caches\2.14.1

重新打开Android Studio后一切正常。


7
我不确定我的项目使用了哪个gradle版本。它在“文件”->“项目结构”->“项目”中(针对Android Studio 2.1.3)。 - Raul Pinto
非常感谢 @RaulPinto 提供这个至关重要的信息。 - camelCaseCoder
那是一个旧的Eclipse项目导入。在构建gradle中将构建SDK和目标SDK排列到最后之后,我遇到了这个错误。然后我只需按下“清理项目”按钮,再进行普通的'构建APK'操作,错误就消失了。 - CodeToLife
修复仍在Android Studio 3.4.2下工作。清理无效,使缓存失效并重新启动也无效。我删除了缓存中的所有文件夹,因此在重新启动后下载需要一些时间。 - FrankKrumnow
并不是真正有用的内容,我已经删除了 root@nusik-ryzen:/root/.gradle/caches# 下的所有内容。 - Nusrat Nuriyev
或者将Gradle版本文件夹重命名为例如(对于我来说)5.6.1_old。重新启动AS并打开您的项目。 Gradle缓存将被重建。我的项目在Gradle重建过程中遭遇蓝屏幕错误而被破坏。 - Roar Grønmo

49

好的,以下是非常轻量级的解决方案:

  • Ctrl+Alt+Shift+S 或者 文件->项目结构

  • 从左面板中选择项目

  • 现在在右侧面板检查你的Gradle版本

  • 在我的情况下,我的Gradle版本3.3

  • 转到C:\Users\ashish\.gradle\caches并删除名称为3.3Gradle版本命名的文件夹。

  • 现在重新启动再次打开你的项目工作区。

问候...你的问题已解决。


3
一个非常被低估的完美方法。谢谢@Ashish。 - Parth Anjaria

23

进入您的本地文件项目并搜索“.gradle”文件夹

删除它并重新启动您的IDE


22

您必须从用户目录中删除/.gradle文件夹,而不是项目文件夹。这是一个隐藏的目录,如果您使用基于Linux的系统,则位于/home/user/.gradle中,并按"alt"+"."以显示隐藏的文件夹。


1
你能帮我吗?我找不到.gradle文件夹,而且alt+ .也不起作用。 - Progga Ilma
你的操作系统是什么? - Warrocker
1
对我来说不起作用的是删除这个文件夹“.gradle”,并且执行“无效缓存/重启”,但仍然不起作用。你能帮我吗? - Waqar Vicky
在Ubuntu中,.gradle是隐藏的,您可以使用命令“ls -a”在列表中查看它,要删除它,请关闭Android Studio并在您的主目录中运行“sudo rm -rf .gradle”。 - Tigran Babajanyan

21

由于缓存文件夹中有超过200k个文件,大小超过3GB,删除缓存文件夹需要很长时间。正如Ashish提到的那样,有一种快速查看方式。

我也只在一个应用程序中遇到了这个错误。

按照以下步骤进行操作。

  1. 在您的项目中打开gradle-wrapper.properties文件。它位于Android结构中的Gradle Script中。如下图所示。

    enter image description here

  2. 在该文件中检查distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip。这里的Gradle版本是4.6。

enter image description here

3.因此,该项目的所有缓存将存储在您的C:\ Users \ Your PC Name or User Name \ .gradle \ caches \ 4.6中。如下图所示。

enter image description here

  1. 关闭您的Android Studio并删除4.6文件夹。删除后重新打开Android Studio。

就这些了。我花了6个小时来找到和删除缓存文件夹。因此,我决定发布这篇答案,以便人们不会浪费同样多的时间。


但可能是这个问题的根本原因。 - Charles
1
我认为缓存文件已经损坏了,所以我们需要将它们删除。 - sushildlh
好的,所以我们已经建立了缓存文件,但是可能会导致缓存文件损坏。 - Charles
没有想法。 - sushildlh
2
当我的电脑在编译Android Studio时崩溃,导致缓存文件损坏,@Charles为我解决了这个问题。 - juancamilo87
@juancamilo87 我也是。 - Charles

11
Delete C:\Users\user\.gradle\caches folder and restart the project.

9
在Android Studio中,点击"无效缓存/重新启动..."并确认。

这并没有解决我的问题。事实上,现在我的IDE根本无法启动! - Vijay Chavda

9
我曾经也遇到过同样的问题。删除项目的.gradle文件夹并没有解决问题。
我成功地解决了这个问题,方法是删除了C:\Users\<用户名>\.gradle文件夹,并让工作室重新刷新整个Gradle构建。我发现我在升级过程中安装了4个不同版本的Gradle。

6

我的电脑卡住后,我不得不强制重启。为了解决问题,我运行了以下命令,然后一切正常。无需重新启动Android Studio:

cd path/to/.gradle/
find . -name "*.lock" -delete 

无法在目录中找到 .gradle 文件夹,但我能够通过终端进入该目录。运行查找和删除命令,现在它可以正常工作了。谢谢! - Stigma
这对我也有用,谢谢。不过我没有使用命令行,而是使用了一个名为“Everything”的Windows应用程序,在其中搜索了“.lock C:\Users\USER.gradle\ !C:\Users\USER.gradle\caches_old”,然后选择全部删除。 - m'hd semps

5

在使用Android Studio 4.0.1时,我的电脑冻结了,我不得不强制关闭。后来我采取了以下措施解决了这个问题:从项目目录中删除.gradle文件夹,并重新构建项目。

  1. 打开项目窗格(如果尚未打开)。
  2. 从下拉菜单中选择项目视图(而非Android视图)。
  3. 第一个文件夹(红色)是.gradle,右键单击然后选择“删除”。
  4. 重新构建项目。

enter image description here


删除项目内的 .gradle 文件夹而不是 C: 目录下的可以解决我的问题,谢谢。 - Ahmad Arif Faizin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接