Ionic comstack el error de Android al descargar Gradle

Soy muy nuevo en el marco Ionic 🙂

>npm install -g cordova >npm install -g ionic >ionic start test blank >cd test >ionic platform add android 

Cuando uso ‘ >ionic build android ‘ empiezo a descargar gradle, pero no puedo descargar y obtener un error.

¿Qué causó este error y cómo puedo solucionarlo?

Descargo Gradle e lo instalo en una PC, pero quiere volver a descargarlo. ¿Puedo agregar Gradle a un proyecto fuera de línea?

 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) 

    Estoy usando la versión 1.7.14 de Ionic y la distribuciónUrl que se encuentra en el siguiente archivo. myApp/platforms/android/cordova/lib/builders/GradleBuilder.js.

    Tuve que señalar el gradle descargado localmente como se especifica en esta respuesta.

    Yo tuve el mismo problema. Agregué gradle a mi proyecto fuera de línea.

    Después de descargar gradle desde el enlace emitido (aquí está http://services.gradle.org/distributions/gradle-2.2.1-all.zip ) péguelo en algún lugar le gusta myApp\platforms\android\gradle\gradle-2.2.1-all.zip y en build.js desde myApp\platforms\android\cordova\lib\build.js encuentran esto:

     var distributionUrl = 'distributionUrl=http\\://services.gradle.org/distributions/gradle-2.2.1-all.zip'; 

    Y reemplácelo con la ubicación de su propio archivo:

     var distributionUrl = 'distributionUrl=../gradle-2.2.1-all.zip'; 

    Dado que la solución publicada anteriormente debe incluir .zip en una carpeta de aproximadamente 55 MB

    También puede forzar a CLI a usar Ant en lugar de gradle durante una comstackción con el siguiente comando:

     cordova build android -- --ant 

    Me encontré con este problema ya que nuestro proxy de red está bloqueando la descarga del archivo zip. Esto es lo que encontré:

    NOTA: esto difiere de la respuesta “aceptada” en que no estamos modificando la biblioteca de Cordova directamente. Esto es mucho menos propenso a “error” o se sobrescribe cuando se ejecuta el ionic state restre

    1. Descargar gradle – http://services.gradle.org/distributions/gradle-2.2.1-all.zip

    2. Pon este archivo en platforms/android/gradle . Sin embargo, si está integrando esto en su proceso de comstackción, puede colocarlo en un lugar menos volátil y agregar un paso para copiar el archivo en esa ubicación.

    3. Establezca la variable de entorno CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL en ../gradle-2.2.1-all.zip

      • linux / osx: agregue la export CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL="../gradle-2.2.1-all.zip" a su archivo ~ / .bashrc
      • windows: setx CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL ../gradle-2.2.1-all.zip
    4. Ejecutar ionic build android

    Otra opción de la línea de comandos es ejecutar $ export JAVA_OPTS="-Dhttp.proxyHost=proxy-url.com -Dhttp.proxyPort=911 -Dhttps.proxyHost=secure-proxy-url.com -Dhttps.proxyPort=911" antes del cordova construir comando

    Si necesita usar un proxy en su red, agregue un archivo gradle.properties en %USER_HOME%/.gradle con el siguiente pero reemplazando los valores con los datos de su proxy. Esto funcionó para mí.

     gradlePropertiesProp=gradlePropertiesValue sysProp=shouldBeOverWrittenBySysProp envProjectProp=shouldBeOverWrittenByEnvProp systemProp.system=systemValue systemProp.http.proxyHost=myproxy.com systemProp.http.proxyPort=8080 systemProp.http.nonProxyHosts=\*.mydomain.com|localhost systemProp.https.proxyHost=myproxy.com systemProp.https.proxyPort=8080 systemProp.https.nonProxyHosts=\*.mydomain.com|localhost 

    Cordova 6.0.0 / Visual Studio Code 0.10.6

    TL; DR

    Descargue manualmente http://services.gradle.org/distributions/gradle-2.2.1-all.zip .

    appName\platforms\android\gradle\ en appName\platforms\android\gradle\

     set CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL=..\gradle-2.2.1-all.zip 

    Comience el código y compile.

    Explicación:

    GradleBuilder.js establece distributionUrl siguiente manera:

    var distributionUrl = process.env [‘CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL’] || ‘http \: //services.gradle.org/distributions/gradle-2.2.1-all.zip’;

    El script se ejecuta en appName\platforms\android\gradle\wrapper

    La salida es:

    Descargar el archivo: //appname/platforms/android/gradle/gradle-2.2.1-all.zip

    Hola a todos, tuve el mismo problema.

    En el archivo de plataformas \ android \ cordova \ lib \ build.js, cambié

     var distributionUrl = 'distributionUrl=http\\://services.gradle.org/distributions/gradle-2.2.1-all.zip'; 

    a

     var distributionUrl = 'distributionUrl=http://services.gradle.org/distributions/gradle-2.2.1-all.zip'; 

    Y funcionó.

    Tuve el mismo problema, y ​​se resolvió desinstalando las herramientas de comstackción 24 e instalando las herramientas de comstackción 23 desde SDK Manager.

    Alternativamente, si tiene un servidor web en su servidor local, descargue y coloque el gradle (exactamente la versión probada, es decir, http://downloads.gradle.org/distributions/gradle-2.2.1-all.zip en el momento de este publicación) en la raíz de www y cambie el archivo plataformas \ android \ cordova \ lib \ build.js en su directorio de aplicación a este:

      var distributionUrl = 'distributionUrl=http\\://localhost/gradle-2.2.1-all.zip'; 

    Cambiar el URL a un archivo local (no una dirección http) no funcionaría para mí en Windows y se quejaría de que el URL tiene un protocolo desconocido.

    Parece que hay un problema para las soluciones anteriores. Al menos ninguno de ellos funcionó para mí, y simplemente lo cambié a:

     var distributionUrl = 'http://localhost/gradle-2.2.1-all.zip'; 

    Entonces funciona No sé por qué todos agregan “distributionUrl =” de la siguiente manera (esto no funciona para mí):

      var distributionUrl = 'distributionUrl=http\\://localhost/gradle-2.2.1-all.zip'; 

    Por cierto, estoy usando ionic 2.

    Preste atención a la ruta si no desea usar localhost . Automáticamente agregará myApp/platforms/android/gradle/wrapper antes de distributionUrl, por ejemplo, si coloca gradle-2.2.1-all.zip en el myApp/platforms/android/gradle , debe configurar:

     var distributionUrl = '../gradle-2.2.1-all.zip'; 

    Me he enfrentado al mismo problema recientemente, y busqué aquí y allá.

    Finalmente, para la última versión, encontré la solución.

    Después del comando “plataforma iónica agregue Android”, vaya a plataformas / android / cordova / lib / builders / GradleBuilder.js

    Buscar

     http\\://services.gradle.org/distributions/gradle-2.2.1-all.zip 

    y cambiarlo a

     http\\://downloads.gradle.org/distributions/gradle-2.2.1-all.zip 

    Todas las respuestas aquí están diciendo lo mismo cuando esto podría hacerse más fácil que la respuesta principal. La actualización de su SDK de Android debería solucionarlo, y puede hacerlo con esta línea desde la terminal:

     android update sdk --no-ui --all --filter "extra-android-m2repository" 

    o

     android update sdk --no-ui --filter extra 

    También vea este problema de repos (es esencialmente el mismo problema).

    Pero después de hacer esa reconstrucción, debería funcionar.

    Parece que Windows Defender u otro sistema antivirus está estropeando su instalación. Desactive temporalmente su firewall y vuelva a ejecutar el comando:

     ionic build android (or ios) 

    Al final, tienes el mensaje CONSTRUIR EXITOSO …

    En lo que respecta al desarrollo iónico, deberá modificar el distributionURL en GradleBuilder.js con la URL que se menciona a continuación.

    /android/cordova/lib/builders/GradleBuilder.js

    var distributionUrl = process.env [‘CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL’] || ‘https://services.gradle.org/distributions/gradle-2.14.1-all.zip’;

    La actualización de la plataforma Android me ayudó:

    • Actualización de la plataforma Cordova Android
    • Córdova prepara,
    • Cordova comstack y finalmente
    • Cordova build

    Esto se debe a un error de Gradle.

    Descargue el archivo http://services.gradle.org/distributions/gradle-2.14.1-all.zip y extráigalo en cualquier directorio y establezca la ruta al abrir cmd y escriba: setx path (directorio extraído) / bin

    Después de eso, vuelva a abrir cmd y compruebe si Gradle funciona o no emitiendo gradle -v . Muestra la salida de la versión de Gradle. Ahora el error es fijo; ejecutar ionic build android .

    Descargue la versión 8 de JDK y elimine todas las versiones existentes.

    Y actualiza Ionic.

    Espero que tu problema sea resuelto