Помилка: не вдалося знайти обгортку 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.