Подтвердить что ты не робот

Невозможно переименовать файлы ресурсов (макет) (установлена ​​установка Android Studio 3.0 Beta 3)

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

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

Также у меня есть версия Beta 2 в каталоге соседей, и переименование работает отлично. Любые идеи, как это исправить?

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

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

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

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

4b9b3361

Ответ 1

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

Gradle приложение построить очистить.

Gradle очистить проект (удалить сгенерированные файлы/папки)

Ответ 2

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

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

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

Любой, у кого есть эта проблема, должен отправить эту ошибку в Android Studio с помощью справки > Отправить отзыв.

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

Ответ 3

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

Ответ 4

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

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