Помилка: не вдалося знайти обгортку gradle в Android SDK. Можливо, потрібно оновити Android SDK - Android


199

Я знаю, що існує багато питань, подібних до цього, але я не зміг знайти рішення для своєї проблеми в жодному з них. Крім того, я надам деталі для мого конкретного випадку.

Я зашифрував проект Ionic в Ubuntu 16.04 LTS, і тепер мені потрібно створити його для випуску. Тому я запускаю команду:

cordova build --release android

І мені показують таку помилку:

Error: Could not find gradle wrapper within Android SDK. Might need to update your Android SDK.
Looked here: /home/user/Android/Sdk/tools/templates/gradle/wrapper
  • У мене немає цього templates/gradle/wrapperкаталогу.
  • Моя Android Studio 2.3, остання версія на даний момент
  • Android SDK Platform-Tools 25.0.3
  • Інструменти Android SDK 25.3.1
  • Усі версії Android від 2.1 (Eclair) до 7.1.1 (Nougat)

Після широких досліджень я помістив у файл усі змінні середовища Android Studio /etc/environment. Тож тепер це виглядає так:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/game:/home/<user>/Android/Sdk:/home/<user>/Android/Sdk/tools:/home/<user>/Android/Sdk/platform-tools"

ANDROID_HOME=/home/<user>/Android/Sdk
export ANDROID_HOME

JAVA_HOME=/usr/lib/jvm/java-8-oracle
export JAVA_HOME

GRADLE_HOME=/opt/android-studio/gradle/gradle-3.2
export GRADLE_HOME

Тепер, для тестування змінних оточення, я запускаю такі команди:

source /etc/environment
echo $PATH
echo $ANDROID_HOME
echo $JAVA_HOME
echo $GRADLE_HOME

І всі змінні шляху правильно відображені.

Отже, схоже, що змінні середовища є такими, якими вони повинні бути відповідно до різних подібних питань та в навчальних посібниках, які я шукав. Хтось знає, що я роблю неправильно? Чому я все-таки отримую помилку Gradle Wrapper?

Відповіді:


246

Я просто пережив ту ж проблему.

Це може бути оклюзія в інструкціях щодо того, як встановити (або оновити) Android Studio з усіма інструментами SDK, які ви і я пропустили, або можливо помилка, створена новим випуском Studio, який не відповідає тим же умовам файлів, що і старіші версії. Я схиляюся до останнього, оскільки багато публікацій SO на цю тему, схоже, вказують на ANDROID_PATH з папкою під назвою android-sdk, яка не з’являється в останній версії (2.3.0.8).

Однак, здається, існує вирішення , яке я щойно почав працювати над своєю машиною. Ось що я зробив:

  • Завантажте tools_r25.2.3-windows.zip з Android Downloads .
  • Витягнута блискавка на робочому столі
  • Замінено C: \ Users \ username \ AppData \ Local \ Android \ sdk \ інструменти з вилученими інструментами підпапок /
  • У папці проекту:

    $ cordova платформи видалити android
    $ cordova платформи додають android

Можливо, вам також доведеться змусити видалити node_modules в android. Сподіваємось, це допомагає.


1
THX, я потрапив у пастку того ж явища, тепер відновив своє оточення вашим засобом. Я думаю, що це вина Google, тому розробники кабелів чекатимуть наступного, виправленого оновлення.
— HirofumiTamori

1
Мав точно таке саме питання. Зниження "Інструментів Android SDK" 25.2.3, що вирішило проблему. Напевно, ми повинні чекати оновлення від команди Google / Android.
— gregor

3
Заміна лише папки інструментів для мене зробила трюк. Не потрібно було видаляти та додавати платформу.
— vahissan

16
Дуже корисно, що для Mac ви можете зробити те саме, крім завантаження інструментів для Windows, ви завантажуєте з Mac за цією адресою: dl.google.com/android/repository/tools_r25.2.3-macosx.zip
— О. Едгольм

14
До оригінального файлу можна ознайомитися безпосередньо тут: dl.google.com/android/repository/…
— Advocate Devil's

254

Редагувати 3:

Випущено Cordova Android 6.2.2, який повністю сумісний з інструментами SDK 26.0.x та 25.3.1. Використовуйте цю версію:

cordova platform update android@6.2.2

або

cordova platform rm android
cordova platform add android@6.2.2

Редагувати 2:

Був ще один випуск інструментів Android SDK (26.0.x), який не повністю сумісний з cordova-android 6.2.1.

Редагувати: Cordova Android 6.2.1 було випущено, і тепер вона сумісна з останньою версією SDK для Android.

Ви можете оновити свою поточну несумісну платформу Android cordova platform update android@6.2.1

Або ви можете видалити існуючу платформу та додати нову (видалить будь-які зміни вручну, які ви зробили всередині yourProject/platforms/android/папки)

cordova platform rm android cordova platform add android@6.2.1

Ви повинні вказати версію, оскільки поточний CLI встановлює 6.1.x за замовчуванням.

Стара відповідь:

На жаль інструменти Android SDK 25.3.1 зламали cordova-android 6.1.x

Для тих, хто не хоче знижувати інструменти SDK, ви можете встановити cordova-android з URL-адреси github, оскільки більшість проблем уже вирішено на головній гілці.

cordova platform add https://github.com/apache/cordova-android


7
Випуск зараз у npm-сховищах, хоча він, схоже, ще не використовується автоматично. cordova platform add android@6.2.0працює, хоча.
— Жуль

3
@chrjs cordova platform add android@6.2.3безпечний для використання зараз, вам не потрібно додавати версію github, і це може бути нестабільно, краще скористайтеся 6.2.3 як остання випущена
— jcesarmobile

1
Я на Cordova 7.0.1, і я отримую помилку: Error: Could not find gradle wrapper within Android SDK. Might need to update your Android SDK.Будь-яка порада?
— Етан Келлер

1
@EthanKeller, але у вас раніше була додана платформа Android? Якщо це так, вийміть його cordova platform rm androidповторноcordova platform add android
— jcesarmobile

1
Чому б не просто android@latest?
— Seanny123

56

(В основному те, що @ user3464070 вже сказав)

Для Mac:

cd ~/Library/Android/sdk
# download latest tools
curl -O https://dl.google.com/android/repository/tools_r25.2.3-macosx.zip
# overwrite existing tools folder without prompting
unzip -o tools_r25.2.3-macosx.zip
# clean up
rm tools_r25.2.3-macosx.zip

1
Перший рядок може бути cd $ANDROID_HOMEдля простоти?
— toxaq

1
@toxaq може бути, але $ANDROID_HOMEне визначено на моїй машині.
— basecode

2
THX багато. ваші команди + за допомогою android@6.1.2 працюють як шарм на mac!
— Девід Даль Буско

43
  1. Якщо у вас в системі встановлена ​​андроїд-студія, скопіюйте папку шаблонів із C:\Program Files\Android\Android Studio\plugins\android\lib\templates
  2. Вставте його в папку C:\Users\<user-name>\AppData\Local\Android\sdk\tools
  3. Виконайте команду: ionic build android

Будуть завантажені всі необхідні файли jar та буде створено apk-файл для програми.

Примітка. Встановіть змінні середовища на C:\Users\<user-name>\AppData\Local\Android\sdk\tools. Також встановіть ім’я користувача для вашого поточного імені користувача.


1
Просте і легке рішення!
— Ярі Пеккала

1
Це просте та економічне рішення для тих, хто має Android Studio.
— Джонсон

1
це насправді працювало для мене .. коли інших рішень не було. Дуже погано, здається, це залежить від версії студії cordova / ionic / sdk / android
— Kaddath,

1
Станом на 2018 рік і працюючи з двома різними версіями Кордови, я можу поручитися за це рішення як таке, яке працює і не потребує додаткових завантажень.
— ravemir

26

Для Linux є навіть трохи краще рішення.

Перейдіть до https://developer.android.com/studio/index.html#downloads

та завантажте zip-файл інструментів командного рядка (внизу сторінки) для Linux. Витягніть їх у свою папку .... / Android / Sdk /, щоб перезаписати / розширити папку інструментів. Зараз все працює добре.


Так, RJ відповів на вирішення проблеми Windows, і ваша відповідь - це рішення Linux. Корисно для тих, хто не знає, як вирішити Windows ' C:\Users\username\AppData\Local\Android\sdk\toolsдо Ubuntu's/home/user/Android/Sdk
— rbenvenuto

@rbenvenuto Відповіді в основному однакові. Завантажте інструменти, витягніть папку zip та збережіть витягнутий вміст у папку інструментів idk. Наскільки важко це зрозуміти? Я використовую Mac і заощаджую до ~ / Бібліотека / Android / sdk / інструменти Потрібно, чи я вкраду чиїсь голоси, щоб пояснити те ж саме різними словами?
— iOSAndroidWindowsMobileAppsDev

4
@Anon Yep, не можу заперечити його відповідь було майже однакове пояснення різними словами. Але я можу побачити деяку цінність у цій боротьбі для початківців, таких як я,
— хаха

попередні версії більше не доступні в developer.android.com
— Ferdinand.kraft

21

Для всіх, хто все ще має цю проблему, для мене це спрацювало:

    cordova platform update android@latest

потім будуйте, і він автоматично завантажить найновішу версію gradle і повинна працювати


2
+1 Це працює як @ серпень 2017 року, і оновить вас cordova-android@6.2.3. Старі відповіді можуть бути, а можуть і не працювати, або бути правильними. Ця ситуація постійно змінюється і безпосередньо спричинена тим, що Android SDK 25.3.1 скидає підтримку бінарного андроїда, як описано тут: cordova.apache.org/announcements/2017/04/05/…
— JK.

1
Я все ще працюю з березня 2018 року. Я не створюю нових проектів на кордоні часто, це перший з мого попереднього коментаря. У ній була така ж could not find gradle wrapperпомилка. Мені довелося знову шукати рішення на SO. Це виправлення за проектом, має застосовуватися до кожного нового проекту, який ви створюєте. Якщо я міг би подякувати два рази, це вже вдруге ця відповідь врятувала мене.
— Ж.К.

14

Не потрібно знижувати інструменти Android. У Windows Gradle перемістився з:

C:\Users\you_username\AppData\Local\Android\sdk\tools

до:

C:\Program Files\Android\Android Studio\plugins\android\lib\templates\gradle\wrapper

Тому вам просто потрібно відкоригувати свій шлях так, щоб він вказував на потрібну папку.


6
Я зробив навпаки, перемістивши обгортку на свою AppData, і це прекрасно працює! Спасибі ^ _ ^
— Nicolas_LeBot


Скопіюйте вміст папки обгортки з цього шляху C: \ Program Files \ Android \ Android Studio \ plugins \ android \ lib \ templates \ gradle \ wrapper в C: / Android / Sdk / tools / templates / gradle / wrapper
— надихнувMichael

9

якщо у вас є ця помилка, коли ви ionic run android --device

## codova - android update 
npm install -g cordova
cordova platform update android

7

Просто скопіювали все із типової установки Android Studio. Від: D: \ sw \ dev \ android \ studio \ plugins \ android \ lib \ шаблони

(весь каталог шаблонів)

До:

D: \ sw \ dev \ android \ sdk \ tools

Тестували з іонним нарощуванням андроїда


Це було рішення в моєму випадку. Після цього рішення ви можете отримати ліцензійне повідомлення. Дивіться stackoverflow.com/questions/40383323/…
— JonathanRomer

6

Ця проблема виникає, коли у ваших інструментів SDK немає обгортки gradle.

Як і попередні відповіді сказали, ви можете оновити до останньої cordova-androidверсії (вона працює), але якщо ви хочете продовжувати працювати з cordova-cli@6.4.0і cordova-android@6.0.0просто скопіювати папку з андроїда студії екс.;

cd /Applications/Android\ Studio.app/Contents/plugins/android/lib/
cp -r templates/ $ANDROID_HOME/tools/templates
chmod +x $ANDROID_HOME/tools/templates/gradle/wrapper/gradlew

У моєму випадку я використовую cordova-plugin-fcmі він був протестований із старою версією cordova-android, тому я не можу використовувати cordova-android@2.x(поки що).


5

Для Linux просто зробіть симпосилання, наприклад:

ln -s /android/android-studio/plugins/android/lib/templates /android/sdk/tools/templates

Не тестував рішення symlink, але в моїй системі /opt/android-studio/plugins/android/lib/templates/gradle/wrapper/gradlewнемає дозволу на виконання. Обов’язково chmod це перед тим, як спробувати.
— Ferdinand.kraft

У мене немає шаблону / папки під sdk/tools.
— PlayHardGoPro

5

У Linux (Ubuntu в моєму випадку) просто встановіть gradle:

sudo apt-get install gradle

Редагувати: Схоже, що ubuntu repo має лише ступінь 2.10, для новіших версій: https://www.vultr.com/docs/how-to-install-gradle-on-ubuntu-16-10


1
Жодне з перерахованих вище рішень не працювало для мене. Я використовую останню версію cordova 7.0.1. Встановлення gradle з ubuntu repo вирішило проблему. Його 2017 рік і досі Кордова не знає використовувати вбудовану студію Android студії
— sziraqui

3

Нещодавно я також зіткнувся з подібною проблемою, і після цього я працював:

Я редагував файл у /etc/profile

sudo nano /etc/profile

export JAVA_HOME=/home/abdul/java/jdk1.8.0_131
export PATH=$PATH:$JAVA_HOME/bin

export ANDROID_HOME=/home/abdul/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools

export GRADLE_ANDROID_HOME=/home/abdul/android-studio/gradle
export PATH=$PATH:$GRADLE_ANDROID_HOME/gradle-3.2/bin
export PATH=$PATH:$GRADLE_ANDROID_HOME/m2repository

Інша інформація (про всяк випадок):

Не зовсім впевнений у m2repositoryчастині, у першій спробі вона передає grandle, але є ще одна помилка (gradlew-command-failed-with-exit-code-

  1. Я перевіряю, чи в андроїд-студії репозиторій активний, і він не активний, я намагаюся його активувати, і коли я спробую його ще раз (Cordova build Android), він завантажує кілька інших файлів, можливо, із сховища? А потім, коли я видаляю шлях, він все одно працює. (також завдяки зразку Марцина Орловського, тож я можу краще зрозуміти про експортний шлях).

Я використовую:

  • Linux Mint Serena
  • вузол: v6.10.3
  • нмм: 3.10.10
  • Кордова: 7.0.0
  • Android Studio: 2.3.1
  • Android SDK-платформа-інструменти: 25.0.5
  • Інструменти Android SDK: 26.0.2

Сподіваюся, це може допомогти всім, хто може мати таку ж проблему, як і моя, і потребує цього.

Дякую




2

Жодне з рішень не працювало для мене станом на сьогодні. Моя ситуація полягала в тому, що я оновлював свою студію Android. Найпопулярніша річ, щоб замінити папку інструментів на останню, для мене не підійде. Інфакт в деяких випадках не потрібен.

npm update -g cordova зробив трюк для мене.

Потім я зняв платформу і знову додав її.

ionic platform remove android

ionic platform add android

Це працює для мене в Ionic. Я впевнений, що cordova platform remove/add androidбуду робити те саме. Хоча не перевірено.

Робота знову!


2

Спробувавши все тут двічі в різному порядку, я перевстановив усе і, перш ніж робити, cordova platform add androidя пішов templates/gradleі біг gradlew.bat. Після цього завершив, я міг без проблем додати платформу Android.



0

Виконати:

cordova platform update android@6.1.2

І переконайтеся, що оточення Android Studio та Android Studio змінюються на одне місце.

Виправляю це, копіюючи Android Studio з:

D:\Program Files\Android

до

C:\Program Files\Android

0

Після оновлення cordova до 7.0.x шлях gradle було змінено, як обговорювалося вище. Щоб змусити його працювати до виходу офіційного виправлення, просто вручну встановіть gradle та встановіть його у своєму середовищі.

  1. Перейдіть на сторінку https://gradle.org/install та завантажте пакунки Binary
  2. Розпакуйте його, запам'ятайте шлях, напр., Мій за адресою: E: \ Gradle
  3. Встановіть змінні середовища, як в Windows, додайте E: \ Gradle \ bin

Це воно.


0

Після такої ж проблеми просто перейменуйте ім'я пакета в config.xml, атрибут id з іменем без "-" всередині ...

тобто

com.web-projet.appname

перейменовано на:

com.webprojet.appname

і все було правильно ...

Якщо це допомагає.



0

Я використовую Ubuntu 16.04, і для мене він працював лише за допомогою двох команд: -

ionic cordova platform rm android
ionic cordova platform add android@6.3.0

-1

Легке та просте рішення для MAC

Моє питання було

cordova build android
ANDROID_HOME=/Users/jerilkuruvila/Library/Android/sdk
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home
Error: Could not find gradle wrapper within Android SDK. Might need to update your Android SDK.
Looked here: /Users/jerilkuruvila/Library/Android/sdk/tools/templates/gradle/wrapper

Рішення

jerilkuruvila@Jerils-ENIAC tools $ cd templates
-bash: cd: mkdir: No such file or directory
jerilkuruvila@Jerils-ENIAC tools $ mkdir templates
jerilkuruvila@Jerils-ENIAC tools $ cp -rf gradle templates/
jerilkuruvila@Jerils-ENIAC tools $ chmod a+x templates/

cordova build android знову працює зараз !!!


1
Ви це пояснюєте? Чому трапляється?
— wilfredonoyola
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.