为什么在以DOT开头写入文件时,我会使用Android SDK获得Windows文件权限错误(IO错误13)?
-
22-09-2019 - |
题
在Windows XP虚拟机上运行Titanium AppCelerator 0.8.1,使用Android SDK 2.1运行
运行构建/安装应用程序时,获取以下错误(在此处显示最后一行以显示):
[TRACE] f = open(os.path.join(dest, dest_file), "w")
[TRACE] IOError: [Errno 13] Permission denied:
'C:\\Documents and Settings\\firstname.surname\\Desktop\\MyApp\\build\\android\\.classpath'
删除.classpath会导致创建.ClassPath,但是错误只是移至必须写入的下一个文件上。
这些文件位于GIT存储库中,通过MSYSGIT进行了检查,但是当文件直接从GIT服务器复制到Windows计算机时,也会发生同样的错误。不幸的是,如果缺少构建 Android文件,Titanium Dev应用程序将不会重建现有应用程序的Android软件包,因此不可能不将其检查成Git。
这些文件似乎具有正确的权限 - 由当前用户帐户写作,没有仅读取标志集(通过'attrib'检查),并通过“安全/高级对话”设置了访问选项和所有者文件和目录(并在此处由windows检查)
据我所知,没有其他东西打开该文件(ioError 13的可能原因)。
这里可能是什么原因? Git可以成为罪魁祸首吗?
解决方案
回答我自己的问题,以防其他人遇到同样的问题:
- 删除隐藏的标志(带有
attrib -H
)解决文件权限问题。
(隐藏的标志是由msysgit设置的,以匹配unix中互联网的“隐藏”性质)
不隶属于 StackOverflow