安卓开发工具Android Studio显示错误的文件内容

140

我在使用Android Studio时遇到了一个奇怪的问题。

以下是我在Android Studio中的类文件:

以下是在文本编辑器中查看该文件的样子:

enter image description here

有任何想法为什么会出现这种情况吗?我尝试过关闭并重新导入项目,无效化缓存并重启,清理项目、构建项目,删除.idea文件夹和.iml文件。所有文件在AS中打开时都是损坏的,但在文本编辑器中显示正常。


2
这已经是我在短时间内看到的第五篇帖子,显示AS 3.2.1损坏文件。似乎存在严重的错误。 - Henry
1
我看到了一个有同样问题的帖子,如果你使用的是Windows系统 请前往C盘 -> 用户 -> 你的用户名 -> 删除你正在使用的Android Studio版本的文件夹(我的是.AndroidStudio3.2) 这将删除你所做的所有设置,也可能会删除你安装的插件。 - Jeongbebs
4
面对同样的问题,到底是怎么回事? - Asim
Android Studio 3.2.1 (win)也存在同样的问题。 - fireb86
1
使用 Arctic Fox,这个问题仍然存在。现在我们应该称它为“特性”而不是错误。 - Dfirmansyah
显示剩余12条评论
10个回答

178

更新: 用户 Hong 给出了更快的解决方法,如下所示:链接

删除缓存文件夹:C:\Users\你的用户名\.AndroidStudio3.3\system\caches

=====================

以下是我采用的解决方案:

  1. 关闭 Android Studio
  2. 进入 C:\Users\你的用户名 目录
  3. 找到名为 .AndroidStudioX.X(其中 X.X 是版本号)的 Android Studio 配置目录
  4. 将其重命名为类似 old.AndroidStudioX.X 的名称
  5. 启动 Android Studio,在询问是否导入设置时,选择旧目录

这样应该可以解决问题。


2
这对我也起作用了。你知道为什么或者是什么导致了这个问题吗?而且你为什么会尝试这个解决方案呢? - Eugene H
4
因为Android Studio的每个设置都在这些文件夹中,包括所有插件。一旦我意识到我的实际数据没有被改变,这似乎是一个合乎逻辑的选择。 - Asim
1
我的笔记本在使用Android Studio模拟器和Tomcat服务器时出现了多次蓝屏。我认为这些蓝屏已经损坏了Android Studio的缓存。因此,删除缓存文件夹对我很有效。 - Dilini Peiris
1
只需删除缓存文件夹:C:\Users\my_user_name.AndroidStudio3.3\system\caches,就解决了我的问题。 - Jaspal

120

感谢Asim的回答,我发现删除文件夹缓存可以解决我的问题(Android Studio中所有gradle文件显示的内容与实际内容无关):

由于Asim的回答,我发现删除文件夹缓存可以解决我的问题(Android Studio中所有gradle文件显示的内容与实际内容无关):

C:\Users\my_user_name\.AndroidStudio3.3\system\caches

编辑[2020-07-17]:

这个问题在Android Studio 4.0中仍然存在,因此我不得不删除以下文件夹来解决这个问题:

   C:\Users\my_user_name\.AndroidStudio4.0\system\caches

编辑[2021-11-08]: 对于Android Studio Arctic Fox,此解决方案不再适用。请参见Nikunj Paradva的新答案。我已使用新的解决方案,它可以正常工作。


1
这得到了在 Android Studio 官方错误报告的评论的证实。 - Dana Dahlstrom
1
感谢您提供的解决方案,此问题是在不同窗口中打开两个项目并将 Firebase 集成到其中一个项目后出现的。现在已经正确加载。 - Manoranjan
1
AS4的注释确实很有帮助。在我的情况下,我的AS4导致了蓝屏死机。 - Yohanim
1
我在使用Android Studio 4时遇到了停电,似乎导致一些文件显示错误的内容。按照这里描述的方法删除缓存文件夹后问题得到解决。非常感谢。 - abernee
1
有人可能认为“无效缓存”会完成这项工作。感谢您提供的解决方案。 - Jon
1
谢谢您,先生,这对我有用。我之前无法看到我在应用程序中使用的库代码,但是通过您的答案现在可以了。 - vikas thakur

40

Android Studio Arctic Fox及更高版本的解决方案

步骤

  • 退出Android Studio

  • 从以下位置删除caches文件夹:

    <HOME>/Library/Caches/Google/AndroidStudio<VERSION>
  • 重新启动Android Studio

C:\Users\{username}\AppData\Local\Google\AndroidStudio2020.3 // For Arctic Fox 
  • 打开Android Studio,您的代码就会完美

  • 检查您的Android Studio版本并在下面位置的目标版本文件夹中进行设置

    C:\Users\{username}\AppData\Local\Google

    注意:在Windows中,AppData文件夹是隐藏的


    2
    谢谢,我在C:\Users{username}中找不到任何文件夹,所以最终你的解决方案给了我一些方向。 - Sharif Rafid Ur Rahman
    4
    谢谢。我的回答已经不再适用了。我已经添加了一个链接,以便将人们引导到你的答案。 - Hong
    谢谢你的回复,但请把你的“注释”移到第二步骤。这样会更有助于其他开发者。 - Vivek Thummar

    29
    这种情况是否需要提交错误报告?
    是的!实际上,这个问题已经向Android Studio团队报告了,任何愿意帮助我们调查的人都可以在那里贡献。谢谢!
    您还可以尝试Hong的答案中的解决方法。

    注意:此答案已从 https://stackoverflow.com/questions/53091670/why-does-android-studio-3-2-1-fail-to-interpret-file-content-correctly-not-even/ 合并到此处。 - Shog9
    可以这样做,但是洪的方法更简单。 - Dana Dahlstrom

    9

    关闭Android Studio,然后删除缓存文件夹:C:\Users\user_name\.AndroidStudio3.4\system\caches


    7
    这个答案已经被多次发布。如果你有不同的解决方案或者更好的解释,请再发一个回答。但请勿重复发布已有的答案。 - Mark Rotteveel
    这个答案对我在Android 3.6.3上起作用了,而且是最简单和最不侵入性的,也没有在这个问题线程中直接提到过。 - GSBTom

    5
    尝试根据您的平台删除以下 Android Studio IDE 缓存数据:
    • Windows:
      %USER%\.AndroidStudio[Preview]_X.Y_
      
    • Mac:
      ~/Library/Preferences/AndroidStudio[Preview]_X.Y_
      
      ~/Library/Caches/AndroidStudio[Preview]_X.Y_
      
      ~/Library/Logs/AndroidStudio[Preview]_X.Y_
      
      ~/Library/Application Support/AndroidStudio[Preview]_X.Y_
      
    • Linux:
      ~/.AndroidStudio[Preview]_X.Y_
      

    请查看:https://developer.android.com/studio/releases#delete-unused


    1

    几天前我更新了我的Android Studio,面临同样的问题。通过卸载Android Studio并重新安装之前的版本设置来解决了这个问题。由于我保留了SDK,因此无需重新下载它们,一切都正常工作,我想我不会很快再次更新了。


    更新Android Studio总是一个错误...使用它是谷歌强制我们做的错误,因为它本身可以做一些像样的事情。 - Rafael Lima

    0

    我改变了我的项目位置,这解决了我的问题。这是因为我的系统意外关机导致的。


    0

    将您的Android项目复制到另一个位置,然后从Android Studio中打开它


    0
    感谢@Henry的确认,通过过去两天观察到的几个类似的问题,证实了我的问题确实是由AS中的一个错误引起的。请跟随他的链接自行确认。我会让亨利提交错误报告。
    因此,在不进行巨大努力的情况下无法解决我的问题-等待错误修复...可能需要一段时间。
    所以这就是我为了解决问题并回到工作状态所做的(用时不到10分钟):
    1. 创建新项目,不需要添加Activity。(请在IDE中完成后续操作,勿使用Windows或DOS)
    2. 将所有的.java文件复制到IDE中的java文件夹内(路径为:...\app\src\main\java\
    3. 将所有的res文件夹复制到res文件夹内(路径为:...\app\src\main\res\
    4. 将所有的asset文件复制到main文件夹内(路径为:...\app\src\main\assets\
    5. androidmanifest.xml文件复制到main文件夹内(路径为:...\app\src\main
    6. 使用全局替换功能,将旧项目名称替换为新项目名称。

    我没有更改新项目的...\app\文件夹中的任何文件,因为编译是正常的。

    我告诉你:当我看到我认为是损坏的文件并查看了历史记录,却没有看到任何应该在那里的东西时,我感到非常难受,但我立即打开了Windows Explorer,选择了项目中所有的java文件,并用Notepad++批量打开它们。呼!没有发现问题。(我真的不认为AS会破坏文件,而且我怀疑它永远也不会。但它让我在早上5点醒来了!)


    以下是Hong提供的快速简便解决方案。只需一步即可完成。关闭AS并删除caches文件夹中的所有内容:C:\Users\my_user_name.AndroidStudio3.3\system\caches,然后尽情享受吧。 - P. Mohanta

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