12

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

<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'的资源标识符。

当然,在我添加该行之前,我尝试简单地删除我添加的违规行以将我的代码恢复到其原始状态。我保存了它(即全部保存/等...)然后尝试重建。令我沮丧的是,Android Studio 恢复了错误版本,将错误的 [android:backcolor="#00000000"] 行重新插入到文件中。

我也尝试过 SAVING(保存所有)退出、返回、再次重建,以及几乎所有的变化。尽管有时似乎可以纠正它的唯一方法是完全退出 Android Studio,重新启动它,然后再试一次。

我猜这确实是一个“功能”,并且与源代码控制和/或 Gradle 有关,而且我还没有完全理解它。我也猜测在某个地方有一些设置可以调整和/或纠正这个问题 - 但我对发生的事情以及如何解决它一无所知。

有没有办法纠正 Android Studio 的这种恼人行为?

4

6 回答 6

15

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

于 2016-09-06T09:34:04.137 回答
2

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

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

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

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

于 2015-04-22T06:25:43.580 回答
1

我仍然有这个问题,我发现解决它的唯一方法是去 android studio 中的终端并运行

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

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

于 2016-03-18T00:54:29.137 回答
0

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

于 2014-05-02T15:20:26.527 回答
0

I just had the same error and made me go crazy I solved it by copying my project file to another directory and then importing it as a new project and the problem disappeared

于 2018-02-13T20:20:02.470 回答
0

要保存最新的编辑,请单击项目窗口中的特定文件并选择同步,然后重新生成代码。然后将保存最新的编辑。

于 2018-01-03T16:03:43.173 回答