Коды Java преобразуются в XML после перезапуска Android Studio

#android-studio-3.0 #android-studio-3.5

#android-studio-3.0 #android-studio-3.5

Вопрос:

Я столкнулся с действительно странным сценарием, когда после перезагрузки моего компьютера из-за зависания Windows некоторые из моих java-кодов в Android Studio были преобразованы в какие-то странные xml-коды, и все те коды, которые я написал, были потеряны! Я сталкивался с такой ситуацией дважды, в первый раз, когда я столкнулся с этим сценарием, я вернул свой код к последнему коммиту, поскольку изменений было очень мало после последнего коммита. Однако на этот раз изменения огромны после последней фиксации, и я полностью озадачен!

Ниже показано, как был преобразован один из моих небольших кодов.

 <component name="libraryTable">
  <library name="Gradle: com.android.support:print:28.0.0@aar">
    <ANNOTATIONS>
      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/print-28.0.0.aar/87cddf7f66cc3e6d635cf04e7292a008/annotations.zip!/" />
    </ANNOTATIONS>
    <CLASSES>
      <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/print-28.0.0.aar/87cddf7f66cc3e6d635cf04e7292a008/res" />
      <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/print-28.0.0.aar/87cddf7f66cc3e6d635cf04e7292a008/jars/classes.jar!/" />
    </CLASSES>
    <JAVADOC />
    <SOURCES />
  </library>
</component>  
  

Моя версия Android Studio: 3.3.1

Есть ли какой-либо способ вернуть написанный мной код?

Будем признательны за любую помощь.

Редактировать

Я снова столкнулся с той же ситуацией. Вот один из моих других кодов, замененных на xml

 <?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="AndroidConfiguredLogFilters">
    <filters>
      <filter>
        <option name="logLevel" value="verbose" />
        <option name="logMessagePattern" value="" />
        <option name="logTagPattern" value="(MainActivity|Download|BooksFrag|Reading|BookPage|BookDetails|PageNumberPicker)" />
        <option name="name" value="Unnamed-0" />
        <option name="packageNamePattern" value="" />
        <option name="pid" value="" />
      </filter>
    </filters>
  </component>
  <component name="AndroidLayouts">
    <shared>
      <config />
    </shared>
  </component>
  <component name="AndroidLogFilters">
    <option name="TOOL_WINDOW_CONFIGURED_FILTER" value="Unnamed-0" />
  </component>
  <component name="ChangeListManager">
    <list default="true" id="0218df07-b316-45c7-a2ad-66ba2c0b4c43" name="Default Changelist" comment="">
      <change afterPath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/utilities/RealmDBHelper.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/BookSearchResultsContainer.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/BookSearchResultsContainer.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/BookSearcher.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/BookSearcher.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/SearchOptions.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/SearchOptions.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/SearchResult.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/SearchResult.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/SearchResultViewHolder.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/SearchResultViewHolder.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/activities/ReadingActivity.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/activities/ReadingActivity.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/utilities/ArabicUtilities.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/utilities/ArabicUtilities.java" afterDir="false" />
      <change beforePath="$PROJECT_DIR$/app/src/main/res/values/strings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/values/strings.xml" afterDir="false" />
    </list>
    <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
    <option name="SHOW_DIALOG" value="false" />
    <option name="HIGHLIGHT_CONFLICTS" value="true" />
    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
    <option name="LAST_RESOLUTION" value="IGNORE" />
  </component>
  <component name="ExternalProjectsManager">
    <system id="GRADLE">
      <state>
        <projects_view />
      </state>
    </system>
  </component>
  <component name="FUSProjectUsageTrigger">
    <session id="1042793738">
      <usages-collector id="statistics.lifecycle.project">
        <counts>
          <entry key="project.closed" value="23" />
          <entry key="project.open.time.12" value="2" />
          <entry key="project.open.time.13" value="2" />
          <entry key="project.open.time.14" value="1" />
          <entry key="project.open.time.15" value="3" />
          <entry key="project.open.time.16" value="1" />
          <entry key="project.open.time.17" value="1" />
          <entry key="project.open.time.18" value="2" />
          <entry key="project.open.time.2" value="1" />
          <entry key="project.open.time.21" value="1" />
          <entry key="project.open.time.22" value="1" />
          <entry key="project.open.time.24" value="1" />
          <entry key="project.open.time.25" value="2" />
          <entry key="project.open.time.26" value="2" />
          <entry key="project.open.time.27" value="5" />
          <entry key="project.open.time.28" value="1" />
          <entry key="project.open.time.29" value="1" />
          <entry key="project.open.time.3" value="1" />
          <entry key="project.open.time.30" value="1" />
          <entry key="project.open.time.31" value="1" />
          <entry key="project.open.time.32" value="1" />
          <entry key="project.open.time.36" value="1" />
          <entry key="project.open.time.4" value="1" />
          <entry key="project.open.time.46" value="1" />
          <entry key="project.open.time.49" value="1" />
          <entry key="project.open.time.5" value="2" />
          <entry key="project.open.time.50" value="1" />
          <entry key="project.open.time.51" value="1" />
          <entry key="project.open.time.6" value="2" />
          <entry key="project.open.time.7" value="1" />
          <entry key="project.open.time.8" value="2" />
          <entry key="project.opened" value="44" />
        </counts>
      </usages-collector>
      <usages-collector id="statistics.file.extensions.open">
        <counts>
          <entry key="MF" value="1" />
          <entry key="css" value="4" />
          <entry key="csv" value="11" />
          <entry key="gradle" value="14" />
          <entry key="java" value="298" />
          <entry key="js" value="19" />
  

Здесь я зарегистрировал проблему с Google.

Спасибо.

РЕДАКТИРОВАТЬ (ноябрь 2019)

Я также столкнулся с этим в Android Studio 3.5.2. Похоже, проблема еще не устранена.

Ответ №1:

не волнуйтесь!

Перейдите в папку Android Studio, расположенную в Users/user/.androidstudiov.x.x , удалите кэш и перезапустите Android Studio. Эта проблема возникла у меня пару дней назад, сразу после того, как я обновился до новой версии. Даже классы XML и java будут иметь это. Однако все ваши данные в безопасности. Ошибка в Android Studio при импорте настроек..

Комментарии:

1. Да, действительно, это сработало. Спасибо. Google ответил на мою проблему и направил меня к другой уже зарегистрированной проблеме, касающейся той же ошибки. Похоже, что пострадало несколько пользователей. issuetracker.google.com/issues/119638289

2. Что ж, я рад, что вам не пришлось писать свой код заново, пожалуйста, примите ответ, чтобы другие люди сочли его полезным.

3. Прежде чем вы сделаете это, сначала зайдите в files local history и покажите history там есть список случаев, когда вы можете найти код вашего файла с указанием вашего конкретного времени, и если вы удалите cache, то вы никогда не сможете повторно просмотреть свой файл. итак, сначала попробуйте files local history

4. @SolankiZeel будьте очень, очень осторожны!! как будто вы восстановили свои файлы, там могут быть зависимости или пакеты, которые не в их правильном формате, и это может привести к более серьезной проблеме. Удаление вашего кэша — лучший способ обойти эту ошибку. Я тестировал это на Linux Windows и Mac.