2014-06-25 160 views
18

科尔多瓦构建失败,错误代码:EACCESS科尔多瓦构建命令失败,退出代码EACCES

$ 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 
====================================== 

增加了Android系统平台,proj1 试图重新安装cordova但没有奏效

回答

26

出于某种原因,构建目前不是可执行文件。要解决该问题,请打开终端并输入以下命令:

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

难以诊断这里的问题。你能否在问题描述中添加更多信息?

对于我所看到的,这并不是太多,这是因为其中一个可执行文件没有为您的用户提供正确的exec权限(假设您使用的是Ubuntu 14.04)。

确保Android SDK工具和平台工具以及Oracle JDK和Ant在您的PATH中具有适当的权限。否则,请在这里提供更多信息。

+0

这应该是一个评论,而不是一个答案 –

9

这是一个常见的PhoneGap问题。

大多数情况下,它与build文件夹和脚本文件的权限有关。

尝试使用:chmod a+x

+3

我真的感到你的痛苦,但明显的原因downvoting ...... cmon!尝试更有帮助! –

+0

你可以展示如何使用该chmod a + x行吗?或者你只是在父文件夹中输入并点击回车? –

+0

你必须'chmod a + x/directory/file'才能使其工作。请参阅:http://www.linux.org/threads/file-permissions-chmod.4094/ – fuzz

0

我有同样的问题,经过无数的试验和错误,今天解决了它。我实际上已经获得了BUILD SUCCESS。
的事情是改变environemnt变量..从

JAVA_HOME
:C:\ Program Files文件(x86)的\的Java \ jre的
路径:C:\ Program Files文件(x86)的\的Java \ jdk1.xx \ BIN

JAVA_HOME :C:\ Program Files文件(x86)的\的Java \ jdk1.xx \ jre的
路径:C:\ Program Files文件(x86)的\的Java \ jdk1.xx \ BIN

注意:将JAVA_HOME必须指向JDK/JRE(jdk的jre子节点)。我安装jre和jdk。似乎我需要为cordova-CLI安装两个版本才能在windows8.1上运行。
我希望这可以帮助。

6

要解决EACCESS问题,请复制并保存您的平台自定义图标/ splashes/config.xml设置并删除平台文件夹。之后运行phonegap再次从你的控制台运行android。它应该再次工作。之后,将自定义文件/设置复制回新的平台文件夹。

+1

此解决方案适用于我(linux) – mrmnmly

+0

它的作品也适用于我(linux) –

2

我的问题已通过删除地图/ platforms/android解决。之后,我再次添加了该平台。

科尔多瓦平台添加的Android

对我来说,它的工作,但我认为有多种原因,显示此错误..

!备份你的图标!

记得备份您的图标/平台/安卓/ RES/ 或复制整个地图的备份,以确保您不会失去你的工作......

+0

完美!这解决了我的问题。 –

2

你可以蛮力,如果你强迫它是项目根目录下的admin和sudo chmod -R 777 ./platforms/

1

我的建议是删除platforms目录,并重新安装每个平台。

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

运行chmod a+x build(如接受的答案建议)不能解决cordova platform rm <platform>权限问题。更安全(更简单)将每个平台恢复到默认状态,而不是对单个文件/目录进行黑客入侵(并记住)权限更改。

相关问题