web-dev-qa-db-fra.com

Ionic build Android, Erreur: générer EACCES

Si je suis cette étape pour créer une nouvelle application:

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

Je reçois cette sortie:

> ionic-hello-world@ 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

Exécuter ionic info donne les informations suivantes:

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

Qu'est-ce que je fais mal? Est-ce un bug dans Ionic?

[Modifier]

Lancer ionic build Android --verbose donne le résultat suivant:

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

Vous avez la même erreur aujourd'hui. Merci aux commentaires ci-dessus, voici comment je l'ai corrigé.

Ran: 

cordova build Android --verbose

et il m'a montré où il a obtenu l'erreur "Permission Denied" ... Dans mon cas, c'était:

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

Pour réparer, couru:

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

...et

...
...
:cdvBuildDebug

BUILD SUCCESSFUL

Total time: 2 mins 44.195 secs

J'espère que ça aide.

88
Mayank R Jain

Les solutions ci-dessus ne fonctionnaient pas pour moi. J'ai résolu l'erreur avec cette commande:

chmod 755 platforms/Android/gradlew
15
Patrik

Pour ceux qui obtiennent une erreur similaire après la mise à jour d'Android Studio vers la version 3.x, vous pouvez exécuter la commande suivante pour y remédier:

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

J'espère que ça aide!

11
Charlie Ang

Uniquement pour OSX --- Allez dans le dossier Applications du Finder et renommez simplement le nom du package Android Studio App en supprimant l'espace.

Avant: Android Studio Après: AndroidStudio

Il n'y a pas de problème d'autorisations par défaut, juste l'espace était le problème.

À votre santé !

10
Kathan Shah

Je viens de rencontrer le même problème, et je ne pense pas que cela ait quelque chose à voir avec Sudo - cette commande manque tout simplement l'autorisation d'exécution

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

Lancer ionic build Android --verbose donne le résultat suivant:

/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

La modification des autorisations de /Applications/Android Studio 2.4 Preview.app/Contents/gradle/gradle-3.4.1/bin/gradle résout le problème.

3
Ricardo Parro

Mon problème n'était pas les autorisations ... Je ne pouvais pas tout à fait trouver l'origine du problème mais j'ai effectué une solution de contournement. cette erreur se produisait lorsque j'essayais d'ajouter un plugin qui n'était pas mis à jour vers le nouveau système de fichiers/dossiers.

cordova platform Android -v

il est revenu -> 8.0.0

Ce que j'ai fait était:

cordova platform rm Android
cordova platform add [email protected]

et alors:

cordova plugin add <plugin>

De cette façon, l'installation du plugin n'a montré aucune erreur .. mais gardez à l'esprit qu'après la commande add de cordova plugin, la version de la plate-forme Android a été automatiquement mise à jour à la version 8.0.0 ... le même problème.

Après avoir répété ce processus 2 fois, j'ai finalement réussi à exécuter le projet avec les 2 plugins installés

2
rickrvo

J'ai pu réparer en exécutant la commande suivante dans Terminal

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

 enter image description here

Après avoir exécuté que j'ai pu exécuter cette commande avec succès 

ionic cordova build Android --release 
2
Raghav

J'ai eu le même problème, je l'ai résolu en exécutant la commande ci-dessous dans le dossier de l'application:

ionic hooks add
1
Amine Soumiaa

J'ai une excellente solution.

C'est le problème de la nouvelle version d'Android Studio. Donc, rétrogradez cette version vers la version 2.3.3 https://developer.Android.com/studio/archive.html

1
Somnath

Changer les permissions de

/ Applications/Chemin d'accès à Android Studio/Contenu/gradle/gradle -. . */bin/gradle

0
Fadel

exécutez la commande cordova avec l'option --verbose. Ne préfixez pas la commande avec ionic cordova. Cela vous indiquera où se trouve le problème d'accès. Pour moi, c'était un problème où gradlew était installé sur mon système sans privilèges d'exécution. Une fois que j'ai ajouté la capacité d'exécution à gradlew, l'erreur eaccess a disparu.

0
Eric G

c'est un problème de permission chmod cmd va vous aider 

étape 1: utilise cmd Sudo cordova run Android --verbose 

étape 2: trouvez ci-dessous la ligne, elle peut varier en fonction de votre emplacement d’installation:

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

étape 3: lancez cmd avec votre emplacement 

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

étape 4: lancez cmd cordova build Android

0
gsm