下载Gradle时发生java Ionic构建Android错误
我对离子框架非常陌生:)
>npm install -g cordova
>npm install -g ionic
>ionic start test blank
>cd test
>ionic platform add 安卓
当我使用“>ionic build 安卓
”时,开始下载gradle,但我无法下载并得到一个错误
是什么导致了这个错误?我如何修复它
我下载Gradle并将其安装在PC上,但它想再次下载。 我可以将Gradle添加到脱机项目中吗
C:\Users\LENOVO2014\test>ionic build 安卓
running cordova build 安卓
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-安卓
Running command: C:\Users\LENOVO2014\myApp\platforms\安卓\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\安卓\gradlew cdvBuildDebug -b C:
\Users\LENOVO2014\myApp\platforms\安卓\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\安卓\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\安卓\gradlew cdvBuildDebug -b C:\Users\LENOVO2014\myApp\platforms\安卓
\build.gradle -Dorg.gradle.daemon=true"
ERROR building one of the platforms: Error: C:\Users\LENOVO2014\myApp\platforms\
安卓\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\安卓\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)
# 1 楼答案
我使用的是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
的js找到以下内容:并将其替换为您自己的文件位置:
# 2 楼答案
Cordova 6.0.0/Visual Studio代码0.10.6
TL;博士
手动下载
http://services.gradle.org/distributions/gradle-2.2.1-all.zip
把它放在
appName\platforms\android\gradle\
启动代码并编译
说明:
格雷德堡。js将
distributionUrl
设置如下:var distributionUrl=进程。env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL']| | http\://服务。格拉德尔。org/distributions/gradle-2.2.1-all。拉链
脚本在
appName\platforms\android\gradle\wrapper
中运行输出为:
下载file://appname/platforms/android/gradle/gradle-2.2.1-all.zip
# 3 楼答案
如果需要在网络上使用代理,请在
%USER_HOME%/.gradle
中添加一个gradle.properties
文件,如下所示,但用代理详细信息替换这些值。这对我有用# 4 楼答案
因为上面发布的解决方案需要包括。压缩到大约55MB的文件夹中
还可以使用以下命令强制CLI在生成过程中使用Ant而不是gradle:
# 5 楼答案
我遇到了这个问题,因为我们的网络代理阻止了zip文件的下载。以下是我的发现:
下载gradle-http://services.gradle.org/distributions/gradle-2.2.1-all.zip
将此文件放入
platforms/android/gradle
。但是,如果要将其集成到构建过程中,您可能希望将其粘贴到不太易受影响的位置,并添加一个步骤将文件复制到该位置将环境变量
CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL
设置为../gradle-2.2.1-all.zip
export CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL="../gradle-2.2.1-all.zip"
添加到~/。bashrc文件setx CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL ../gradle-2.2.1-all.zip
运行
ionic build android
# 6 楼答案
命令行中的另一个选项是在cordova build命令之前运行
$ export JAVA_OPTS="-Dhttp.proxyHost=proxy-url.com -Dhttp.proxyPort=911 -Dhttps.proxyHost=secure-proxy-url.com -Dhttps.proxyPort=911"