web-dev-qa-db-fra.com

Configuration d'Android Studio - Effacement du statut en lecture seule

L'autorisation d'écrire dans certains dossiers n'est pas obtenue. Android Studio demande ceci. La seule chose que je peux cliquer sur le bouton "Annuler".

Clear read only-status

Ensuite, lorsque je souhaite quitter Android Studio, le message "ne peut pas enregistrer le projet".

Could not save project

  • Le projet est téléchargé à partir du référentiel git.
  • Fonctionne bien sur d'autres macs.
  • Le projet est téléchargé vers utilisateur/projets/nom-projet.
  • J'ai essayé de jouer avec des permissions sans succès
  • J'ai essayé de changer l'emplacement du répertoire du projet (un autre projet dans le même répertoire fonctionne)
  • Installé tous les paquets possibles

Permissions on files in project folder

Icônes verrouillées dans le studio Android.

enter image description here

J'ai besoin de suggestions dans quelle direction chercher une solution?

15
Ante

L'explication la plus probable est que le répertoire et tous ses fichiers appartiennent à un compte d'utilisateur différent sur le système. Normalement, la boîte de dialogue "Supprimer l'accès en lecture seule" résoudra les problèmes d'autorisation de lecture s'il est possible de le faire. si ce n'est pas le cas (car les fichiers appartiennent à un autre utilisateur), la boîte de dialogue refusera de vous permettre de cliquer sur le bouton OK.

Vous pouvez le confirmer en utilisant la commande ls à partir du terminal MacOS. Voici un exemple tiré de l'un de mes projets.

sbarta-macbookpro2:~/AndroidStudioProjects/ASProject$ ls -alh
total 80
-rw-r--r--  1 foo   eng   438B Jan  9 10:54 local.properties
-rw-r--r--  1 foo   eng   853B Jan  9 10:54 gradle.properties
drwxr-xr-x  3 foo   eng   102B Jan  9 10:54 gradle

Si vous exécutez man ls, vous pouvez lire la page de manuel relative à la commande ls et obtenir beaucoup plus d'informations sur la sortie de la commande, mais le caractère "w" unique dans la sortie de chaque fichier m'indique que ces fichiers ne peuvent être écrits qu'en écriture. le propriétaire du fichier. Ces fichiers appartiennent tous à l'utilisateur foo (ce que signifie la troisième colonne de sortie). Je ne suis pas foo lorsque j'utilise Android Studio, je ne peux donc pas écrire sur ces fichiers, et comme je ne suis pas foo, je ne suis pas autorisé à me donner un accès en écriture à ces fichiers.

Vous pouvez le réparer avec la commande suivante. Veillez à utiliser le bon chemin lorsque vous exécutez cette commande. faire des changements de système de fichiers à grande échelle sous Sudo peut faire beaucoup de dégâts si vous faites une erreur. 

Sudo chown -R $USER /path/to/project/directory

Il existe probablement un moyen de résoudre ce problème via l'interface utilisateur du Finder, mais la ligne de commande est assez simple.

Il vous demandera un mot de passe administrateur. Après cela, il deviendra le propriétaire de ces fichiers et la boîte de dialogue "Effacer le statut en lecture seule" devrait fonctionner pour vous.

26
Scott Barta

J'ai eu le même problème et je jouais avec les permissions et les paramètres pendant un moment. J'ai trouvé 2 solutions à ce problème:

  1. Lancez simplement votre Android Studio à partir du terminal en utilisant Sudo. Par exemple
    cd /Applications/Android\ Studio.app/Contents/MacOS/ Sudo ./studio

  2. Choisissez un dossier contenant vos projets Android -> Lire les informations -> faites défiler jusqu'à "Partage et autorisations" -> définissez l'autorisation "Personnel" comme "Lecture et écriture" -> appuyez sur la petite icône de la roue de paramètres ci-dessous -> choisissez "Appliquer à éléments inclus ».

S'il n'est pas possible de choisir "Appliquer aux éléments inclus", vous devez d'abord déverrouiller la petite icône représentant un verrou.

10
Andrew Dremov

J'ai eu le même problème avec Android Studio pour Linux (IntelliJ IDEA) Il ressemblait à ceci: lorsque j'essayais de modifier certains fichiers de projet (par exemple, build.txt ou build.gradle), le Studio affichait une mention "Effacer en lecture seule". Etat "avec le bouton" OK "émettant un autre avertissement" Echec de la modification du statut en lecture seule pour les fichiers suivants: "

 enter image description here

Étapes à suivre pour résoudre le problème (j'utiliserai l'utilisateur "alex") 1) Assurez-vous d'être sous le bon utilisateur.

echo $USER

alex

2) Vérifiez les droits de propriété du fichier en difficulté (Exemple: "build.txt)

 ls -als Downloads/Android-studio/

total 56
 4 drwxrwxr-x  8 alex alex  4096 Nov 10 11:51 .
 4 drwxr-xr-x 16 alex alex  4096 Apr 25 11:13 ..
 4 drwxrwxr-x  3 alex alex  4096 Feb  7 15:44 bin
 4 -rw-r--r--  1 root root    14 Nov  9 10:26 build.txt
 4 drwxrwxr-x  4 alex alex  4096 Nov 10 11:51 gradle
 4 -rw-r--r--  1 alex alex  1934 Nov  9 10:26 Install-Linux-tar.txt
 4 drwxrwxr-x  6 alex alex  4096 Nov 10 11:51 jre
 4 drwxrwxr-x  5 alex alex  4096 Nov 10 11:51 lib
 4 drwxrwxr-x  2 alex alex  4096 Nov 10 11:51 license
12 -rw-r--r--  1 alex alex 11352 Nov  9 10:26 LICENSE.txt
 4 -rw-r--r--  1 alex alex   397 Nov  9 10:26 NOTICE.txt
 4 drwxrwxr-x 39 alex alex  4096 Nov 10 11:51 plugins

Ce build.txt appartient à la racine! C'est pourquoi Android Studio ne peut pas l'éditer.

3) Fixer les droits de propriété pour tout le répertoire du projet

Sudo chown -R $USER /project/directory/
6
Alex Burov

CD sur le chemin racine de votre projet et exécutez cette commande Sudo chown -R YOUR_PROJECT_FOLDER_NAME 

cela résoudra votre problème.

1
Joel Jerushan

Dans Windows, j'ai résolu le problème (après avoir supprimé le dossier .idea. Je ne sais pas si cela fait une différence) en sélectionnant l'option Import Non-Android Studio Project dans l'écran Welcome to Android Studio. Vous obtenez cet écran quand aucun projet n'est ouvert.

Choses que j'ai essayées mais qui n'ont pas fonctionné pour moi:

  1. exécuté en tant qu'administrateur depuis cmd ----> attrib -r +s c:\workingdir and attrib -r +s c:\workingdir\*
  2. Modification de l'indicateur en lecture seule à partir des propriétés.
  3. Autorisations modifiées en mode sans échec.
1
Amrit Grewal

Fais ça.

1, changez quelque chose du fichier;

2, une boîte de dialogue est affichée, dans le coin en bas à droite devrait être une ligne vous demandant "voulez-vous supprimer supprimer";

3, vérifiez cette ligne;

  1. appuyer sur OK.

la lecture seule aura disparu.

0
Kai Wang
Sudo chmod 777 -R 'the path of your project'.

Ce n'est pas bon pour votre sécurité mais ça marche à coup sûr!

0
Teo Theodoridis

Vous pouvez essayer de donner une permission de lecture-écriture à votre projet Android, ses sous-modules, leurs sous-modules, les leurs, etc.

yourName-MacBook-Pro:androidProjectsFolder yourusername$ Sudo chmod -R 777 .   

(N'oubliez pas le point "." À la fin)

-R signifie récursion. 777 est pour "lecture-écriture"

EDIT: N'oubliez pas, il est conseillé de vérifier si l'autorisation est la cause du problème. Sous Mac, accédez au chemin d'accès au fichier de problème, effectuez un clic droit, cliquez sur "Obtenir des informations", faites défiler vers le bas pour voir quelle autorisation est donnée (Lecture seule, Lecture & écriture, Personnalisé, etc.). Si le problème n'est pas une autorisation, un niveau d'accès élevé peut entraîner des problèmes de sécurité.

0
Onat Korucu