Cordova android build échoue immédiatement [Erreur: spawn EACCES]
Je suis juste de commencer avec avec Cordova ( PhoneGap ) et d'essayer de construire mon premier projet avec elle, cependant, je suis confronté à un problème avec mon étape de compilation - lorsque j'essaie de construire ( dans la traque de le problème j'ai rompu le build
étape dans prepare
et compile
et l'ancien fonctionne très bien que ce que j'en sais ), je vois ceci:
~/Projects/MyProject$ cordova compile 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' }
Maintenant de ce que je peux dire que c'est un problème d'autorisations, mais n'ayant aucun Nœud ou Cordova expérience mais je suis à une perte quant à la façon de le résoudre. Il semble qu'il est en train d'essayer de pondre un autre processus - peut-être le kit SDK d'Android? - et c'est un échec.
Est-il un moyen que je peux demander à Nœud ou Cordoue à me donner plus d'informations sur ce qui se passe ou est-il un fichier log quelque part qui va m'aider à traquer quel est le problème?
Edit: j'ai réalisé cordova a un --verbose
interrupteur et quand je l'ai activé, je reçois le au-dessus de la sortie avec un supplément de quelques lignes...
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 réellement donner beaucoup plus d'informations, comme qui processus, il ne peut pas démarrer.
Vous devez vous connecter pour publier un commentaire.
C'est un problème d'autorisation, exécutez simplement:
Qui devrait résoudre le problème.
chmod +x platforms/android/cordova/build
Pour moi, cela a résolu:
chmod 777 /Applications/Android\ Studio.app/Contents/gradle/gradle-2.2.1/bin/gradle
chmod 777 "/Applications/Android Studio.app/Contents/gradle/gradle-2.2.1/bin/gradle"
chmod 777 /Applications/Android\ Studio.app/Contents/gradle/gradle-4.1/bin/gradle
À l'aide détaillé comme Solidak suggéré œuvres.
cordova build --release --verbose android
La dernière commande a été à l'accès
/platforms/android/gradlew
donc jechmod +x
ce fichier et cela a fonctionné.Son différent pour chacun, je suppose. L'exécution de
--verbose
serait vous donner le fichier que Cordova besoins d'accès. De là, vous pouvezchmod 777 <file>
. La commande que vous devez exécuter pour comprendre l'inaccessible fichier ressemble à ceci:cordova build --release --verbose android
+x
au lieu de777
est adéquate.J'ai été confronté au même problème. Dans mon cas, j'avais pris l'exemple de cordova projet sur une autre partition ext3 que le dossier home. Depuis la partition n'a pas été NTFS, les autorisations ne devrait pas avoir été un problème. Mais quand j'ai essayé toutes les méthodes proposées (modification des autorisations, et de les rendre exécutable), aucun d'entre eux travaillaient. Ce problème a disparu dès que j'ai créé l'exemple de cordova dossier dans ma partition home.
Pour les utilisateurs de MAC modifier le nom de "Android Studio" à AndroidStudio. Mon cordova construire a été prise de barre oblique inverse() dans le nom d'android studio, j'ai donc changé le nom de l'application.
Il est travaillé pour moi.