Android Studio - 不记得新编辑并有时会自动恢复到旧版本的文件

时间:2013-05-28 22:41:58

标签: android-studio

每隔一段时间我就会遇到新Android Studio的问题。有时在编辑时,如果我在我的某个文件中出错,然后尝试构建它,Android studio会返回一些“Gradle”错误。然后它会自动恢复到我的原始代码(从而删除我的任何更改)。我不一定喜欢这种行为,但我可以处理它。 但是......有时候,在SAVING和编辑过程中,它会进入这个奇怪的状态,Android Studio会记住这个错误,并且不会让我纠正它。即无论我多少次尝试纠正它并重新保存它,它都将继续恢复文件的OLD版本,并带有错误。这方面的一个例子如下。在下面的XML文档片段中,我错误地将[android:backcolor =“#00000000”]添加到我的一个XML布局文件中......

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@android:id/text1"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:textAppearance="?android:attr/textAppearanceListItemSmall"
          android:gravity="center_vertical"
          android:paddingLeft="16dp"
          android:paddingRight="16dp"
          android:textColor="#111"
          android:background="?android:attr/activatedBackgroundIndicator"
          android:backcolor="#00000000"
          android:minHeight="?android:attr/listPreferredItemHeightSmall"/>

尝试构建后,Android Studio回来时出现以下错误: “错误:(1,-1)Gradle:在'android'包中找不到属于'backcolor'的资源标识符。

当然,在添加行之前,我试图简单地删除我添加的有问题的行以将我的代码返回到其原始状态。我保存了它(即save-all / etc ......)然后尝试重建。让我感到沮丧的是,Android Studio恢复了糟糕的版本,再次将错误的[android:backcolor =“#00000000”]行重新插入文件中。

我也尝试过SAVING(保存所有)退出,重新进入,重建它,以及几乎每一个变化。虽然似乎有时会纠正它的唯一方法是完全退出Android Studio,然后重新启动它,然后再试一次。

我猜这是一个“功能”,与源代码控制和/或Gradle有关,而我还没有完全理解它。我也猜测有一些设置可以调整和/或纠正这个问题 - 但我对于发生了什么以及如何解决这个问题一无所知。

有没有办法纠正Android Studio令人讨厌的行为?

6 个答案:

答案 0 :(得分:15)

当我在strings.xml文件中出错时,我遇到了类似的问题,例如,当我有一个撇号而没有使用&#39; \#39;时。问题是,当构建失败时,Android Studio会自动打开app \ build \ intermediates \ res \ merged \ debug \ values \ values.xml以显示损坏的字符串。如果我然后尝试更正该文件中的字符串,它没有任何好处,因为当我尝试重建时,strings.xml仍然被破坏。关键是要确保您在strings.xml而不是values.xml文件中进行更正。

答案 1 :(得分:2)

我有同样的问题,但我按照以下步骤解决了我的问题,

1)编辑您的布局文件并在记事本中打开相同的布局文件,如果您可以在记事本中看到更新的数据,那么它的Studio Synch问题。然后重新同步项目。

2)如果您编辑的布局文件未反映记事本文件中的新更改,则首先重新同步Studio项目并执行步骤1.

我希望这也能解决你的问题。

答案 2 :(得分:1)

我还有这个问题,我发现修复它的唯一方法就是去android studio的终端然后运行

rm -R app/build/intermediates/data-binding-layout-out

当您尝试再次编译时,Android Studio无法删除布局的最后一个版本。一旦你手动完成,一切都恢复正常。

答案 3 :(得分:0)

虽然偶尔会出现此问题(截至目前最新版本为0.5。+),但一个简单的解决方法是使用文本编辑器手动编辑xml文件,然后保存。然后,Android Studio将强制重新同步这些文件。

答案 4 :(得分:0)

要保存最新的编辑,请单击项目窗口中的特定文件,然后选择同步,然后重建代码。然后会保存最新的编辑内容。

答案 5 :(得分:0)

我遇到了同样的错误,让我发疯了 我通过将项目文件复制到另一个目录然后将其作为新项目导入并解决问题

来解决它