2010-01-22 18 views
1

Courir Appcelerator Titanium 0.8.1 sur une machine virtuelle Windows XP, avec Android SDK 2.1Pourquoi une erreur d'autorisation de fichier Windows (erreur d'E/S 13) est-elle détectée avec le SDK Android lors de l'écriture de fichiers commençant par un point?

Lors de l'exécution de construction/installer l'application, obtenir l'erreur suivante (dernière ligne brisée pour l'affichage ici):

[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' 

La suppression de .classpath entraîne la création de .classpath, mais l'erreur se déplace simplement vers le fichier suivant dans lequel elle doit écrire.

Les fichiers sont dans un référentiel git, extraits via msysgit, mais la même erreur se produit lorsque les fichiers sont copiés directement du serveur git sur la machine Windows. Malheureusement, l'application de développement Titanium ne reconstruira pas le package Android pour une application existante si les fichiers build \ android sont manquants, il n'est donc pas possible de ne pas les vérifier dans git. Les fichiers semblent avoir les permissions correctes - sont inscriptibles par le compte d'utilisateur actuel, ne possèdent pas l'indicateur en lecture seule (vérifié via 'attrib'), et ont défini les options d'accès et le propriétaire via la sécurité/Advanced dialogues sur les fichiers et les répertoires (et vérifié par un administrateur Windows IT ici)

Pour autant que je sache, rien d'autre n'a le fichier ouvert (une cause possible de IOError 13).

Quelle pourrait être la raison pour cela? Git pourrait-il être le coupable?

Répondre

2

répondre à ma propre question au cas où quelqu'un d'autre obtient la même question:

  • enlever le drapeau caché (avec attrib -H) résout le problème d'autorisation de fichier.

(le drapeau caché a été fixé par msysgit, pour correspondre à la nature 'cachée' de dotfiles sous Unix)