Почему я получаю ошибку разрешения файла Windows (IO Error 13) с Android SDK при записи в файлы, начинающиеся с точки? - PullRequest
1 голос
/ 22 января 2010

Запуск Titanium Appcelerator 0.8.1 на виртуальной машине Windows XP с 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. К сожалению, приложение Titanium dev не будет перестраивать пакет Android для существующего приложения, если отсутствуют файлы build \ android, поэтому невозможно просто не проверить их в git.

Файлы, похоже, имеют правильные права доступа - доступны для записи текущей учетной записью пользователя, не имеют установленного флага «только для чтения» (проверяется с помощью «attrib») и устанавливают параметры доступа и владельца через Security / Расширенные диалоговые окна для файлов и каталогов (и проверяются ИТ-администратором Windows здесь)

Насколько я могу судить, файл больше не открыт (возможная причина IOError 13).

В чем может быть причина здесь? Может ли Гит быть виновником?

1 Ответ

2 голосов
/ 25 января 2010

Отвечая на мой вопрос в случае, если кто-то другой получит такую ​​же проблему:

  • Снятие скрытого флага (с attrib -H) устраняет проблему с правами доступа к файлу.

(флажок Hidden был установлен msysgit, чтобы соответствовать «скрытой» природе файлов точек в Unix)

...