cordova build Command failed with exit code EACCES

2019-01-23 02:38发布

问题:

Cordova build failed with error code : EACCESS

$ cordova build android
Running command: /home/user/proj1/platforms/android/cordova/build 
execvp(): Permission denied
Error: /home/user/proj1/platforms/android/cordova/build: Command failed with exit code EACCES
    at ChildProcess.whenDone (/usr/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:131:23)
    at ChildProcess.EventEmitter.emit (events.js:95:17)
    at Process.ChildProcess._handle.onexit (child_process.js:795:12)

 ======================================   
     OS  : Ubuntu 14.04
     npm version: 1.4.16
     cordova version : 3.5.0-0.2.4
 ======================================

have added android platform to proj1 tried to re-installing cordova but did not work

回答1:

For some reason build is not currently an executable file. To fix that, open the terminal and enter the following commands:

$ cd <your-project-directory>/platforms/android/cordova
$ chmod a+x build


回答2:

This is a common PhoneGap problem.

Most of the time it has to do with permissions on the build folder and script file.

Try using: chmod a+x on them.



回答3:

To solve the EACCESS Problem please copy and save your platform custom icons / splashes / config.xml settings and delete the platform folder. after that run phonegap run android from your console again. it should work again. after that copy back the custom files / settings to the new platform folder.



回答4:

My advice is to remove the platforms directory, and reinstall each platform.

$ cd <your-project-directory>
$ rm -r platforms  # -or- manually remove the directory
$ cordova platform add <platform>  # ios, android, ...

Running chmod a+x build (as suggested in the accepted answer) doesn't fix cordova platform rm <platform> permission issues. Safer (and easier) to restore each platform to it's default state, instead of hacking (and remembering) permission changes for individual files / directories.



回答5:

My problem was solved by removing the map /platforms/android. After that I added the platform again.

cordova platform add android

For me it worked out, but I think there are multiple reasons this error is shown..

! Backup your icons !

Remember to backup your icons in /platforms/android/res/ Or copy the whole map as backup to be sure you don't lose your work...



回答6:

You could brute force it if you are an admin and just sudo chmod -R 777 ./platforms/ from the project root directory.



回答7:

Hard to diagnose the problem here. Could you add more information to the problem description?

For what I can see, which is not too much, it is because one of the executables doesn't have the right exec permissions for your user (assuming you are on Ubuntu 14.04 per your output).

Ensure Android SDK Tools and Platform-Tools, as well as Oracle JDK and Ant, are in your PATH with the appropriate permissions. Otherwise, put more information here.



回答8:

I have same problems, solved it today after countless of trials and error. I have actually get BUILD SUCCESS to appear.
the thing is to change the environemnt variable..
from

JAVA_HOME : c:\Program Files(x86)\Java\jre
PATH: c:\Program Files(x86)\Java\jdk1.x.x\bin

to

JAVA_HOME : c:\Program Files(x86)\Java\jdk1.x.x\jre
PATH: c:\Program Files(x86)\Java\jdk1.x.x\bin

NOTE: the JAVA_HOME has to point to JDK/JRE (the jre child of jdk). I install both jre and jdk. it seems that I need to install both for the cordova-CLI to work on windows8.1.
I hope this helps.