Ионная сборка ошибка Андроид при загрузке Gradle в



Я очень новичок в ионной структуре :)



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


когда я использовать '>ionic build android ' начать загрузку gradle, но я не могу загрузить и получить сообщение об ошибке.



что вызвало эту ошибку и как я могу ее исправить?!



я загружаю Gradle и устанавливаю его на ПК, но он хочет загрузить снова.
Могу ли я добавить Gradle в проект в автономном режиме?



C:UsersLENOVO2014test>ionic build android
running cordova build android
Running command: "C:Program Filesnodejsnode.exe" C:UsersLENOVO2014myAppho
oksafter_prepare0_add_platform_class.js C:UsersLENOVO2014myApp
add to body class: platform-android
Running command: C:UsersLENOVO2014myAppplatformsandroidcordovabuild.bat
ANDROID_HOME=D:programProgramingAndroidsdk
JAVA_HOME=C:Program FilesJavajdk1.8.0_31
Running: C:UsersLENOVO2014myAppplatformsandroidgradlew cdvBuildDebug -b C:
UsersLENOVO2014myAppplatformsandroidbuild.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.call(Install.java:60)
at org.gradle.wrapper.Install.call(Install.java:47)
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAcc
essManager.java:65)
... 3 more

C:UsersLENOVO2014myAppplatformsandroidcordovanode_modulesqq.js:126
throw e;
^
Error code 1 for command: cmd with args: /s /c "C:UsersLENOVO2014myAppplatfo
rmsandroidgradlew cdvBuildDebug -b C:UsersLENOVO2014myAppplatformsandroid
build.gradle -Dorg.gradle.daemon=true"
ERROR building one of the platforms: Error: C:UsersLENOVO2014myAppplatforms
androidcordovabuild.bat: Command failed with exit code 1
You may not have the required environment or OS to build this project
Error: C:UsersLENOVO2014myAppplatformsandroidcordovabuild.bat: Command fa
iled with exit code 1
at ChildProcess.whenDone (C:UsersLENOVO2014AppDataRoamingnpmnode_modul
escordovanode_modulescordova-libsrccordovasuperspawn.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)
638   17  

17 ответов:

я использую ионную версию 1.7.14 и distributionUrl, найденную в следующем файле. myApp/platforms/android/cordova/lib/builders/GradleBuilder.js.

Я должен был указать локально загруженный gradle, как указано в этом ответе.

у меня была та же проблема. Я добавил gradle в свой проект в автономном режиме.

после загрузки gradle из выпущенной ссылки (вот http://services.gradle.org/distributions/gradle-2.2.1-all.zip) вставить его в где-то нравится myApp\platforms\android\gradle\gradle-2.2.1-all.zip и в строй.js от myApp\platforms\android\cordova\lib\build.js найти это:

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

и замените его на местоположение вашего собственного файла:

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

Так как решение, опубликованное выше, должно включать .zip в папку, которая составляет около 55MB

вы также можете заставить CLI использовать Ant вместо gradle во время сборки со следующей командой:

cordova build android -- --ant

я столкнулся с этой проблемой, поскольку наш сетевой прокси блокирует загрузку zip-файла. Вот что я нашел:

Примечание: это отличается от "принятого" ответа тем, что мы не изменяем библиотеку Кордовы напрямую. Это гораздо менее подвержено "ошибке" или перезаписи при запуске ionic state restore

  1. скачать gradle - http://services.gradle.org/distributions/gradle-2.2.1-all.zip

  2. поместите этот файл в platforms/android/gradle. Однако, если вы интегрируете это в свой процесс сборки, вы можете вставить его в менее изменчивое место и добавить шаг для копирования файла в это место.

  3. установите переменную окружения CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL до ../gradle-2.2.1-all.zip

    • linux / osx: добавить export CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL="../gradle-2.2.1-all.zip" в свой ~/.bashrc file
    • windows: setx CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL ../gradle-2.2.1-all.zip
  4. выполнить ionic build android

другой вариант из командной строки, чтобы запустить $ export JAVA_OPTS="-Dhttp.proxyHost=proxy-url.com -Dhttp.proxyPort=911 -Dhttps.proxyHost=secure-proxy-url.com -Dhttps.proxyPort=911"перед командой cordova build.

Если вы хотите использовать прокси-сервер в своей сети, добавьте на %USER_HOME%/.gradle с приведенным ниже, но заменяя значения на данные вашего прокси. Это сработало для меня.

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

вручную скачать http://services.gradle.org/distributions/gradle-2.2.1-all.zip.

поместите его в appName\platforms\android\gradle\

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

запустить код и скомпилировать.

пояснение:

GradleBuilder.Яш наборы distributionUrl следующим образом:

var distributionUrl = процесс.env ['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] | | 'http\://services.gradle.org/distributions/gradle-2.2.1-all.zip';

скрипт запускается appName\platforms\android\gradle\wrapper

вывод:

загрузка файла: / / appname / platforms/android/gradle / gradle-2.2.1-все.молнии

Привет всем у меня была такая же проблема.

в платформах\android\cordova\lib\build.js файл, я изменил

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

до

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

и это сработало.

У меня была та же проблема, и она была решена с удалением build-tools 24 и установкой build-tools 23 из SDK Manager.

в качестве альтернативы, если у вас есть веб-сервер на вашем локальном хосте, загрузите и поместите gradle (точно протестированную версию, т. е. http://downloads.gradle.org/distributions/gradle-2.2.1-all.zip во время этого поста) в корне www и измените платформы\android\cordova\lib\build.js-файл в каталоге вашего приложения для этого:

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

изменение URL на локальный файл (не http-адрес) не будет работать для меня под windows, и он будет жаловаться, что URL-адрес имеет неизвестный протокол.

там, кажется, проблема для решения. По крайней мере, никто из них не работал для меня, и я просто изменил его на:

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

тогда это работает. Я не знаю, почему они все добавляют "distributionUrl=" следующим образом (это не работает для меня):

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

кстати, я использую ионный 2.

обратите внимание на путь, если вы не хотите использовать localhost. Он автоматически добавит myApp/platforms/android/gradle/wrapper перед distributionUrl, например если вы ставите gradle-2.2.1-all.молния элемент myApp/platforms/android/gradle каталог, то вам нужно установить:

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

я столкнулся с той же проблемой в последнее время, и я искал здесь и там.

наконец-то для последней сборки я нашел решение.

после команды "ionic platform add android" Перейдите в раздел платформы/android/cordova/lib/builders/GradleBuilder.js

искать

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

и меняем его на

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

все ответы здесь все говорят одно и то же, когда это может быть сделано проще, чем верхний ответ. Обновление вашего Android SDK должно исправить это, и вы можете сделать это с помощью этой одной строки из терминала:

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

или

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

см. Также этой проблема РЕПО (это по сути та же проблема).

но после того, как вы сделаете это перестроить, и он должен работать.

похоже, что Защитник Windows или какая-то другая антивирусная система испортила вашу установку. Поэтому временно отключите брандмауэр и повторно запустите команду:

ionic build android (or ios)

в конце у вас есть сообщение построить успешно...

Что касается ионного развития,вам придется изменить distributionURL в GradleBuilder.js с указанным ниже URL.

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

var distributionUrl = процесс.env ['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] | | 'https://services.gradle.org/distributions/gradle-2.14.1-all.zip';

обновление платформы Android сделал трюк для меня:

  • обновление платформы Кордова Android
  • - Кордова подготовиться,
  • - Кордова компиляции и, наконец,
  • Кордова построить

это из-за ошибки Gradle.

Скачать файл http://services.gradle.org/distributions/gradle-2.14.1-all.zip и извлеките его в любой из каталогов и установите путь, открыв cmd и введите:setx path (извлеченный каталог) / bin

после этого снова откройте cmd и проверьте, работает ли Gradle или нет, выпустив gradle -v. Он показывает вывод версии Gradle. Теперь ошибка исправлена; run ionic build android.

загрузите JDK версии 8 и удалите все существующие версии.

и обновить ионный.

надеюсь ваша проблема будет решена.

Comments

    Ничего не найдено.