ionic 2 - Ошибка Не удалось найти установленную версию Gradle в Android Studio

151

Я создаю проект ionic 2 и добавляю диагностический плагин Cordova следующим образом:

ionic plugin add cordova.plugins.diagnostic

npm install --save @ionic-native/diagnostic

и добавить платформу Android, как это:

ionic platform add android@latest

но при сборке с ionic build androidконсолью выдают эту ошибку:

Error: Could not find an installed version of Gradle either in Android Studio,
or on your system to install the gradle wrapper. Please include gradle 
in your path, or install Android Studio

и я пытаюсь скачать вручную gradle.3.3-all.zip и изменить этот дистрибутивUrl var в платформе / android / cordova / lib / builders / GradleBuilder.js

 var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'https\\://services.gradle.org/distributions/gradle-3.3-all.zip'

чтобы:

var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'file:///E:/gradles/gradle-3.3-all.zip';

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

Я не знаю, как добавить Gradle для Android @ последней версии

Реза Мазарлу
источник
У вас есть Android SDK правильно установлен?
Кристиан Бенселер
да, эта проблема решается с помощью определения gradle в системной переменной path, но при запуске build android консоль выдает: «Вы не приняли лицензионные соглашения для следующих компонентов SDK»
Reza Mazarlou
Вы должны установить правильную версию SDK (через менеджер Android SDK) и принять условия. forum.ionicframework.com/t/…
Кристиан Бенселер
ты решил эту проблему? У меня такая же проблема
Мэнспоф
да, я скачиваю gradle.zip вручную и включаю его в путь.
Реза Мазарлоу

Ответы:

121

Попробуйте установить gradle и включить его в свой путь. Нажмите на ссылку ниже, чтобы получить руководство. https://gradle.org/install

Арджун Дж Перамбра
источник
4
Спасибо! Забавно, что Cordova / Ionic до сих пор не исправили это.
Roel
15
Черт возьми, бэтмен, теперь я должен установить дополнительные 139 МБ дерьма, которые я больше не буду использовать для НИЧЕГО ??? Печаль во благо. Но спасибо за совет.
Деманьяк
2
Если у вас есть Android studio и проект, использующий gradle, вы можете найти его, например, так: ~ / apps / android-studio $ find. -типа f -name gradle ./gradle/gradle-4.1/bin/gradle. Извините за разметку, это комментарий. Таким образом, вы можете добавить это в переменную PATH, но вам нужно будет сохранить эту версию установленной.
Винсент Джеррис
10
Да, я нашел один, добавил к пути, и это работает как шарм, спасибо. > Экспорт PATH = $ PATH: /Users/MyUser/.gradle/wrapper/dists/gradle-4.1-all/xxx/gradle-4.1/bin
Амджад
@ Комментарий Амджада был полезен для меня!
bdombro
232

Жизнь слишком коротка, чтобы тратить ее на путаницу и т. Д.

Поскольку на iMac был установлен Homebrew , я просто запустил эту команду:

brew install gradle

Проект Ionic3 начал успешно строить.

AFD
источник
8
brew update && brew install gradle- иначе Gradle не устанавливается, если brew необходимо обновить в первую очередь.
Кит
Работал у меня под управлением Cordova CLI без Ionic. Кроме того, мне не нужно было выполнять двойную линию, чтобы установить Gradle, как указано в комментарии Кит. Очень рад - простое решение. Большое спасибо @AFD !!!!
Санди Лауфенберг-Деку
9
@Kit варит автообновления, когда вы работаете в brew installнастоящее время
corysimmons
3
«Жизнь слишком коротка, чтобы тратить ее на то, чтобы возиться с $ сложно_топом», - будет мой новый туз в рукаве на собеседовании.
Франко Роура
большое спасибо .. gr8 помогите .. правда, что "жизнь слишком коротка, чтобы тратить ее на беспорядок ..."
Маниш Нахар
93

Просто установите Gradle на Linux, даже если установлена ​​Android Studio,

sudo может установить Gradle

никола
источник
56

Для пользователей Windows :

Скачать бинарник gradle по ссылке в ответе Gradle Download

Распакуйте zip-файл в «C: \ Gradle» или в другое место.

откройте диалоговое окно «Изменить переменную среды» из меню «Пуск»

Нажмите «Создать» под системными переменными и добавьте, как показано ниже

Имя GRADLE_HOMEпеременной Значение переменнойC:\Gradle\gradle-4.0.1

Затем выберите PATHпеременную из списка системных переменных

добавить путь Gradle к значению переменной, как это C:\Gradle\gradle-4.0.1\bin

затем нажмите win Key + R type cmd, затем введите> в командной строке типа строке gradle -v

если настройка верна, вы увидите подробности установки Gradle

rashidnk
источник
Могу ли я получить ссылку для загрузки gradle
Чираг Соланки
14

Существует проблема с Cordova версии 6.4.0 и Android 6.2.1 .so, пожалуйста, попробуйте с ниже совместимыми версиями

Кордова версия должна быть 6.4.0

sudo npm install -g cordova@6.4.0

Установите Android в свой проект

платформа sudo cordova добавить android@6.1.2

 or

sudo ионная платформа добавить android@6.1.2

Веранендра Борра
источник
15
Вы действительно не должны запускать npm с sudo!
j2L4e
если ваша система запрашивает разрешения, вам нужно использовать sudo
Veerendra Borra
8
Если вы настроили его правильно, ему не нужны разрешения. Вы загружаете недоверенный код, который может выполняться автоматически. Это не должно быть сделано с повышенными разрешениями! См. Docs.npmjs.com/getting-started/fixing-npm-permissions
j2L4e
3
Просто вставьте эту строку sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}перед первой командой и удалите sudo.
Даниил
12

В Ubuntu установка последней версии gradleрешила проблему для меня.

Попробуйте эти шаги, чтобы установить последнюю версию,

sudo add-apt-repository ppa:cwchien/gradle

sudo apt-get update

sudo apt-get install gradle

затем построить, используя,

cordova build android или ionic cordova build android

Примечание: При установке Gradle из убунта репо, он будет установить старую версию 1.4 и не поможет, так что sudo apt-get install gradleсам по себе не поможет в большинстве случаев, если вы не добавить репозиторий ppa:cwchien/gradleранее

Мохаммед Сейфер
источник
9

Я уже установил Android Studio, и мне просто нужно добавить gradle PATH в ~ / .bash_profile на моем MacOSX Mojave. Также, если Gradle обновлен, возможно, потребуется еще раз обновить путь.

Пример .bash_profile:

export ANDROID_SDK_ROOT="~/Library/Android/sdk"
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
export JAVA_HOME=$(/usr/libexec/java_home)
export GRADLE_PATH="~/.gradle/wrapper/dists/gradle-4.10.1-all/455itskqi2qtf0v2sja68alqd/gradle-4.10.1/bin"
export ANDROID_STUDIO="/Applications/Android Studio.app/Contents/MacOS"
export PATH="$PATH:$GRADLE_PATH:$ANDROID_STUDIO"

Когда вы отредактируете ваш .bash_profile, запустите команду ниже, чтобы прочитать ее снова.

source ~/.bash_profile
Алмас Дусал
источник
Я смог использовать этот метод, чтобы найти свой собственный путь Gradle и вставить его. Спасибо.
BVBA ускоряется
7

Для Windows вы можете попробовать следующее решение

Скопируйте свой gradle-->binпуть и добавьте его в system environment variable path.

В моем случае путь Gradle

C:\Users\username\.gradle\wrapper\dists\gradle-3.3-all\55gk2rcmfc6p2dg9u9ohc3hw9\gradle-3.3\bin

Это решение сработало для меня.

Maheshvirus
источник
6

На Ubuntu 18.04 я установил gradle с помощью:

sudo add-apt-repository ppa:cwchien/gradle
sudo apt-get update
sudo apt-get install gradle

И готово.

Овидио
источник
1
Вам действительно нужна первая строка в Ubuntu 18.04?
Елшев
3
Здравствуйте, Джо, хороший вопрос, в репозиториях Ubuntu версия 3.4.1, но в репозитории ppa: cwchien / gradle версия 5.0. Не обязательно использовать первую строку, но важно установить последнюю версию.
Овидио
3

Если вы не хотите явно устанавливать gradle только для решения этой проблемы, вы можете преодолеть это, выполнив обходной путь, как указано ниже:

  1. Найдите check_reqs.jsфайл в папке платформы \ android \ cordova \ lib
  2. Отредактируйте остальную часть androidStudioPathпеременной проверки нуля в get_gradle_wrapperфункции, как показано ниже:

Существующий код:

else { //OK, let's try to check for Gradle! return forgivingWhichSync('gradle'); }

Модифицированный код:

else { //OK, let's try to check for Gradle! var sdkDir = process.env['ANDROID_HOME']; return path.join(sdkDir, 'tools', 'templates', 'gradle', 'wrapper', 'gradlew'); }

ПРИМЕЧАНИЕ. Это изменение необходимо выполнять каждый раз, когда платформа Android удаляется и повторно добавляется.

ОБНОВЛЕНИЕ: вышеупомянутое решение будет работать до версии Android Cordova 6.3.0. Для Cordova Android 6.4.0 и выше, Gradle должен быть установлен как отдельная зависимость. Пожалуйста, найдите примечания к выпуску Cordova Android 6.4.0 для получения дополнительной информации об этом.

Ганди
источник
Может ли кто-нибудь дать мне знать, почему этот ответ опущен?
Ганди
это не решает проблему, установите Gradle и установите путь
rashidnk
@rashidnk попробовал это в моем CLI Cordova, и он работает после этой настройки. Не могли бы вы объяснить, что именно вы пытались, а что не получилось?
Ганди
хорошо, но я не понизил голосование, я попробовал ваше решение, но оно не заработало, после установки gradle и установки переменной пути это сработало
rashidnk
@rashidnk проверь это, где ответ принят - stackoverflow.com/questions/43356833/…
Ганди
2

Просто установите Gradle через командную строку. Если вы используете Mac, попробуйте

brew install gradle
Кулдип Кумар
источник
1

Я решаю эту проблему

Загрузите gradle.zipс этого сайта https://gradle.org/install . И следуйте инструкциям, указанным на сайте.

Затем откройте другой терминал cmd и выполните команду:

Cordova build android --prod --release
End
Рабах Марок M2I
источник
1

Прежде всего удалите ionic и cordova, затем установите переменные envarionment JAVA_HOME, ANDROID_HOMEа PATHзатем переустановите ionic cordova и добавьте платформу следующим образом:

$ sudo npm install -g ionic cordova

$ ionic platform add android

Ионик настроит пакеты gradle правильно.

Сайлас Бразилия
источник
4
Мое изменение было отклонено ... поэтому я публикую в качестве комментария: npmключевое слово отсутствует после sudoпервой строки вашего кода.
Адриен Тома
1

В Arch Linux / Manjaro: sudo pacman -S gradle

Марсело Агимовель
источник
1

Я нахожусь на Microsoft Windows:

Я столкнулся с этой ошибкой после обновления Android Studio с 2.3.3 до 3.0 . Я решил эту проблему, изменив путь к gradle в переменной среды PATH, которая теперь называется « gradle-4.1 » для Android Studio 3.0 (ранее это была «gradle-3.2» для Android Studio 2.3.3 )

Кок Вай Вонг
источник
1

Для пользователей Windows:

Set-ExecutionPolicy RemoteSigned -scope CurrentUser
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
scoop install gradle
Quezako
источник
1

Я переместил путь к папке Android на другой путь и принял эту ошибку.

Я решил эту проблему ниже.

Я был изменен на Gradle путь в системных переменных. Но не путь в пользовательских переменных. Вы должны перейти к пути в системных переменных

Скриншот это

Альтернативный скриншот это

Метин СЕВИНДИК
источник
1
brew install gradle

Короче говоря, это сэкономит время :) Ионная команда, пожалуйста, исправьте это

Мадхуп Сингх Ядав
источник
0

Просто установите Android Studio и выберите папку SDK в качестве папки SDK по умолчанию для Android Studio, а затем Android Studio восстановить всю область повреждения и скачать необходимые файлы.

Приятного Кармакара
источник
0

Загрузите последнюю версию gradle с https://gradle.org/install и установите путь к gradle до bin в переменной PATH и путь экспорта в каталог, в котором вы работаете

пример: экспорт PATH = / home / abc / android-sdk-linux / tools: / home / abc / android-sdk-linux / platform-tools: / home / abc / android-sdk-linux / tools: / home / abc /android-sdk-linux/platform-tools:/home/abc/Downloads/gradle-4.4.1/bin

Я провел весь день, чтобы решить эту проблему, и в конечном итоге это решение сработало для меня,

Мандип Сингх
источник
0

Вы также получите эту ошибку, если вы находитесь в Windows, и путь к вашему проекту содержит круглые скобки. например. "Cordova (что-то)".

(По крайней мере, пока эта проблема не будет устранена.)

Линдсая-потребность-сон
источник
-3

@ Ганди: Может кто-нибудь дать мне знать, почему этот ответ опущен? Да почему? Это наконец решило эту проблему ...

На мой взгляд, есть ошибка, когда gradle или sdk или android studio установлены в другом каталоге, чем стандартный. У меня есть S: \ android \ Android Studio и S: \ android \ sdk.

Решение от Ghandi установило gradle где-то еще раз, но я был очень доволен этим: еще один или два «gradle» больше не причиняют мне боль

Пьетро Молина
источник
2
Пожалуйста, не добавляйте комментарии в качестве ответов. Потратьте некоторое время на сайт, и вы получите достаточные привилегии, чтобы высказать ответы, которые вам нравятся, или добавлять актуальные комментарии при поиске разъяснений по любым вопросам.
DaveP