在Android Studio 4.1中,扫描文件以建立索引永远无法结束。

13

我正在使用cocos2d-x v4,macOS Catalina 10.15.6,Android Studio 4.1。

我用cocos2d-x v4制作了一个项目。

我正在使用Android Studio构建一个Android应用程序。

直到几天前一切正常,但在升级到Android Studio 4.1后,一切都出了问题。

当我打开项目时,在Android Studio底部显示"正在扫描文件以进行索引...",但永远无法结束。

左侧的Android选项卡始终显示"加载中..."

输入图像描述 输入图像描述

我尝试了以下方法,但都没有解决问题:

  • 无效缓存/重启
  • 卸载并重新安装Android Studio
  • 重新安装旧版本的Android Studio

当我卸载Android Studio时,我运行了以下命令以删除所有旧文件。

rm -Rf /Applications/Android\Studio.app
rm -Rf ~ / Library / Preferences / AndroidStudio *
rm ~ / Library / Preferences / com.google.android.studio.plist
rm -Rf ~ / Library / Application \ Support / AndroidStudio *
rm -Rf ~ / Library / Logs / AndroidStudio *
rm -Rf ~ / Library / Caches / AndroidStudio *
rm -Rf ~ / .gradle
rm -Rf ~ / .android
rm -Rf ~ / Library / Android *

我花了很多时间重新安装Android Studio。 我希望尽快解决这个问题。 如果有解决方案,请告诉我。 谢谢。

在此输入图片描述 在此输入图片描述 在此输入图片描述

7个回答

13

我也遇到了相同的问题,但我通过删除 Android 项目根目录下的 .idea 目录来解决了它。


3
我在使用Cocos2d-X 3.17项目时遇到了相同的问题。这个问题在3.5版本中是完美的,但在4.1版本中一直在索引中。强制停止并重新打开会导致无限等待的情况。
通过删除项目中所有的.iml文件和.idea文件夹,并在Studio中无效化所有缓存,我成功加载了项目。然后让它自动索引了一整晚(在Activity Monitor中可以看到它正在读取大量数据……远远超过15GB的项目大小),而没有做任何操作。
第二天早上,它实际上完成了索引。但是,在更新了某些组件之后,Studio又开始了一轮索引地狱(使用MacOS 10.15.7的iMac Pro)。
更新:Android Studio 4.1似乎在索引电脑上的所有内容。它现在正在处理~/Library/Containers/com.apple.iWork.keynote。问题在于其中有一个符号链接到驱动器,结果会导致文件夹的反复扫描。这也解释了为什么该应用想要访问联系人、日历和提醒事项……
更新2:我似乎已经通过将应用程序项目文件夹从索引中排除(右键单击文件夹,选择“标记目录为”并选择排除)来暂时解决了这个问题。要显示文件夹,您可能需要在启动Studio之前删除项目中的.idea和.gradle文件夹。

4.2 RC1 在 Windows 上似乎正在索引我整个机械式 4 磁盘 RAID 驱动器。因此,这仍然是一个问题。同时,如果没有您的回复,我也不会发现这个问题。 - Adam Howell
@AdamHowell 我可以确认android-studio-ide-202.7322048-windows.exe也有同样的问题。Android Studio开始索引我整个该死的硬盘。让这个问题通过的人应该被解雇。 - user1884325

1

一个非常简单的解决方案是删除所有缓存:

1 关闭Android Studio

2 前往:

C:\Users\ME\AppData\Local\Google\AndroidStudio2020.3 // 或你当前版本的路径

3 然后点击“caches”目录

4 接着删除所有缓存文件(有两个名为project_resources和resources的文件夹,请勿删除这些文件夹)

5 重新启动Android Studio


0

我有同样的问题,一开始我尝试更改inotify限制,但没有效果。我删除了所有的.idea目录,稍有改善,但仍然无法使用。

解决方案是创建一个新用户,只安装Android Studio和几乎没有其他文件。


0

昨天我尝试打开从Github获取的一个相对较小的项目时,遇到了这个问题。在Ubuntu上,使用AS 4.1.3。

最初,它进行了很长时间的索引。我尝试了重新启动AS、删除.ideas和.gradle等操作,但都没有用。然后我只能让它运行。实际上,它完成了相当长的时间才完成索引。

然后我尝试重构并迁移到Androidx,它一直在寻找这个和那个而无法停止。我中断了几次,并尝试了删除文件夹和清除缓存等旧技巧。但是都没有用。有一次,重构过程完成了搜索并提示我确认重构。然后我发现有很多文件不属于这个项目!

然后我去检查了项目文件结构(通常在左侧窗格中显示为Android结构),我发现项目的根目录是我的主目录(/home/leok),而不是深层次的目录,即项目文件所在的目录。因此,我怀疑它正在浏览我的所有文件。但是我想知道为什么会出现这种情况。

然后我检查了build.gradle文件。原来有一个类似于“/Data/xxxx/yyyy/etc”这样的目录引用(我不知道原作者为什么要这样设置,但我猜是为了构建一些中间数据)。实际上,我的机器上并没有那个目录,但奇怪的是,AS或gradle以某种方式从文件系统的根目录开始工作,直到我的主目录,它确定可以获得写入权限,这是一种非常不道德的行为。

然后在build.gradle中,我将该引用更改为“Data/xxxx”,这应该指向项目目录下的子目录,问题解决了。索引变得正常,重构也很快完成。

所以这是一个学习的教训。这花费了我大部分时间。


0
你可以在Android Studio工具栏中选择“无效缓存...”。
进入“文件”->选择“无效缓存...”->勾选所有选项并重新启动Android Studio。
你的Android Studio将尝试重新构建所有缓存,避免卡顿。

0

作为临时解决方案,我将cache文件夹重命名(改为_cache),并成功解决了问题。

  1. 从任务管理器中结束Studio进程。
  2. 将文件夹重命名为其他名称(我只是不想删除它)。
  3. 重新启动Studio。

一旦我找到实际原因,我会在这里更新。


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