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

标签 android-studio

每隔一段时间我都会遇到新的 Android Studio 问题。有时在编辑时,如果我在我的一个文件中犯了错误,然后尝试构建它,Android studio 会返回一些“Gradle”错误。然后它会自动恢复到我的原始代码(从而删除我的任何更改)。我不一定喜欢这种行为,但我可以处理它。
但是......有时,在保存和编辑的过程中,它会进入这种奇怪的状态,Android Studio 会记住错误,并且不会让我纠正它。即无论我尝试更正并重新保存多少次,它都会继续恢复文件的旧版本,其中包含错误。一个例子如下。在以下 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”的资源标识符。

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

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

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

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

最佳答案

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

关于android-studio - Android Studio-不会记住新的编辑并且有时会自动恢复到旧版本的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16802679/

相关文章:

shell - 停止 Android Studio shell 进程不会停止测试

android - 为什么 Android Studio 会删除 build.gradle 中列出的依赖项?

java - 在多项选择游戏中随机化问题

android - gradle wrapper.jar在我的库中的目的

json - _TypeError 被抛出构建 FutureBuilder<dynamic>(脏,状态 : _FutureBuilderState<dynamic> type 'Null' is not a subtype of type 'List<dynamic>'

Android Studio "Cannot resolve symbol XXX"Android 基础教程

android - 在 Android Studio 上添加 Google Play 服务依赖项的最佳方式是什么?

java - 片段之间的导航出现问题

java - Android:编辑以编程方式添加的 View

android - 错误 :package android support. 测试不存在