web-dev-qa-db-de.com

Ionic Build Android, Fehler: Spawn EACCES

Wenn ich diese Schritte befolge, um eine neue App zu erstellen:

Rubens-MacBook-Pro:~ rlopez$ npm install -g cordova ionic
Rubens-MacBook-Pro:~ rlopez$ ionic start myApp tabs
Rubens-MacBook-Pro:~ rlopez$ cd myApp
Rubens-MacBook-Pro:myApp rlopez$  ionic platform add [email protected] //6.1.x has a bug
Rubens-MacBook-Pro:myApp rlopez$  ionic build Android

Ich bekomme diese Ausgabe:

> [email protected] ionic:build /Users/rlopez/Proyectos/sfp-concursaPy
> ionic-app-scripts build

[15:13:28]  ionic-app-scripts 1.1.4 
[15:13:28]  build dev started ... 
[15:13:28]  clean started ... 
[15:13:28]  clean finished in 3 ms 
[15:13:28]  copy started ... 
[15:13:28]  transpile started ... 
[15:13:31]  transpile finished in 2.96 s 
[15:13:31]  preprocess started ... 
[15:13:31]  preprocess finished in less than 1 ms 
[15:13:31]  webpack started ... 
[15:13:31]  copy finished in 3.17 s 
[15:13:41]  webpack finished in 9.26 s 
[15:13:41]  sass started ... 
[15:13:41]  sass finished in 897 ms 
[15:13:41]  postprocess started ... 
[15:13:41]  postprocess finished in 1 ms 
[15:13:41]  lint started ... 
[15:13:41]  build dev finished in 13.15 s 
[15:13:43]  lint finished in 2.04 s 
Android_HOME=/Users/rlopez/Library/Android/sdk

Java_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home

Error: spawn EACCES

Das Ausführen von ionischen Informationen ergibt Folgendes:

Your system information:

Cordova CLI: 6.5.0 
Ionic Framework Version: 3.1.1
Ionic CLI Version: 2.2.3
Ionic App Lib Version: 2.2.1
Ionic App Scripts Version: 1.3.6
ios-deploy version: 1.8.5 
ios-sim version: 5.0.13 
OS: OS X El Capitan
Node Version: v6.10.1
Xcode version: Xcode 7.3.1 Build version 7D1014

Was mache ich falsch? Ist das ein Fehler in Ionic?

[Bearbeiten]

Wenn Sie ionic build Android --verbose ausführen, erhalten Sie folgende Ausgabe:

Running command: "/Applications/Android Studio 2.4 
Preview.app/Contents/gradle/gradle-3.4.1/bin/gradle" -p 
/Users/rlopez/myApp/platforms/Android wrapper -b 
/Users/rlopez/myApp/platforms/Android/wrapper.gradle

Error: spawn EACCES
    at exports._errnoException (util.js:1018:11)
    at ChildProcess.spawn (internal/child_process.js:319:11)
    at Object.exports.spawn (child_process.js:378:9)
    at exports.spawn(/Users/rlopez/myApp/platforms/Android/cordova/node_modules/cordova-common/src/superspawn.js:134:31)
    at GradleBuilder.runGradleWrapper(/Users/rlopez/myApp/platforms/Android/cordova/lib/builders/GradleBuilder.js:78:14)
    at /Users/rlopez/myApp/platforms/Android/cordova/lib/builders/GradleBuilder.js:178:21
    at _fulfilled (/Users/rlopez/myApp/platforms/Android/cordova/node_modules/q/q.js:854:54)
    at self.promiseDispatch.done (/Users/rlopez/myApp/platforms/Android/cordova/node_modules/q/q.js:883:30)
    at Promise.promise.promiseDispatch (/Users/rlopez/myApp/platforms/Android/cordova/node_modules/q/q.js:816:13)
    at /Users/rlopez/myApp/platforms/Android/cordova/node_modules/q/q.js:570:49
35
rubenlop88

Habe heute den gleichen Fehler. Dank der obigen Kommentare habe ich das Problem behoben.

Ran: 

cordova build Android --verbose

und es zeigte mir, wo es den Fehler "Permission Denied" gab ... In meinem Fall war es:

Running command: /usr/libexec/Java_home
Command finished with error code 0: /usr/libexec/Java_home
Android_HOME=/Users/mj/phonegap/adt-bundle-mac-x86_64-20140321/sdk
Java_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home
Running command: "/Applications/Android Studio.app/Contents/gradle/gradle-2.2.1/bin/gradle"
 -p /Users/mj/EduceMobile/app/platforms/Android wrapper -b /Users/mj/EduceMobile/app/platfo
rms/Android/wrapper.gradle

Zu beheben, lief:

Sudo chmod 755 /Applications/Android\ Studio.app/Contents/gradle/gradle-2.2.1/bin/gradle

...und

...
...
:cdvBuildDebug

BUILD SUCCESSFUL

Total time: 2 mins 44.195 secs

Ich hoffe es hilft.

88
Mayank R Jain

Die oben genannten Lösungen haben bei mir nicht funktioniert. Ich habe den Fehler mit diesem Befehl gelöst:

chmod 755 platforms/Android/gradlew
15
Patrik

Für diejenigen, die nach der Aktualisierung von Android Studio auf Version 3.x einen ähnlichen Fehler erhalten, können Sie den folgenden Befehl ausführen, um den Fehler zu beheben:

Sudo chmod 755 /Applications/Android\ Studio.app/Contents/gradle/gradle-4.1/bin/gradle

Hoffentlich hilft es!

11
Charlie Ang

Nur für OSX --- Gehen Sie im Finder in den Anwendungsordner und benennen Sie den Namen des Android Studio-App-Pakets einfach um, indem Sie Leerzeichen dazwischen entfernen.

Vor: Android Studio Nach: AndroidStudio

Standardmäßig gibt es keine Berechtigungen, nur der Platz war das Problem.

Prost !

10
Kathan Shah

Ich bin gerade auf das gleiche Problem gestoßen und ich glaube nicht, dass es etwas mit Sudo zu tun hat - dieser Befehl lässt einfach die Ausführungsberechtigung nicht zu

chmod +x hooks/after_prepare/010_add_platform_class.js
7
Vijay Chauhan
Sudo chmod 755 /Applications/Android\ Studio.app/Contents/gradle/gradle-4.1/bin/gradle
6
Basem Olimy

Wenn Sie ionic build Android --verbose ausführen, erhalten Sie folgende Ausgabe:

/Applications/Android Studio 2.4 
Preview.app/Contents/gradle/gradle-3.4.1/bin/gradle -p 
/Users/rlopez/myApp/platforms/Android wrapper -b 
/Users/rlopez/myApp/platforms/Android/wrapper.gradle

Error: spawn EACCES
    at exports._errnoException (util.js:1018:11)
    at ChildProcess.spawn (internal/child_process.js:319:11)
    at Object.exports.spawn (child_process.js:378:9)
    at exports.spawn(/Users/rlopez/myApp/platforms/Android/cordova/node_modules/cordova-common/src/superspawn.js:134:31)
    at GradleBuilder.runGradleWrapper(/Users/rlopez/myApp/platforms/Android/cordova/lib/builders/GradleBuilder.js:78:14)
    at /Users/rlopez/myApp/platforms/Android/cordova/lib/builders/GradleBuilder.js:178:21
    at _fulfilled (/Users/rlopez/myApp/platforms/Android/cordova/node_modules/q/q.js:854:54)
    at self.promiseDispatch.done (/Users/rlopez/myApp/platforms/Android/cordova/node_modules/q/q.js:883:30)
    at Promise.promise.promiseDispatch (/Users/rlopez/myApp/platforms/Android/cordova/node_modules/q/q.js:816:13)
    at /Users/rlopez/myApp/platforms/Android/cordova/node_modules/q/q.js:570:49

Durch Ändern der Berechtigungen von /Applications/Android Studio 2.4 Preview.app/Contents/gradle/gradle-3.4.1/bin/gradle wird das Problem gelöst.

3
Ricardo Parro

Mein Problem waren keine Berechtigungen ... Ich konnte den Ursprung des Problems nicht ganz finden, aber ich habe eine Problemumgehung durchgeführt. Dieser Fehler trat auf, als ich versuchte, ein Plugin hinzuzufügen, das nicht zum neuen Dateisystem/Ordnersystem hinzugefügt wurde.

cordova platform Android -v

es gab zurück -> 8.0.0

Was ich gemacht habe war:

cordova platform rm Android
cordova platform add [email protected]

und dann:

cordova plugin add <plugin>

Auf diese Weise zeigte die Plugin-Installation keine Fehler. Denken Sie jedoch daran, dass die Android-Plattformversion nach dem Cordova-Plugin-Befehl automatisch erneut auf 8.0.0 aktualisiert wurde. Daher musste ich den Vorgang wiederholen, um ein weiteres Plugin hinzuzufügen das gleiche Problem.

Nachdem ich diesen Vorgang 2 Mal wiederholt hatte, konnte ich schließlich das Projekt mit den 2 installierten Plugins ausführen

2
rickrvo

Ich konnte das Problem beheben, indem Sie den folgenden Befehl in Terminal ausführen

Sudo chmod 755 "/Applications/Android Studio.app/Contents/gradle/gradle-4.1/bin/gradle"

 enter image description here

Nachdem ich das ausgeführt hatte, konnte ich diesen Befehl erfolgreich ausführen 

ionic cordova build Android --release 
2
Raghav

Ich hatte das gleiche Problem. Ich habe es gelöst, indem Sie den folgenden Befehl im App-Ordner ausgeführt haben:

ionic hooks add
1
Amine Soumiaa

Ich habe eine großartige Lösung.

Dies ist das Problem der neuen Version von Android Studio. Also downgrade diese Version auf 2.3.3 https://developer.Android.com/studio/archive.html

1
Somnath

Ändern der Berechtigungen von

/ Anwendungen/Android Studio App Path/Inhalt/gradle/gradle -. . */bin/gradle

0
Fadel

führen Sie den Befehl cordova mit der Option --verbose aus. Dem Befehl darf kein ionisches Cordova vorangestellt werden. Dadurch erfahren Sie, wo das Zugriffsproblem liegt. Für mich war es ein Problem, wo gradlew ohne Ausführungsrechte auf meinem System installiert wurde. Sobald ich die Ausführungsfähigkeit zum gradlew hinzugefügt habe, verschwand der Eaccess-Fehler.

0
Eric G

es ist ein Berechtigungsproblem, das Ihnen chmod cmd hilft 

Schritt 1: use cmd Sudo cordova run Android --verbose 

Schritt 2: find unterhalb der Zeile kann sich je nach Installationsort unterscheiden:

/Applications/Android Studio.app/Contents/gradle/gradle-4.1/bin/gradle

Schritt 3: Führen Sie cmd mit Ihrem Standort aus 

Sudo chmod -R 777 /Applications/Android\ Studio.app

Schritt 4: cmd cordova build Android ausführen

0
gsm
chmod 755 platforms/Android/gradlew
0
tuhin kole