Android gradle是构建Cordova应用程序所必需的吗

Android gradle是构建Cordova应用程序所必需的吗,android,cordova,gradle,Android,Cordova,Gradle,自从我更新了Cordova并安装了gradle之后,我就无法构建以前可以运行的android应用程序。我刚刚注意到,在与gradle相关的android仿真器(以前可以运行)中运行应用程序时,我遇到了一个错误 Waiting for emulator... Booting up emulator (this may take a while).......................BOOT COMPLETE Running: /home/lyndon/myapp/platforms

自从我更新了Cordova并安装了gradle之后,我就无法构建以前可以运行的android应用程序。我刚刚注意到,在与gradle相关的android仿真器(以前可以运行)中运行应用程序时,我遇到了一个错误

Waiting for emulator...  
Booting up emulator (this may take a while).......................BOOT COMPLETE  
Running: /home/lyndon/myapp/platforms/android/gradlew cdvBuildDebug -b /home/lyndon/myapp/platforms/android/build.gradle -PcdvBuildArch=arm -Dorg.gradle.daemon=true  
Unzipping /home/lyndon/.gradle/wrapper/dists/gradle-2.2.1-all/2m8005s69iu8v0oiejfej094b/gradle-2.2.1-all.zip to /home/lyndon/.gradle/wrapper/dists/gradle-2.2.1-all/2m8005s69iu8v0oiejfej094b  
Exception in thread "main" java.lang.RuntimeException:   java.util.zip.ZipException: error in opening zip file
at   org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:78)
at org.gradle.wrapper.Install.createDist(Install.java:47)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48)
Caused by: java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)  
at java.util.zip.ZipFile.<init>(ZipFile.java:220)  
at java.util.zip.ZipFile.<init>(ZipFile.java:150)  
at java.util.zip.ZipFile.<init>(ZipFile.java:164)  
at org.gradle.wrapper.Install.unzip(Install.java:160)  
at org.gradle.wrapper.Install.access$400(Install.java:29)  
at org.gradle.wrapper.Install$1.call(Install.java:70)  
at org.gradle.wrapper.Install$1.call(Install.java:47)  
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)  
... 3 more  

/home/lyndon/myapp/platforms/android/cordova/node_modules/q/q.js:126
                throw e;  
                      ^  
Error code 1 for command: /home/lyndon/myapp/platforms/android/gradlew with args: cdvBuildDebug,-b,/home/lyndon/myapp/platforms/android/build.gradle,-PcdvBuildArch=arm,-Dorg.gradle.daemon=true  
Error: /home/lyndon/myapp/platforms/android/cordova/run: Command failed with exit code 1  
at ChildProcess.whenDone   (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:134:23)  
at ChildProcess.emit (events.js:110:17)  
at maybeClose (child_process.js:1015:16)  
at Process.ChildProcess._handle.onexit (child_process.js:1087:5)     
正在等待emulator。。。
启动emulator(这可能需要一段时间)………..启动完成
正在运行:/home/lyndon/myapp/platforms/android/gradlew cdvBuildDebug-b/home/lyndon/myapp/platforms/android/build.gradle-PcdvBuildArch=arm-Dorg.gradle.daemon=true
解压缩/home/lyndon/.gradle/wrapper/dists/gradle-2.2.1-all/2M8005S69IU8V0OIEJ094B/gradle-2.2.1-all.zip到/home/lyndon/.gradle/wrapper/dists/gradle-2.2.1-all/2M8005S69IU8V0OIEJ094B
线程“main”java.lang.RuntimeException中的异常:java.util.zip.zipeException:打开zip文件时出错
位于org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:78)
位于org.gradle.wrapper.Install.createDist(Install.java:47)
位于org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
位于org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48)
原因:java.util.zip.ZipException:打开zip文件时出错
位于java.util.zip.ZipFile.open(本机方法)
位于java.util.zip.ZipFile(ZipFile.java:220)
位于java.util.zip.ZipFile(ZipFile.java:150)
位于java.util.zip.ZipFile(ZipFile.java:164)
位于org.gradle.wrapper.Install.unzip(Install.java:160)
位于org.gradle.wrapper.Install.access$400(Install.java:29)
安装$1.call(Install.java:70)
安装$1.call(Install.java:47)
位于org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
... 3个以上
/home/lyndon/myapp/platforms/android/cordova/node_modules/q/q.js:126
投掷e;
^  
带有参数的命令:/home/lyndon/myapp/platforms/android/gradlew的错误代码1:cdvBuildDebug,-b,/home/lyndon/myapp/platforms/android/build.gradle,-PcdvBuildArch=arm,-Dorg.gradle.daemon=true
错误:/home/lyndon/myapp/platforms/android/cordova/run:命令失败,退出代码为1
在ChildProcess.whenDone(/usr/local/lib/node_modules/cordova/node_modules/cordova lib/src/cordova/superspawn.js:134:23)
在ChildProcess.emit(events.js:110:17)
在maybeClose(child_process.js:1015:16)
在Process.ChildProcess.\u handle.onexit(child\u Process.js:1087:5)

gradle是否有必要使用cordova构建android应用程序?我可以摆脱它吗?或者有其他方法解决这个问题吗?谢谢

我想你必须再次尝试删除和添加android平台,这可能会解决你的问题。谢谢,我已经尝试删除android平台,然后再次添加,但没有成功。当我尝试添加android平台时,从npm获取失败的错误是:EACCES,mkdir'/home/lyndon/tmp/npm-18951-farlzl0v',这是一个权限错误,所以请验证您的权限设置是否正确。我认为Huey是对的,您必须尝试使用超级用户执行命令…谢谢回复。是否可以在没有sudo的情况下运行该命令?出于这些目的,似乎没有必要设置ANDROID_HOME之类的全局环境变量。