29 votes

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

La version bêta 3 ne permet pas de renommer les fichiers de ressources tels que les fichiers de mise en page. La boîte de dialogue de renommage s'affiche, mais lorsque vous essayez d'appliquer les modifications, le message d'erreur suivant apparaît :

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

J'ai également la version Beta 2 dans un répertoire voisin et le renommage fonctionne parfaitement. Une idée pour corriger cela ?

UPD : J'ai signalé le bogue (#65079508), et maintenant il est marqué comme un duplicata de 65032914. https://issuetracker.google.com/issues/65032914

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

UPD#2 : La bêta 4 est sortie. Le bogue n'est toujours pas corrigé.

UPD#3 Corrigé dans la bêta 5.

0 votes

Le même problème se produit pour moi après la mise à niveau de Beta2 à Beta3, aussi je ne peux plus supprimer des répertoires ou des fichiers de AS.

0 votes

La question est ouverte ici : issuetracker.google.com/issues/65032914 - Veuillez l'étoiler ;-)

14voto

wooldridgetm Points 1876

Meh, il suffit de se débarrasser des fichiers générés && alors refactor .

Gradle --> application --> construire --> nettoyer .

Gradle clean project (remove generated files/folders)

2 votes

Le nettoyage du dossier de construction permet de renommer le fichier, mais le refactoring ne peut pas fonctionner sans le fichier R.java.

0 votes

Approuvé. Le refactoring des ressources ne fonctionne pas si la classe R n'existe pas. Après avoir effectué un gradle clean et refactoré (ou renommé) la ressource qui vous intéresse, vous devez reconstruire le projet.

0 votes

FYI : Par refactor, je voulais dire aller à l'option (dans Android Studio) qui vous permet de renommer la ressource F6 (macOS). Le problème est que la version bêta d'Android Studio ne permet pas de renommer les ressources.

2voto

spitfyre Points 21

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. Naviguer vers le dossier dans lequel le fichier de mise en page est sauvegardé (soit CLI ou GUI)
  3. Renommez le fichier en lui donnant le nom que vous voulez donner au fichier remanié.
  4. Rouvrez Android Studio.

Évidemment, cela vous oblige à devoir remanier manuellement les références à l'ancien fichier, mais j'ai essayé une douzaine de choses différentes (changer les permissions de R.java, nettoyer Gradle, invalider le cache, etc.) et aucune n'a fonctionné.

Toute autre personne qui rencontre ce problème doit soumettre ce bogue dans Android Studio en utilisant Aide > Soumettre un commentaire.

Aussi, y a-t-il une chance que vous utilisiez aussi dossiers de mise en page multiples comme moi ?

0 votes

Non, je n'utilise pas de dossiers de mise en page multiples. Merci pour le conseil. J'ai signalé le bogue. issuetracker.google.com/issues/65079508

2voto

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

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

Puis essayez de renommer à nouveau.

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

0voto

Nathan Reline Points 444

J'ai pu contourner ce problème temporairement en déplaçant ma R.java dans mon src répertoire. Par exemple, si le nom de votre paquet est com.example.sample déplacez votre R.java fichier de app/build/generated/source/r/debug/com/example/sample/R.java a app/src/main/java/com/example/sample/R.java . Veillez à le supprimer lorsque vous avez terminé la refactorisation, il sera régénéré lors du processus de construction.

0voto

Craig Points 34

Le nettoyage ne fonctionne pas pour tout. Par exemple, il est impossible de renommer une vue car le fichier R.java est automatiquement régénéré. J'ai essayé de désactiver l'exécution instantanée, 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 billet de bogue à l'adresse https://issuetracker.google.com/issues/65032914 la correction sera dans la version beta 5 d'Android Studio.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X