Android Studio显示错误的文件内容

问题描述 投票:34回答:6

我对Android Studio有一个奇怪的问题。以下是我的类文件在Android Studio上的样子

这就是文本编辑器的样子。

enter image description here

任何想法为什么会发生?我尝试关闭然后重新导入项目,使缓存无效并重新启动,清理项目,构建项目,删除.idea文件夹和.i​​ml文件。在AS中打开时,我的所有文件都被破坏,但在文本编辑器上看起来很好。

android-studio intellij-idea
6个回答
61
投票

更新:用户Hong给below更快的解决方案:

删除缓存文件夹:C:\ Users \ my_user_name \ .AndroidStudio3.3 \ system \ caches

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

这对我有用。

  1. 关闭Android Studio
  2. 转到C:\ Users *您的用户名*
  3. 找到名为.AndroidStudioX.X的Android Studio设置目录(X.X是版本)
  4. 将它重命名为old.AndroidStudioX.X
  5. 启动Android Studio,当它询问您是否要导入设置时,请选择旧目录

这应该解决问题。


30
投票

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

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

21
投票

这种情况是否需要错误报告?

是!事实上这个问题一直是reported to the Android Studio team,任何愿意帮助我们调查的人都欢迎在那里做出贡献。谢谢!

您也可以尝试Hong's answer中的解决方法。


0
投票

感谢@Henry在过去两天通过几个类似观察到的whacko问题进行确认,我的问题确实是由AS中的一个错误引起的。按照他的链接,让自己相信。我会让亨利提交错误报告。

因此,没有很大的努力就无法在原地解决我的问题 - 等待错误修复......这可能需要一段时间。

所以这就是我所做的工作并重新开始工作(花了不到10分钟):

  1. 创建没有活动的新项目(在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资源管理器,选择了所有项目的java文件,并用Notepad ++打开它们。哇。没有看到任何问题。(我真的不认为AS实际上可以破坏文件,我怀疑它有可能。但它确实在凌晨5点叫醒我!))


0
投票

几天前更新了我的android工作室,面临同样的问题。解决了它卸载Android工作室并重新安装以前的版本设置我保持原封不动的SDK所以我没有必要重新下载它们工作完全猜测我不会很快再次更新。


0
投票

尝试按照您的平台删除下面列出的Android Studio IDE缓存数据:

  • 视窗: %USER%\.AndroidStudio[Preview]_X.Y_
  • 苹果电脑: ~/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

© www.soinside.com 2019 - 2024. All rights reserved.