Cordova构建失败,错误代码为: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
======================================
已将android平台添加到proj1
试图重新安装cordova
但没有工作
答案 0 :(得分:47)
由于某种原因,build目前不是可执行文件。要解决此问题,请打开终端并输入以下命令:
$ cd <your-project-directory>/platforms/android/cordova
$ chmod a+x build
答案 1 :(得分:10)
这是一个常见的PhoneGap问题。
大部分时间都与build
文件夹和脚本文件的权限有关。
尝试使用:chmod a+x
。
答案 2 :(得分:7)
您应该为两个文件添加权限:
转到Cordova根目录并运行:
chmod a+x platforms/android/gradlew
chmod a+x platforms/android/cordova/build
答案 3 :(得分:6)
要解决EACCESS问题,请复制并保存平台自定义图标/ splashes / config.xml设置并删除平台文件夹。之后运行phonegap再次从你的控制台运行android。它应该再次工作。之后,将自定义文件/设置复制回新平台文件夹。
答案 4 :(得分:6)
我的建议是删除if not (set(sys.argv) & valid_commands):
目录,然后重新安装每个平台。
platforms
运行$ cd <your-project-directory>
$ rm -r platforms # -or- manually remove the directory
$ cordova platform add <platform> # ios, android, ...
(按照接受的答案中的建议)并不能解决chmod a+x build
权限问题。更安全(更容易)将每个平台恢复到默认状态,而不是黑客攻击(并记住)单个文件/目录的权限更改。
答案 5 :(得分:3)
通过删除map / platforms / android解决了我的问题。之后我再次添加了平台。
cordova平台添加android
对我而言,它已经成功了,但我认为这个错误有很多原因。
<强>!备份你的图标!
请记住在/ platforms / android / res /中备份您的图标 或者将整个地图复制为备份,以确保您不会丢失工作......
答案 6 :(得分:3)
如果您是管理员而且只是项目根目录中的sudo chmod -R 777 ./platforms/
,您可以强制它。
答案 7 :(得分:0)
很难在这里诊断问题。您可以在问题描述中添加更多信息吗?
对于我所看到的,这并不是太多,这是因为其中一个可执行文件没有为您的用户提供正确的exec权限(假设您的输出符合Ubuntu 14.04)。
确保Android SDK工具和平台工具以及Oracle JDK和Ant在您的PATH中具有适当的权限。否则,请在此处填写更多信息。
答案 8 :(得分:0)
我有同样的问题,经过无数次的试验和错误后解决了它。我实际上已经获得了BUILD SUCCESS
问题是改变environemnt变量..
的从强>
JAVA_HOME:c:\ Program Files(x86)\ Java \ jre
路径:c:\ Program Files(x86)\ Java \ jdk1.x.x \ bin
以强>
JAVA_HOME:c:\ Program Files(x86)\ Java \ jdk1.x.x \ jre
路径:c:\ Program Files(x86)\ Java \ jdk1.x.x \ bin
注意:JAVA_HOME必须指向 JDK / JRE (jdk的jre子)。我安装了jre和jdk。似乎我需要为cordova-CLI安装两个以在windows8.1上工作 我希望这会有所帮助。