Не удается переименовать файлы ресурсов (макет) (установлена бета-версия Android Studio 3.0 3)

Beta 3 не позволяет переименовывать файлы ресурсов, такие как файлы макета. Он показывает диалоговое окно переименования, но при попытке применить изменения он читает следующее сообщение об ошибке:

Refactoring cannot be performed
File .../myapplication/R.java is read-only

также У меня есть версия Beta 2 в соседнем каталоге, и переименование работает отлично. Есть идеи, как это исправить?

UPD: Я сообщил об ошибке (#65079508), и теперь она помечена как дубликат 65032914 https://issuetracker.google.com/issues/65032914

Итак, проблема еще шире, и если я это хорошо понимаю, ошибка будет исправлена в какой-то следующей версии студии.

UPD#2: Бета 4 выйдет. Ошибка все еще не исправлена.

UPD#3 Исправлена в бета-версии 5.

5 ответов


meh, просто избавиться от сгенерированных файлов & & затем рефакторинг.

ш --> app -->build -->очистить.

Gradle clean project (remove generated files/folders)


Я испытываю ту же проблему на Android Studio 3.0 Beta 3. Я исправил проблему:

  1. Выход Из Android Studio
  2. переход к папке, в которой файл макета сохраняется (CLI или GUI)
  3. переименовать файл, чтобы все, что вы хотите, чтобы переработать файл будет называться.
  4. Открыть Android Studio.

очевидно, что это силы вам придется вручную изменить ссылки на старый файл, но я старался об десяток разных вещей (изменение разрешения R.java , Gradle в чистоте, сбросить кеш и т. д. и ни один из них не сработал.

любой, у кого есть эта проблема, должен отправить эту ошибку в Android Studio, используя Help > Submit Feedback.

кроме того, есть ли шанс, что вы также можете использовать несколько макетов папок как я?


У меня такая же проблема. Я решил это с

File --> Invalidate кэши и перезапуск --> Invalidate и перезапуск.

и чем попытаться переименовать снова.

надеюсь, что это поможет. Счастливое кодирование:)


я смог обойти его временно, переместив мой в свою с app/build/generated/source/r/debug/com/example/sample/R.java до app/src/main/java/com/example/sample/R.java. Не забудьте удалить его, когда вы закончите рефакторинг, он будет регенерирован во время процесса сборки.


очистка не работает для всего. Например, переименование представления невозможно, поскольку R.java файл автоматически восстанавливается. Я попытался отключить Instant Run, но это тоже не помогло. В конце концов мне пришлось переименовать вручную в файле макета.

из комментариев к билету на ошибку в https://issuetracker.google.com/issues/65032914 исправление будет в бета-версии 5 Android Studio.