web-dev-qa-db-fra.com

Impossible de renommer les fichiers de ressources (mise en page) (Android Studio 3.0 Beta 3 est installé)

La version bêta 3 ne permet pas de renommer des fichiers de ressources tels que des fichiers de présentation. La boîte de dialogue de changement de nom apparaît, mais lorsque vous essayez d'appliquer des modifications, le message d'erreur suivant s'affiche:

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

De plus, j'ai la version bêta 2 dans un répertoire voisin et renommer fonctionne parfaitement. Des idées pour réparer celà?

UPD: J'ai signalé le bogue (# 65079508). Il est maintenant marqué en double par 65032914 https://issuetracker.google.com/issues/65032914

Donc, le problème est encore plus vaste et si je comprends bien, le bogue sera corrigé dans une version à venir du Studio.

UPD # 2: La version bêta 4 est validée. Le bug n'est toujours pas corrigé.

UPD # 3 Corrigé en version bêta 5.

29
Roman

meh, débarrassez-vous simplement des fichiers générés && puis refactor.

Gradle -> app -> build -> clean

 Gradle clean project (remove generated files/folders)

14
wooldridgetm

Je rencontre le même problème sur Android Studio 3.0 Beta 3. J'ai résolu le problème en:

  1. Quitter Android Studio
  2. Navigation dans le dossier dans lequel le fichier de mise en page est enregistré (CLI ou GUI)
  3. Renommez le fichier comme vous voulez que le fichier refactoré soit appelé.
  4. Rouvrir Android Studio. 

Évidemment, cela vous oblige à refactoriser manuellement les références à l'ancien fichier, mais j'ai essayé une douzaine de choses différentes (modification des autorisations R.Java, Gradle clean, invalidation du cache, etc.) et aucune d'entre elles n'a fonctionné.

Toute personne présentant ce problème doit soumettre ce bogue dans Android Studio à l'aide de Aide> Envoyer des commentaires.

En outre, y a-t-il une chance que vous utilisiez également plusieurs dossiers de modèles comme je le suis?

2
spitfyre

J'ai le même problème ... J'ai été résolu avec

Fichier -> Invalider les caches et redémarrer -> Invalider et redémarrer.

Et que d'essayer de renommer à nouveau.

J'espère que cela vous aidera . Joyeux codage :)

J'ai pu contourner ce problème temporairement en déplaçant mon fichier R.Java dans mon répertoire src. Par exemple, si votre nom de package est com.example.sample, déplacez votre fichier R.Java de app/build/generated/source/r/debug/com/example/sample/R.Java à app/src/main/Java/com/example/sample/R.Java. Assurez-vous de le supprimer une fois le refactoring terminé, il sera régénéré pendant le processus de construction.

0
Nathan Reline

Le nettoyage ne fonctionne pas pour tout. Par exemple, renommer une vue n'est pas possible car le fichier R.Java est régénéré automatiquement. J'ai essayé de désactiver Instant Run, mais cela n'a pas aidé non plus. Finalement, j'ai dû renommer la vue manuellement dans le fichier de mise en page.

D'après les commentaires sur le ticket de bug sur https://issuetracker.google.com/issues/65032914 le correctif sera dans la version bêta 5 d'Android Studio.

0
Craig