Je viens tout juste de commencer avec Cordova (PhoneGap) et d’essayer de construire mon premier projet avec ce dernier. dans prepare
et comstack
et le premier fonctionne bien pour autant que je sache), je vois ceci:
~/Projects/MyProject$ cordova comstack android Compiling app on platform "android" via command "/media/glenatron/local disk/Projects/Cordova/MyProject/platforms/android/cordova/build" { [Error: spawn EACCES] code: 'EACCES', errno: 'EACCES', syscall: 'spawn' }
D’après ce que je peux dire, il s’agit d’un problème d’permissions, mais je n’ai encore aucune expérience en matière de nœud ou de Cordova et je ne sais pas comment le résoudre. On dirait qu’il essaie de générer un autre processus – peut-être le SDK Android? – et ça échoue.
Est-ce que je peux demander à Node ou à Cordova de me donner plus d’informations sur ce qui se passe ou existe-t-il un fichier journal quelque part qui m’aidera à identifier le problème?
Edit: J’ai réalisé que --verbose
avait un commutateur --verbose
et quand je l’ai activé, je reçois la sortie ci-dessus avec quelques lignes supplémentaires …
Error: spawn EACCES at errnoException (child_process.js:980:11) at Process.ChildProcess._handle.onexit (child_process.js:771:34)
Malheureusement, ils ne semblent pas vraiment donner beaucoup plus d’informations, comme le processus qu’il ne peut pas démarrer.
C’est un problème de permission, exécutez simplement:
chmod 777 "/media/glenatron/localdisk/Projects/Cordova/MyProject/platforms/android/cordova/build"
Cela devrait résoudre le problème.
Pour moi, cela a résolu le problème:
chmod 777 /Applications/Android\ Studio.app/Contents/gradle/gradle-2.2.1/bin/gradle
Utiliser verbose comme suggéré par Solidak.
cordova build --release --verbose android
La dernière commande a été d’accéder à /platforms/android/gradlew
afin que je chmod +x
ce fichier et cela a fonctionné.
C’est différent pour tout le monde, je suppose. Exécuter --verbose
vous donnerait le fichier auquel Cordova a besoin d’accéder. De là, vous pouvez chmod 777
. La commande à exécuter pour déterminer le fichier inaccessible se présente comme cordova build --release --verbose android
: cordova build --release --verbose android
Je faisais face au même problème. Dans mon cas, j’avais placé le projet exemple Cordova sur une partition ext3 différente de celle du dossier de départ. Comme la partition n’était pas NTFS, les permissions n’auraient pas dû être un problème. Mais lorsque j’ai essayé toutes les méthodes suggérées (modification des permissions, tout rendu exécutable), aucune d’entre elles n’a fonctionné. Ce problème a disparu dès que j’ai créé le dossier exemple Cordova dans ma partition d’origine.
Pour les utilisateurs de MAC, changez le nom “Android Studio” en AndroidStudio. Ma version de Cordova reprenait slash () au nom du studio android, j’ai donc changé le nom de l’application. Ça marche pour moi.