安卓工作室设置 - 清除只读状态

27

无法获得写入特定文件夹的权限。 Android Studio提出要求,但我只能点击“取消”按钮。

清除只读状态

之后,当我想离开Android Studio时,会出现“无法保存项目”的提示。

无法保存项目

  • 该项目从git存储库下载。
  • 在其他Mac上运行良好。
  • 该项目下载到用户/项目/项目名称。
  • 尝试更改权限而不成功
  • 尝试更改项目目录位置(同一目录中的另一个项目正在工作)
  • 已安装所有可能的包

项目文件夹中文件的权限

Android studio中的锁定图标。

输入图像描述

我需要任何建议,以寻找解决方案的方向?


我试了一下。它设置在同一个位置。 - Ante
Android Studio 进程归属于哪个用户? - LeGEC
请将ls -R -alh命令在您的项目目录下的输出内容上传至pastebin.com。 - Gaurav Joseph
3
你尝试过使用 sudo chmod -R 777 /<path>/<to>/<your>/<project> 吗?该命令可以修改你的项目文件夹权限,让其对所有用户可读可写可执行。 - Vlad Nikitin
这里是 ls -R -alh:http://pastebin.com/GF1sDB3k - Ante
显示剩余2条评论
12个回答

33

最有可能的解释是该目录及其所有文件的所有者不同于系统上的当前用户帐户。通常,“清除只读访问权限”对话框将在可能的情况下修复读取权限问题;如果不行(因为文件的所有者是另一个用户),对话框将拒绝让您单击“确定”按钮。

您可以使用MacOS终端中的ls命令进行确认。以下是我的一个随机项目的示例:

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
如果您执行man ls,您可以阅读与ls命令相关的手册页面,并获取有关该命令输出的更多信息,但是每个文件输出中的单个“w”字符告诉我这些文件只能由文件所有者进行写入。这些文件都归 foo 用户所有(这就是输出的第三列表示的内容)。在运行 Android Studio 时,我不是 foo 用户,因此无法写入这些文件,而且由于我不是 foo 用户,我没有权限将写访问权限授予自己。
您可以使用以下命令解决此问题。在运行此命令时,请务必使用正确的路径;如果犯错,则以sudo身份对整个文件系统进行大规模更改可能会造成很大的损害。
sudo chown -R $USER /path/to/project/directory

通过 Finder 用户界面可能有解决这个问题的方法,但通过命令行也很简单。

它会要求你输入管理员密码,之后你应该就成为那些文件的所有者了,然后 "清除只读状态" 对话框就可以对你起作用。


那显示了顶级目录。它下面有没有权限问题的文件? - Scott Barta

22

我在Linux版的Android Studio(IntelliJ IDEA)中遇到了同样的问题。当我尝试编辑一些项目文件(例如build.txt或build.gradle)时,Studio会显示一个“清除只读状态”对话框窗口,而“确定”按钮则会抛出另一个警告:“无法更改以下文件的只读状态:”。具体情况如下图:

enter image description here

解决步骤(以用户“alex”为例): 1)确保您处于正确的用户下

echo $USER

alex

2) 检查出问题文件(例如:"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

那个build.txt文件的所有者是root!这就是为什么Android Studio无法编辑它的原因。

3)修复整个项目目录的所有权权限。

sudo chown -R $USER /project/directory/

感谢您详细的解释,您救了我一命! - Al Walid Ashik

14

我曾经遇到同样的问题并调整了权限和设置了一段时间。我为此问题找到了2个解决方案:

  1. 在终端中使用sudo启动Android Studio,例如:
    cd /Applications/Android\ Studio.app/Contents/MacOS/ sudo ./studio

  2. 选择一个包含你的Android项目的文件夹 -> 获取信息 -> 滚动到“共享和权限” -> 将“staff”的权限设置为“读取和写入” -> 按下下面的小设置齿轮图标 -> 选择“应用于封装的项目”。

如果没有选择“应用于封装的项目”的可能性,那么您需要先解锁小锁定图标。


2
  • 关闭Android Studio。
  • 删除.idea文件夹(它在您的项目根目录中)。
  • 启动Android Studio并打开项目。

2

对我没用。我的整个项目都无法编辑,而“使可写”已经设置为可写... - DBIT

2
在Windows中,我解决了这个问题(在删除.idea文件夹之后。我不知道是否有任何区别),通过从“欢迎使用Android Studio”屏幕上选择“导入非Android Studio项目”选项。当没有项目打开时,您会看到这个屏幕。
以下是我尝试过但对我无效的方法:
1. 以管理员身份从命令提示符中执行 ----> attrib -r +s c:\workingdir and attrib -r +s c:\workingdir\* 2. 从属性中更改只读标志。 3. 在安全模式下更改权限。

2
你可以尝试给你的安卓项目以及其子模块、它们的子模块等读写权限。这样应该就能够解决问题了。原始回答: "最初的回答"。
yourName-MacBook-Pro:androidProjectsFolder yourusername$ sudo chmod -R 777 .   

(不要忘记在末尾加上句点 ".")

-R代表递归。777代表"读写"

编辑:请记住,首先检查权限是否导致问题是明智的。在Mac中,转到有问题的文件路径,右键单击,点击“获取信息”,向下滚动,查看给出了哪些权限(只读,读取&写入,自定义等)。如果问题不是权限问题,则提高访问级别可能会导致安全问题。


1

进入你的项目根目录,运行以下命令:sudo chown -R YOUR_PROJECT_FOLDER_NAME

这将解决你的问题。


0

好的,解决这个问题最好的方法是:

  • 从微软官网下载VS Studio。

  • 保存并关闭你的项目。

  • 现在用VS Studio编辑或打开你的文件。

  • 进行更改并保存。

  • 享受!


0

请按照以下步骤操作:

1. 更改文件的某些内容;

2. 弹出对话框,在右下角应该有一行询问您是否要删除;

3. 检查该行;

  1. 点击“确定”按钮。

只读状态将被取消。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接