java - tutorial - Error al construir un proyecto de Cordova Android
update cordova version (3)
Hola, intento construir un proyecto de cordova con el complemento de Android en Windows 7 con el siguiente entorno
ANDROID_HOME=D:/DevTools/Android/Android_SDK_NDK/android-sdk
JAVA_HOME=C:/Program Files/Java/jdk1.7.0_45
generé un proyecto de cordova
>cordova create CordovaProject io.xyz.hellocordova CordovaApp
y agregó el complemento de Android
>cordova platform add android
Ahora después de hacer eso intenté construir el proyecto de Android
>cordova build android
esto tratando de descargar gradle-2.2.1-all.zip que conduce a la excepción como
E:/Cordova/Workspace/HelloCordova>cordova build android --verbose
Executing "before_build" hook for all plugins.
Executing "before_prepare" hook for all plugins.
Searching PlatformJson files for differences between project vs. platform instal
led plugins
No differences found between project and android platform. Continuing...
Generating config.xml from defaults for platform "android"
Wrote out Android application name to "HelloCordova"
Wrote out Android package name to "com.gowtham.HelloCordova"
This app does not have launcher icons defined
updated project successfully
Executing "after_prepare" hook for all plugins.
Executing "before_compile" hook for all plugins.
ANDROID_HOME=D:/DevTools/Android/Android_SDK_NDK/android-sdk
JAVA_HOME=C:/Program Files/Java/jdk1.7.0_45
Downloading http://services.gradle.org/distributions/gradle-2.2.1-all.zip
Exception in thread "main" java.lang.RuntimeException: java.net.ConnectException
: Connection timed out: connect
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.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketI
mpl.java:79)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.ja
va:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocket
Impl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java
:182)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:211)
at sun.net.www.http.HttpClient.New(HttpClient.java:308)
at sun.net.www.http.HttpClient.New(HttpClient.java:326)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLC
onnection.java:996)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConne
ction.java:932)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection
.java:850)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
nection.java:1300)
at org.gradle.wrapper.Download.downloadInternal(Download.java:59)
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
Error: Error code 1 for command: cmd with args: /s,/c,"E:/Cordova/Workspace/Hell
oCordova/platforms/android/gradlew cdvBuildDebug -b E:/Cordova/Workspace/HelloCo
rdova/platforms/android/build.gradle -Dorg.gradle.daemon=true -Pandroid.useDepre
catedNdk=true"
E:/Cordova/Workspace/HelloCordova>gradle -version
------------------------------------------------------------
Gradle 2.2.1
------------------------------------------------------------
Build time: 2014-11-24 09:45:35 UTC
Build number: none
Revision: 6fcb59c06f43a4e6b1bcb401f7686a8601a1fb4a
Groovy: 2.3.6
Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM: 1.7.0_45 (Oracle Corporation 24.45-b08)
OS: Windows 7 6.1 x86
puede ser que esto se debió a mi firewall / proxy de mi oficina que no permite descargar el archivo zip. pero tengo el archivo zip extraído y establecí la variable de ruta como
GRADLE_HOME = C: / gradle-2.2.1
incluso eso tampoco puedo resolver este problema. Entiendo que el env. La variable de ruta de acceso no se acepta en el script de compilación, pero no estoy seguro de dónde cambiar ni eludir este paso.
Debe configurar el proxy gradle agregando estas líneas a ~/.gradle/gradle.properties
(cree el archivo si no existe):
systemProp.http.proxyHost=myproxy.com
systemProp.http.proxyPort=123
systemProp.https.proxyHost=myproxy.com
systemProp.https.proxyPort=123
Sustituya su proxy y puerto, por supuesto.
Como mencionaste, parece más un problema de red. La descarga de gradle fallará si está utilizando una red proxy restringida. En caso de restricciones de red, puede solucionar este problema siguiendo los pasos a continuación:
1) Download the required gradle version zip file from gradle distribution link and save it in local folder.
2) Navigate to PROJECT_ROOT_FOLDER/platforms/android/cordova/lib/builders folder and edit GradleBuilder.js file
3) Change the line from var distributionUrl = process.env[''CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL''] || ''http//://services.gradle.org/distributions/gradle-2.2.1-all.zip''; to ''var distributionUrl = process.env[''CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL''] || ''file:///local/path/to/folder/where/gradle/zip/is/saved/gradle-2.2.1-all.zip''; and save the file
4) Try rebuilding android build.
También puedes probar lo siguiente como solución rápida,
1) In command prompt execute the following command: export CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL=file:///local/path/to/folder/where/gradle/zip/is/saved/gradle-2.2.1-all.zip
2) Execute the following command: cordova run android
Tuve el mismo problema cuando ejecuto el comando cordova build android a través de este error. Me probaron más de una hora, finalmente deshabilité mi software antivirus (Avast) y simplemente ejecuté el comando nuevamente, ahora se ejecutó con éxito.