问题
Beta 3 doesn't allow to rename resource files such as layout files. It does show the renaming dialog, but when trying to apply changes it reads the following error message:
Refactoring cannot be performed
File .../myapplication/R.java is read-only
Also I have Beta 2 version in a neighbor directory and renaming works perfect. Any ideas how to fix that?
UPD: I reported the bug (#65079508), and now it is marked as a duplicate of 65032914 https://issuetracker.google.com/issues/65032914
So, the issue is even wider and if I understand it well the bug will be fixed in some coming version of the Studio.
UPD#2: Beta 4 is released. The bug is still not fixed.
UPD#3 Fixed in Beta 5.
回答1:
meh, just get rid of the generated files && then refactor.
Gradle --> app --> build --> clean.
回答2:
I am experiencing the same issue on Android Studio 3.0 Beta 3. I fixed the problem by:
- Exiting Android Studio
- Navigating to the folder that the layout file is saved in (either CLI or GUI)
- Rename the file to whatever you want the refactored file to be called.
- Reopen Android Studio.
Obviously this forces you to have to manually refactor the references to the old file, but I tried about a dozen different things (changing R.java permissions, Gradle clean, invalidate cache, etc.) and none of them worked.
Anyone else who has this issue should submit this bug in Android Studio by using Help > Submit Feedback.
Also, is there a chance you might also be using multiple layouts folders like I am?
回答3:
I've got the same issue. I was solved this with
File --> Invalidate Caches and Restart --> Invalidate and Restart.
And than try to rename again.
Hope this help. Happy coding :)
回答4:
I was able to work around it temporarily by moving my R.java
file into my src
directory. For example, if you're package name is com.example.sample
, move your R.java
file from app/build/generated/source/r/debug/com/example/sample/R.java
to app/src/main/java/com/example/sample/R.java
. Be sure to delete it when you're finished refactoring, it will be regenerated during the build process.
回答5:
Cleaning doesn't work for everything. For instance, renaming a view isn't possible because the R.java file is automatically regenerated. I tried disabling Instant Run, but that didn't help either. Eventually I had to rename the view manually in the layout file.
From the comments on the bug ticket at https://issuetracker.google.com/issues/65032914 the fix will be in the beta 5 release of Android Studio.
来源:https://stackoverflow.com/questions/45879726/cant-rename-resource-layout-files-android-studio-3-0-beta-3-is-installed