Ионная сборка ошибка Андроид при загрузке 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)
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
скачать 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
- 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выполнить
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. Теперь ошибка исправлена; runionic build android.
загрузите JDK версии 8 и удалите все существующие версии.
и обновить ионный.
надеюсь ваша проблема будет решена.
Comments