首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >下载Gradle时Ionic build Android错误

下载Gradle时Ionic build Android错误
EN

Stack Overflow用户
提问于 2015-04-26 14:34:54
回答 13查看 87.1K关注 0票数 73

我对离子框架非常陌生:)

代码语言:javascript
复制
>npm install -g cordova
>npm install -g ionic
>ionic start test blank
>cd test
>ionic platform add android

当我使用'>ionic build android‘开始下载gradle,但我无法下载并得到一个错误。

是什么导致了这个错误,我该如何修复它?!

我下载了Gradle并将其安装在PC上,但它想要再次下载。我可以脱机将Gradle添加到项目中吗?

代码语言:javascript
复制
C:\Users\LENOVO2014\test>ionic build android
running cordova build android
Running command: "C:\Program Files\nodejs\node.exe" C:\Users\LENOVO2014\myApp\ho
oks\after_prepare\010_add_platform_class.js C:\Users\LENOVO2014\myApp
add to body class: platform-android
Running command: C:\Users\LENOVO2014\myApp\platforms\android\cordova\build.bat
ANDROID_HOME=D:\program\Programing\Android\sdk
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_31
Running: C:\Users\LENOVO2014\myApp\platforms\android\gradlew cdvBuildDebug -b C:
\Users\LENOVO2014\myApp\platforms\android\build.gradle -Dorg.gradle.daemon=true
Downloading http://services.gradle.org/distributions/gradle-2.2.1-all.zip
................................................................................
................................................................................
................................................................................
............................................
Exception in thread "main" java.lang.RuntimeException: java.net.SocketException:
 Connection reset
        at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAcc
essManager.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.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:189)
        at java.net.SocketInputStream.read(SocketInputStream.java:121)
        at java.io.BufferedInputStream.read1(BufferedInputStream.java:284)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
        at sun.net.www.MeteredStream.read(MeteredStream.java:134)
        at java.io.FilterInputStream.read(FilterInputStream.java:133)
        at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(Http
URLConnection.java:3335)
        at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(Http
URLConnection.java:3328)
        at org.gradle.wrapper.Download.downloadInternal(Download.java:63)
        at org.gradle.wrapper.Download.download(Download.java:45)
        at org.gradle.wrapper.Install$1.call(Install.java:60)
        at org.gradle.wrapper.Install$1.call(Install.java:47)
        at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAcc
essManager.java:65)
        ... 3 more

C:\Users\LENOVO2014\myApp\platforms\android\cordova\node_modules\q\q.js:126
                    throw e;
                          ^
Error code 1 for command: cmd with args: /s /c "C:\Users\LENOVO2014\myApp\platfo
rms\android\gradlew cdvBuildDebug -b C:\Users\LENOVO2014\myApp\platforms\android
\build.gradle -Dorg.gradle.daemon=true"
ERROR building one of the platforms: Error: C:\Users\LENOVO2014\myApp\platforms\
android\cordova\build.bat: Command failed with exit code 1
You may not have the required environment or OS to build this project
Error: C:\Users\LENOVO2014\myApp\platforms\android\cordova\build.bat: Command fa
iled with exit code 1
    at ChildProcess.whenDone (C:\Users\LENOVO2014\AppData\Roaming\npm\node_modul
es\cordova\node_modules\cordova-lib\src\cordova\superspawn.js:131: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)
EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2015-05-04 02:42:40

我使用的是Ionic版本1.7.14和以下文件中的distributionUrl。myApp/platforms/android/cordova/lib/builders/GradleBuilder.js.

我必须指出这个答案中指定的本地下载的gradle。

我也有同样的问题。我离线将gradle添加到我的项目中。

从已发布的链接(这里是http://services.gradle.org/distributions/gradle-2.2.1-all.zip)下载gradle后,将其粘贴到像myApp\platforms\android\gradle\gradle-2.2.1-all.zip这样的地方,并在myApp\platforms\android\cordova\lib\build.js的build.js中找到以下内容:

代码语言:javascript
复制
var distributionUrl = 'distributionUrl=http\\://services.gradle.org/distributions/gradle-2.2.1-all.zip';

并将其替换为您自己的文件位置:

代码语言:javascript
复制
var distributionUrl = 'distributionUrl=../gradle-2.2.1-all.zip';
票数 109
EN

Stack Overflow用户

发布于 2015-05-31 02:05:25

由于上面发布的解决方案需要将.zip包含到大约55MB的文件夹中

您还可以在构建过程中使用以下命令强制CLI使用Ant而不是gradle:

代码语言:javascript
复制
cordova build android -- --ant
票数 52
EN

Stack Overflow用户

发布于 2015-11-13 23:04:38

命令行中的另一个选项是在cordova build命令之前运行$ export JAVA_OPTS="-Dhttp.proxyHost=proxy-url.com -Dhttp.proxyPort=911 -Dhttps.proxyHost=secure-proxy-url.com -Dhttps.proxyPort=911"

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29874564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档