Erreur de construction ionique Android lors du téléchargement de Gradle

Je suis très nouveau dans le ionic framework 🙂

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

Lorsque j’utilise ” >ionic build android “, lancez le téléchargement, mais je ne peux pas télécharger et obtenir une erreur.

Quelle est la cause de cette erreur et comment puis-je la réparer?!

Je télécharge Gradle et je l’installe sur un PC, mais je souhaite le télécharger à nouveau. Puis-je append Gradle à un projet hors ligne?

 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/dissortingbutions/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) 

J’utilise la version ionique 1.7.14 et la dissortingbutionUrl dans le fichier suivant. myApp/platforms/android/cordova/lib/builders/GradleBuilder.js.

Je devais pointer le gradin téléchargé localement comme spécifié dans cette réponse.

J’ai eu le même problème. J’ai ajouté graduellement à mon projet hors ligne.

Après le téléchargement de gradle du lien émis (voici http://services.gradle.org/dissortingbutions/gradle-2.2.1-all.zip ) collez-le quelque part comme myApp\platforms\android\gradle\gradle-2.2.1-all.zip et dans build.js de myApp\platforms\android\cordova\lib\build.js trouver ceci:

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

Et remplacez-le par l’emplacement de votre propre fichier:

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

Étant donné que la solution publiée ci-dessus doit inclure .zip dans un dossier d’environ 55 Mo

Vous pouvez également forcer CLI à utiliser Ant au lieu de graduer pendant une génération avec la commande suivante:

 cordova build android -- --ant 

J’ai rencontré ce problème car notre proxy réseau bloque le téléchargement du fichier zip. Voici ce que j’ai trouvé:

NOTE: cela diffère de la réponse “acceptée” en ce sens que nous ne modifions pas directement la bibliothèque de Cordova. Ceci est beaucoup moins sujet à “erreur” ou à être écrasé lorsque vous exécutez ionic state restore

  1. Téléchargez gradle – http://services.gradle.org/dissortingbutions/gradle-2.2.1-all.zip

  2. Placez ce fichier dans les platforms/android/gradle . Cependant, si vous l’intégrez dans votre processus de génération, vous pouvez souhaiter le placer dans un endroit moins instable et append une étape pour copier le fichier dans cet emplacement.

  3. Définissez la variable d’environnement CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL sur ../gradle-2.2.1-all.zip

    • linux / osx: ajoute export CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL="../gradle-2.2.1-all.zip" à votre fichier ~ / .bashrc
    • windows: setx CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL ../gradle-2.2.1-all.zip
  4. Exécuter ionic build android

Une autre option de la ligne de commande consiste à exécuter $ export JAVA_OPTS="-Dhttp.proxyHost=proxy-url.com -Dhttp.proxyPort=911 -Dhttps.proxyHost=secure-proxy-url.com -Dhttps.proxyPort=911" avant le commande de construction de cordova.

Si vous devez utiliser un proxy sur votre réseau, ajoutez un fichier gradle.properties dans %USER_HOME%/.gradle avec le %USER_HOME%/.gradle ci-dessous, mais en remplaçant les valeurs par celles de votre proxy. Cela a fonctionné pour moi.

 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

Téléchargez manuellement http://services.gradle.org/dissortingbutions/gradle-2.2.1-all.zip .

Placez-le dans appName\platforms\android\gradle\

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

Commencez le code et comstackz.

Explication:

GradleBuilder.js définit la dissortingbutionUrl comme suit:

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

Le script s’exécute dans appName\platforms\android\gradle\wrapper

Le résultat est:

Téléchargement du fichier: //appname/platforms/android/gradle/gradle-2.2.1-all.zip

Salut à tous j’ai eu le même problème.

Dans le fichier plates-formes \ android \ cordova \ lib \ build.js, j’ai changé

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

à

 var dissortingbutionUrl = 'dissortingbutionUrl=http://services.gradle.org/dissortingbutions/gradle-2.2.1-all.zip'; 

et ça a fonctionné.

J’ai eu le même problème, et il a été résolu avec la désinstallation de build-tools 24 et l’installation de build-tools 23 à partir de SDK Manager.

Alternativement, si vous avez un serveur web sur votre localhost, téléchargez et mettez le gradle (exactement la version testée, c’est-à-dire http://downloads.gradle.org/dissortingbutions/gradle-2.2.1-all.zip au moment de cette opération). post) dans la racine www et remplacez le fichier plates-formes \ android \ cordova \ lib \ build.js dans votre répertoire d’application par celui-ci:

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

Changer l’URL en un fichier local (pas une adresse http) ne fonctionnerait pas pour moi sous Windows et il se plaindrait que l’URL ait un protocole inconnu.

Il semble y avoir un problème pour les solutions précédentes. Au moins aucun d’entre eux n’a fonctionné pour moi, et je viens de le changer pour:

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

Alors ça marche. Je ne sais pas pourquoi ils ajoutent tous “dissortingbutionUrl =” comme suit (cela ne fonctionne pas pour moi):

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

BTW, j’utilise ionique 2.

Faites attention au chemin si vous ne voulez pas utiliser localhost . Il appenda automatiquement myApp/platforms/android/gradle/wrapper avant dissortingbutionUrl, par exemple si vous placez gradle-2.2.1-all.zip dans le myApp/platforms/android/gradle , vous devez alors définir:

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

J’ai rencontré le même problème récemment et j’ai cherché ici et là.

Enfin, pour la dernière version, j’ai trouvé la solution.

Après la commande “ionic platform add android”, accédez à plates-formes / android / cordova / lib / builders / GradleBuilder.js

Rechercher

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

et le changer pour

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

Toutes les réponses ici disent toutes la même chose quand cela pourrait être fait plus facilement que la meilleure réponse. La mise à jour de votre SDK Android devrait résoudre ce problème et vous pouvez le faire avec cette seule ligne depuis le terminal:

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

ou

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

Voir aussi ce problème de repos (c’est essentiellement le même problème).

Mais après cela, reconstruisez et cela devrait fonctionner.

Il semble que Windows Defender ou un autre système antivirus perturbe votre installation. Désactivez donc temporairement votre pare-feu et relancez la commande:

 ionic build android (or ios) 

A la fin, vous avez le message BUILD SUCCESSFUL …

En ce qui concerne le développement ionique, vous devrez modifier la dissortingbutionURL dans GradleBuilder.js avec l’URL mentionnée ci-dessous.

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

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

La mise à jour de la plate-forme Android a fait l’affaire:

  • Mise à jour de la plateforme Cordova Android
  • Cordova préparer,
  • Cordova comstack et enfin
  • Cordova construire

Ceci est dû à une erreur Gradle.

Téléchargez le fichier http://services.gradle.org/dissortingbutions/gradle-2.14.1-all.zip et extrayez-le dans n’importe quel répertoire et définissez le chemin par open cmd et entrez: setx path (répertoire extrait) / bin

Après cela, rouvrez cmd et vérifiez si Gradle fonctionne ou non en lançant gradle -v . Il montre la sortie de la version Gradle. Maintenant, l’erreur est corrigée. exécuter ionic build android .

Téléchargez JDK version 8 et supprimez toutes les versions existantes.

Et mise à jour ionique.

J’espère que votre problème sera résolu.