繁体   English   中英

Cordova android构建立即失败[错误:生成EACCES]

[英]Cordova android build fails immediately [Error: spawn EACCES]

我刚刚开始使用Cordova(PhoneGap)并尝试使用它构建我的第一个项目,但是我遇到了编译步骤的问题 - 当我尝试构建时(在追踪问题时我打破了build步骤preparecompile ,前者的工作正常我知道)我看到这个:

~/Projects/MyProject$ cordova compile android
Compiling app on platform "android" via command "/media/glenatron/local disk/Projects/Cordova/MyProject/platforms/android/cordova/build" 
{ [Error: spawn EACCES] code: 'EACCES', errno: 'EACCES', syscall: 'spawn' }

现在从我可以看出这是一个权限问题,但没有Node或Cordova经验,但我不知道如何解决它。 它看起来好像正在尝试产生另一个进程 - 也许是Android SDK? - 它失败了。

有没有办法我可以让Node或Cordova给我更多关于发生了什么的信息,或者是否有某个日志文件可以帮助我找出问题所在?

编辑:我意识到cordova有一个--verbose开关,当我激活它时,我得到上面的输出另外几行......

Error: spawn EACCES
    at errnoException (child_process.js:980:11)
    at Process.ChildProcess._handle.onexit (child_process.js:771:34)

不幸的是,他们似乎并没有实际上给更多的信息,像过程中它无法启动。

对我来说,这已经解决了这个问题:

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

这是一个权限问题,只需执行:

chmod 777 "/media/glenatron/localdisk/Projects/Cordova/MyProject/platforms/android/cordova/build"

这应该解决问题。

使用类似Solidak的详细建议作品。

cordova build --release --verbose android

最后一个命令是访问/platforms/android/gradlew所以我chmod +x那个文件,它工作。

我想,每个人都不同。 运行--verbose会为您提供Cordova需要访问的文件。 从那里你可以chmod 777 <file> 您应该运行以找出无法访问的文件的命令如下所示: cordova build --release --verbose android

我面临同样的问题。 在我的例子中,我将示例cordova项目放在与home文件夹不同的ext3分区上。 由于分区不是NTFS,因此权限应该不是问题。 但是,当我尝试所有建议的方法(更改权限,使所有可执行文件)时,它们都没有工作。 我在家庭分区中创建示例cordova文件夹后,此问题就消失了。

对于MAC用户,将名称从“Android Studio”更改为AndroidStudio。 我的cordova构建以android studio的名义取回了slash(),所以我更改了app的名称。 它对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM